zed/Cargo.lock

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

14699 lines
314 KiB
Plaintext
Raw Normal View History

# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "activity_indicator"
version = "0.1.0"
2023-11-30 04:18:21 +03:00
dependencies = [
"anyhow",
"auto_update",
"editor",
"extension",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"project",
2023-11-30 04:18:21 +03:00
"smallvec",
"ui",
"workspace",
2023-11-30 04:18:21 +03:00
]
[[package]]
name = "addr2line"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
dependencies = [
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
"gimli 0.29.0",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "adler2"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "aes"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
dependencies = [
"cfg-if",
"cipher",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"cpufeatures",
"zeroize",
]
[[package]]
name = "ahash"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
dependencies = [
"getrandom 0.2.15",
"once_cell",
"version_check",
]
[[package]]
name = "ahash"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"const-random",
"once_cell",
"version_check",
"zerocopy",
]
[[package]]
name = "aho-corasick"
Update Rust crate aho-corasick to v1.1.3 (#15137) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [aho-corasick](https://togithub.com/BurntSushi/aho-corasick) | workspace.dependencies | patch | `1.1.1` -> `1.1.3` | --- ### Release Notes <details> <summary>BurntSushi/aho-corasick (aho-corasick)</summary> ### [`v1.1.3`](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.2...1.1.3) [Compare Source](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.2...1.1.3) ### [`v1.1.2`](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.1...1.1.2) [Compare Source](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.1...1.1.2) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/zed-industries/zed). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjbGEtc2lnbmVkIl19--> Release Notes: - N/A Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 06:01:55 +03:00
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate aho-corasick to v1.1.3 (#15137) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [aho-corasick](https://togithub.com/BurntSushi/aho-corasick) | workspace.dependencies | patch | `1.1.1` -> `1.1.3` | --- ### Release Notes <details> <summary>BurntSushi/aho-corasick (aho-corasick)</summary> ### [`v1.1.3`](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.2...1.1.3) [Compare Source](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.2...1.1.3) ### [`v1.1.2`](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.1...1.1.2) [Compare Source](https://togithub.com/BurntSushi/aho-corasick/compare/1.1.1...1.1.2) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/zed-industries/zed). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjbGEtc2lnbmVkIl19--> Release Notes: - N/A Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 06:01:55 +03:00
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
dependencies = [
"memchr",
]
[[package]]
name = "alacritty_terminal"
version = "0.24.1-dev"
source = "git+https://github.com/alacritty/alacritty?rev=91d034ff8b53867143c005acfaa14609147c9a2c#91d034ff8b53867143c005acfaa14609147c9a2c"
dependencies = [
"base64 0.22.1",
"bitflags 2.6.0",
2023-07-27 19:19:07 +03:00
"home",
"libc",
"log",
"miow",
"parking_lot",
"piper",
"polling 3.7.3",
"regex-automata 0.4.7",
"rustix-openpty",
"serde",
"signal-hook",
"unicode-width",
"vte",
"windows-sys 0.52.0",
]
[[package]]
name = "aliasable"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
[[package]]
name = "aligned-vec"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1"
2023-07-07 21:24:29 +03:00
[[package]]
name = "allocator-api2"
version = "0.2.18"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
2023-07-07 21:24:29 +03:00
[[package]]
name = "alsa"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43"
dependencies = [
"alsa-sys",
"bitflags 2.6.0",
"cfg-if",
"libc",
]
[[package]]
name = "alsa-sys"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527"
dependencies = [
"libc",
"pkg-config",
]
[[package]]
name = "ambient-authority"
version = "0.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9d4ee0d472d1cd2e28c97dfa124b3d8d992e10eb0a035f33f5d12e3a177ba3b"
[[package]]
name = "ammonia"
version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ab99eae5ee58501ab236beb6f20f6ca39be615267b014899c89b2f0bc18a459"
dependencies = [
"html5ever",
"maplit",
"once_cell",
"tendril",
"url",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "android-tzdata"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
2022-10-13 01:39:04 +03:00
[[package]]
name = "android_system_properties"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
dependencies = [
"libc",
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "anes"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "anstream"
version = "0.6.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"is_terminal_polyfill",
"utf8parse",
]
2023-06-21 19:48:09 +03:00
[[package]]
name = "anstyle"
version = "1.0.8"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
2023-06-21 19:48:09 +03:00
[[package]]
name = "anstyle-parse"
version = "0.2.5"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
2023-06-21 19:48:09 +03:00
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.1.1"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
2023-06-21 19:48:09 +03:00
dependencies = [
"windows-sys 0.52.0",
2023-06-21 19:48:09 +03:00
]
[[package]]
name = "anstyle-wincon"
version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
dependencies = [
"anstyle",
"windows-sys 0.52.0",
]
[[package]]
name = "anthropic"
version = "0.1.0"
dependencies = [
"anyhow",
"chrono",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"http_client",
"isahc",
"schemars",
"serde",
"serde_json",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"thiserror",
"tokio",
"util",
]
[[package]]
name = "any_vec"
2024-07-25 12:38:09 +03:00
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2024-07-25 12:38:09 +03:00
checksum = "34cd60c5e3152cef0a592f1b296f1cc93715d89d2551d85315828c3a09575ff4"
[[package]]
name = "anyhow"
version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
[[package]]
name = "approx"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
dependencies = [
"num-traits",
]
[[package]]
name = "arbitrary"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
[[package]]
name = "arg_enum_proc_macro"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "arrayref"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a"
[[package]]
name = "arrayvec"
Update Rust crate arrayvec to v0.7.6 (#16614) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [arrayvec](https://togithub.com/bluss/arrayvec) | dependencies | patch | `0.7.4` -> `0.7.6` | --- ### Release Notes <details> <summary>bluss/arrayvec (arrayvec)</summary> ### [`v0.7.6`](https://togithub.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#076) [Compare Source](https://togithub.com/bluss/arrayvec/compare/0.7.5...0.7.6) - Fix no-std build [#&#8203;274](https://togithub.com/bluss/arrayvec/pull/274) ### [`v0.7.5`](https://togithub.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#075) [Compare Source](https://togithub.com/bluss/arrayvec/compare/0.7.4...0.7.5) - Add `as_ptr` and `as_mut_ptr` to `ArrayString` [@&#8203;YuhanLiin](https://togithub.com/YuhanLiin) [#&#8203;260](https://togithub.com/bluss/arrayvec/pull/260) - Add borsh serialization support by [@&#8203;honzasp](https://togithub.com/honzasp) and [@&#8203;Fuuzetsu](https://togithub.com/Fuuzetsu) [#&#8203;259](https://togithub.com/bluss/arrayvec/pull/259) - Move length field before before data in ArrayVec and ArrayString by [@&#8203;JakkuSakura](https://togithub.com/JakkuSakura) [#&#8203;255](https://togithub.com/bluss/arrayvec/pull/255) - Fix miri error for ZST case in extend by [@&#8203;bluss](https://togithub.com/bluss) - implement AsRef<Path> for ArrayString by [@&#8203;Zoybean](https://togithub.com/Zoybean) [#&#8203;218](https://togithub.com/bluss/arrayvec/pull/218) - Fix typos in changelog by [@&#8203;striezel](https://togithub.com/striezel) [#&#8203;241](https://togithub.com/bluss/arrayvec/pull/241) - Add `as_slice`, `as_mut_slice` methods to `IntoIter` by [@&#8203;clarfonthey](https://togithub.com/clarfonthey) [#&#8203;224](https://togithub.com/bluss/arrayvec/pull/224) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 15:53:27 +03:00
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate arrayvec to v0.7.6 (#16614) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [arrayvec](https://togithub.com/bluss/arrayvec) | dependencies | patch | `0.7.4` -> `0.7.6` | --- ### Release Notes <details> <summary>bluss/arrayvec (arrayvec)</summary> ### [`v0.7.6`](https://togithub.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#076) [Compare Source](https://togithub.com/bluss/arrayvec/compare/0.7.5...0.7.6) - Fix no-std build [#&#8203;274](https://togithub.com/bluss/arrayvec/pull/274) ### [`v0.7.5`](https://togithub.com/bluss/arrayvec/blob/HEAD/CHANGELOG.md#075) [Compare Source](https://togithub.com/bluss/arrayvec/compare/0.7.4...0.7.5) - Add `as_ptr` and `as_mut_ptr` to `ArrayString` [@&#8203;YuhanLiin](https://togithub.com/YuhanLiin) [#&#8203;260](https://togithub.com/bluss/arrayvec/pull/260) - Add borsh serialization support by [@&#8203;honzasp](https://togithub.com/honzasp) and [@&#8203;Fuuzetsu](https://togithub.com/Fuuzetsu) [#&#8203;259](https://togithub.com/bluss/arrayvec/pull/259) - Move length field before before data in ArrayVec and ArrayString by [@&#8203;JakkuSakura](https://togithub.com/JakkuSakura) [#&#8203;255](https://togithub.com/bluss/arrayvec/pull/255) - Fix miri error for ZST case in extend by [@&#8203;bluss](https://togithub.com/bluss) - implement AsRef<Path> for ArrayString by [@&#8203;Zoybean](https://togithub.com/Zoybean) [#&#8203;218](https://togithub.com/bluss/arrayvec/pull/218) - Fix typos in changelog by [@&#8203;striezel](https://togithub.com/striezel) [#&#8203;241](https://togithub.com/bluss/arrayvec/pull/241) - Add `as_slice`, `as_mut_slice` methods to `IntoIter` by [@&#8203;clarfonthey](https://togithub.com/clarfonthey) [#&#8203;224](https://togithub.com/bluss/arrayvec/pull/224) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 15:53:27 +03:00
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "as-raw-xcb-connection"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
[[package]]
name = "ascii"
2022-10-13 01:39:04 +03:00
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
[[package]]
name = "ash"
version = "0.38.0+1.3.281"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f"
dependencies = [
"libloading",
]
[[package]]
name = "ash-window"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52bca67b61cb81e5553babde81b8211f713cb6db79766f80168f3e5f40ea6c82"
dependencies = [
"ash",
"raw-window-handle",
"raw-window-metal",
]
[[package]]
name = "ashpd"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfe7e0dd0ac5a401dc116ed9f9119cf9decc625600474cb41f0fc0a0050abc9a"
dependencies = [
"async-fs 2.1.2",
"async-net 2.0.0",
"enumflags2",
"futures-channel",
"futures-util",
"rand 0.8.5",
"serde",
"serde_repr",
"url",
"zbus",
]
[[package]]
name = "assets"
version = "0.1.0"
dependencies = [
"anyhow",
"gpui",
"rust-embed",
]
2023-09-22 04:54:59 +03:00
[[package]]
name = "assistant"
version = "0.1.0"
2023-12-05 18:49:36 +03:00
dependencies = [
"anthropic",
2023-12-05 18:49:36 +03:00
"anyhow",
"assets",
"assistant_slash_command",
"assistant_tool",
"async-watch",
"cargo_toml",
2023-12-05 18:49:36 +03:00
"chrono",
"client",
"clock",
2023-12-05 18:49:36 +03:00
"collections",
"command_palette_hooks",
context_servers: Add initial implementation (#16103) This commit proposes the addition of "context serveres" and the underlying protocol (model context protocol). Context servers allow simple definition of slash commands in another language and running local on the user machines. This aims to quickly prototype new commands, and provide a way to add personal (or company wide) customizations to the assistant panel, without having to maintain an extension. We can use this to reuse our existing codebase, with authenticators, etc and easily have it provide context into the assistant panel. As such it occupies a different design space as extensions, which I think are more aimed towards long-term, well maintained pieces of code that can be easily distributed. It's implemented as a central crate for easy reusability across the codebase and to easily hook into the assistant panel at all points. Design wise there are a few pieces: 1. client.rs: A simple JSON-RPC client talking over stdio to a spawned server. This is very close to how LSP work and likely there could be a combined client down the line. 2. types.rs: Serialization and deserialization client for the underlying model context protocol. 3. protocol.rs: Handling the session between client and server. 4. manager.rs: Manages settings and adding and deleting servers from a central pool. A server can be defined in the settings.json as: ``` "context_servers": [ {"id": "test", "executable": "python", "args": ["-m", "context_server"] ] ``` ## Quick Example A quick example of how a theoretical backend site can look like. With roughly 100 lines of code (nicely generated by Claude) and a bit of decorator magic (200 lines in total), one can come up with a framework that makes it as easy as: ```python @context_server.slash_command(name="rot13", description="Perform a rot13 transformation") @context_server.argument(name="input", type=str, help="String to rot13") async def rot13(input: str) -> str: return ''.join(chr((ord(c) - 97 + 13) % 26 + 97) if c.isalpha() else c for c in echo.lower()) ``` to define a new slash_command. ## Todo: - Allow context servers to be defined in workspace settings. - Allow passing env variables to context_servers Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-08-15 17:49:30 +03:00
"context_servers",
2023-12-05 18:49:36 +03:00
"ctor",
"db",
"editor",
"env_logger",
"feature_flags",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"globset",
"gpui",
"handlebars 4.5.0",
"heed",
"html_to_markdown 0.1.0",
"http_client",
"indexed_docs",
2023-12-05 18:49:36 +03:00
"indoc",
"language",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"language_model",
2023-12-05 18:49:36 +03:00
"log",
"markdown",
"menu",
"multi_buffer",
Ollama Provider for Assistant (#12902) Closes #4424. A few design decisions that may need some rethinking or later PRs: * Other providers have a check for authentication. I use this opportunity to fetch the models which doubles as a way of finding out if the Ollama server is running. * Ollama has _no_ API for getting the max tokens per model * Ollama has _no_ API for getting the current token count https://github.com/ollama/ollama/issues/1716 * Ollama does allow setting the `num_ctx` so I've defaulted this to 4096. It can be overridden in settings. * Ollama models will be "slow" to start inference because they're loading the model into memory. It's faster after that. There's no UI affordance to show that the model is being loaded. Release Notes: - Added an Ollama Provider for the assistant. If you have [Ollama](https://ollama.com/) running locally on your machine, you can enable it in your settings under: ```jsonc "assistant": { "version": "1", "provider": { "name": "ollama", // Recommended setting to allow for model startup "low_speed_timeout_in_seconds": 30, } } ``` Chat like usual <img width="1840" alt="image" src="https://github.com/zed-industries/zed/assets/836375/4e0af266-4c4f-4d9e-9d74-1a91f76a12fe"> Interact with any model from the [Ollama Library](https://ollama.com/library) <img width="587" alt="image" src="https://github.com/zed-industries/zed/assets/836375/87433ac6-bf87-4a99-89e1-96a93bf8de8a"> Open up the terminal to download new models via `ollama pull`: ![image](https://github.com/zed-industries/zed/assets/836375/af7ec411-76bf-41c7-ba81-64bbaeea98a8)
2024-06-12 03:35:27 +03:00
"ollama",
"open_ai",
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
"ordered-float 2.10.1",
"parking_lot",
"paths",
"picker",
"project",
"proto",
2023-12-05 18:49:36 +03:00
"rand 0.8.5",
"regex",
"release_channel",
Allow the assistant to suggest edits to files in the project (#11993) ### Todo * [x] tuck the new system prompt away somehow * for now, we're treating it as built-in, and not editable. once we have a way to fold away default prompts, let's make it a default prompt. * [x] when applying edits, re-parse the edit from the latest content of the assistant buffer (to allow for manual editing of edits) * [x] automatically adjust the indentation of edits suggested by the assistant * [x] fix edit row highlights persisting even when assistant messages with edits are deleted * ~adjust the fuzzy search to allow for small errors in the old text, using some string similarity routine~ We decided to defer the fuzzy searching thing to a separate PR, since it's a little bit involved, and the current functionality works well enough to be worth landing. A couple of notes on the fuzzy searching: * sometimes the assistant accidentally omits line breaks from the text that it wants to replace * when the old text has hallucinations, the new text often contains the same hallucinations. so we'll probably need to use a more fine-grained editing strategy where we perform a character-wise diff of the old and new text as reported by the assistant, and then adjust that diff so that it can be applied to the actual buffer text Release Notes: - Added the ability to request edits to project files using the assistant panel. --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Nathan <nathan@zed.dev>
2024-05-18 01:38:14 +03:00
"rope",
2023-12-05 18:49:36 +03:00
"schemars",
"search",
"semantic_index",
2023-12-05 18:49:36 +03:00
"serde",
"serde_json",
"serde_json_lenient",
"settings",
"similar",
"smallvec",
2023-12-05 18:49:36 +03:00
"smol",
Update Rust crate sqlx to v0.8.1 [SECURITY] (#17102) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | patch | `0.8.0` -> `0.8.1` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | patch | `0.8.0` -> `0.8.1` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 20:38:07 +03:00
"strum 0.25.0",
"telemetry_events",
"terminal",
"terminal_view",
"text",
"theme",
"toml 0.8.19",
"ui",
Allow the assistant to suggest edits to files in the project (#11993) ### Todo * [x] tuck the new system prompt away somehow * for now, we're treating it as built-in, and not editable. once we have a way to fold away default prompts, let's make it a default prompt. * [x] when applying edits, re-parse the edit from the latest content of the assistant buffer (to allow for manual editing of edits) * [x] automatically adjust the indentation of edits suggested by the assistant * [x] fix edit row highlights persisting even when assistant messages with edits are deleted * ~adjust the fuzzy search to allow for small errors in the old text, using some string similarity routine~ We decided to defer the fuzzy searching thing to a separate PR, since it's a little bit involved, and the current functionality works well enough to be worth landing. A couple of notes on the fuzzy searching: * sometimes the assistant accidentally omits line breaks from the text that it wants to replace * when the old text has hallucinations, the new text often contains the same hallucinations. so we'll probably need to use a more fine-grained editing strategy where we perform a character-wise diff of the old and new text as reported by the assistant, and then adjust that diff so that it can be applied to the actual buffer text Release Notes: - Added the ability to request edits to project files using the assistant panel. --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Nathan <nathan@zed.dev>
2024-05-18 01:38:14 +03:00
"unindent",
2023-12-05 18:49:36 +03:00
"util",
"uuid",
"workspace",
"zed_actions",
2023-12-05 18:49:36 +03:00
]
[[package]]
name = "assistant_slash_command"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"derive_more",
"gpui",
"language",
"parking_lot",
"serde",
"workspace",
]
[[package]]
name = "assistant_tool"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"derive_more",
"gpui",
"parking_lot",
"serde",
"serde_json",
"workspace",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "async-attributes"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
dependencies = [
"quote",
"syn 1.0.109",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "async-broadcast"
Update Rust crate async-broadcast to v0.7.1 (#15142) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-broadcast](https://togithub.com/smol-rs/async-broadcast) | dependencies | patch | `0.7.0` -> `0.7.1` | --- ### Release Notes <details> <summary>smol-rs/async-broadcast (async-broadcast)</summary> ### [`v0.7.1`](https://togithub.com/smol-rs/async-broadcast/blob/HEAD/CHANGELOG.md#Version-071) [Compare Source](https://togithub.com/smol-rs/async-broadcast/compare/0.7.0...v0.7.1) - Add a `poll_recv()` method to the `Receiver` type. This allows for `Receiver` to be used in `poll`-based contexts. ([#&#8203;56](https://togithub.com/smol-rs/async-broadcast/issues/56)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 06:34:49 +03:00
version = "0.7.1"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate async-broadcast to v0.7.1 (#15142) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-broadcast](https://togithub.com/smol-rs/async-broadcast) | dependencies | patch | `0.7.0` -> `0.7.1` | --- ### Release Notes <details> <summary>smol-rs/async-broadcast (async-broadcast)</summary> ### [`v0.7.1`](https://togithub.com/smol-rs/async-broadcast/blob/HEAD/CHANGELOG.md#Version-071) [Compare Source](https://togithub.com/smol-rs/async-broadcast/compare/0.7.0...v0.7.1) - Add a `poll_recv()` method to the `Receiver` type. This allows for `Receiver` to be used in `poll`-based contexts. ([#&#8203;56](https://togithub.com/smol-rs/async-broadcast/issues/56)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 06:34:49 +03:00
checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"event-listener 5.3.1",
"event-listener-strategy",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-channel"
2023-07-11 21:50:48 +03:00
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-11 21:50:48 +03:00
checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
dependencies = [
"concurrent-queue",
"event-listener 2.5.3",
"futures-core",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "async-channel"
version = "2.3.1"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"concurrent-queue",
"event-listener-strategy",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-compat"
Update Rust crate async-compat to v0.2.4 (#15143) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-compat](https://togithub.com/smol-rs/async-compat) | dependencies | patch | `0.2.1` -> `0.2.4` | --- ### Release Notes <details> <summary>smol-rs/async-compat (async-compat)</summary> ### [`v0.2.4`](https://togithub.com/smol-rs/async-compat/blob/HEAD/CHANGELOG.md#Version-024) [Compare Source](https://togithub.com/smol-rs/async-compat/compare/v0.2.3...v0.2.4) - Derive `Clone` for `Compat`. ([#&#8203;27](https://togithub.com/smol-rs/async-compat/issues/27)) - Rather than spawning our own `tokio` runtime all of the time, reuse an existing runtime if possible. ([#&#8203;30](https://togithub.com/smol-rs/async-compat/issues/30)) ### [`v0.2.3`](https://togithub.com/smol-rs/async-compat/blob/HEAD/CHANGELOG.md#Version-023) [Compare Source](https://togithub.com/smol-rs/async-compat/compare/v0.2.2...v0.2.3) - Enter the `tokio` context while dropping wrapped `tokio` types. ([#&#8203;22](https://togithub.com/smol-rs/async-compat/issues/22)) ### [`v0.2.2`](https://togithub.com/smol-rs/async-compat/blob/HEAD/CHANGELOG.md#Version-022) [Compare Source](https://togithub.com/smol-rs/async-compat/compare/v0.2.1...v0.2.2) - Add `smol-rs` logo to the docs. ([#&#8203;19](https://togithub.com/smol-rs/async-compat/issues/19)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 06:33:02 +03:00
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate async-compat to v0.2.4 (#15143) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-compat](https://togithub.com/smol-rs/async-compat) | dependencies | patch | `0.2.1` -> `0.2.4` | --- ### Release Notes <details> <summary>smol-rs/async-compat (async-compat)</summary> ### [`v0.2.4`](https://togithub.com/smol-rs/async-compat/blob/HEAD/CHANGELOG.md#Version-024) [Compare Source](https://togithub.com/smol-rs/async-compat/compare/v0.2.3...v0.2.4) - Derive `Clone` for `Compat`. ([#&#8203;27](https://togithub.com/smol-rs/async-compat/issues/27)) - Rather than spawning our own `tokio` runtime all of the time, reuse an existing runtime if possible. ([#&#8203;30](https://togithub.com/smol-rs/async-compat/issues/30)) ### [`v0.2.3`](https://togithub.com/smol-rs/async-compat/blob/HEAD/CHANGELOG.md#Version-023) [Compare Source](https://togithub.com/smol-rs/async-compat/compare/v0.2.2...v0.2.3) - Enter the `tokio` context while dropping wrapped `tokio` types. ([#&#8203;22](https://togithub.com/smol-rs/async-compat/issues/22)) ### [`v0.2.2`](https://togithub.com/smol-rs/async-compat/blob/HEAD/CHANGELOG.md#Version-022) [Compare Source](https://togithub.com/smol-rs/async-compat/compare/v0.2.1...v0.2.2) - Add `smol-rs` logo to the docs. ([#&#8203;19](https://togithub.com/smol-rs/async-compat/issues/19)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 06:33:02 +03:00
checksum = "7bab94bde396a3f7b4962e396fdad640e241ed797d4d8d77fc8c237d14c58fc0"
dependencies = [
"futures-core",
"futures-io",
"once_cell",
"pin-project-lite",
"tokio",
]
[[package]]
name = "async-compression"
Update Rust crate async-compression to v0.4.12 (#15558) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-compression](https://togithub.com/Nullus157/async-compression) | workspace.dependencies | patch | `0.4.6` -> `0.4.12` | --- ### Release Notes <details> <summary>Nullus157/async-compression (async-compression)</summary> ### [`v0.4.12`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0412---2024-07-21) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/v0.4.11...v0.4.12) ##### Feature - Enable customizing Zstd decoding parameters. ### [`v0.4.11`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0411---2024-05-30) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/v0.4.10...v0.4.11) ##### Other - Expose total_in/total_out from underlying flate2 encoder types. ### [`v0.4.10`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0410---2024-05-09) ##### Other - *(deps)* update brotli requirement from 5.0 to 6.0 ([#&#8203;274](https://togithub.com/Nullus157/async-compression/pull/274)) - Fix pipeline doc: Warn on unexpected cfgs instead of error ([#&#8203;276](https://togithub.com/Nullus157/async-compression/pull/276)) - Update name of release-pr.yml - Create release.yml - Create release-pr.yml ### [`v0.4.9`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#049) - bump dep brotli from 4.0 to 5.0 ### [`v0.4.8`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#048) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/async-compression-v0.4.7...async-compression-v0.4.8) - bump dep brotli from 3.3 to 4.0 ### [`v0.4.7`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#047) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/async-compression-v0.4.6...async-compression-v0.4.7) - Flush available data in decoder even when there's no incoming input. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 23:39:31 +03:00
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate async-compression to v0.4.12 (#15558) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-compression](https://togithub.com/Nullus157/async-compression) | workspace.dependencies | patch | `0.4.6` -> `0.4.12` | --- ### Release Notes <details> <summary>Nullus157/async-compression (async-compression)</summary> ### [`v0.4.12`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0412---2024-07-21) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/v0.4.11...v0.4.12) ##### Feature - Enable customizing Zstd decoding parameters. ### [`v0.4.11`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0411---2024-05-30) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/v0.4.10...v0.4.11) ##### Other - Expose total_in/total_out from underlying flate2 encoder types. ### [`v0.4.10`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0410---2024-05-09) ##### Other - *(deps)* update brotli requirement from 5.0 to 6.0 ([#&#8203;274](https://togithub.com/Nullus157/async-compression/pull/274)) - Fix pipeline doc: Warn on unexpected cfgs instead of error ([#&#8203;276](https://togithub.com/Nullus157/async-compression/pull/276)) - Update name of release-pr.yml - Create release.yml - Create release-pr.yml ### [`v0.4.9`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#049) - bump dep brotli from 4.0 to 5.0 ### [`v0.4.8`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#048) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/async-compression-v0.4.7...async-compression-v0.4.8) - bump dep brotli from 3.3 to 4.0 ### [`v0.4.7`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#047) [Compare Source](https://togithub.com/Nullus157/async-compression/compare/async-compression-v0.4.6...async-compression-v0.4.7) - Flush available data in decoder even when there's no incoming input. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 23:39:31 +03:00
checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa"
dependencies = [
"deflate64",
"flate2",
"futures-core",
"futures-io",
"memchr",
"pin-project-lite",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "async-dispatcher"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c8bff43baa5b0ca8f8bcd7f9338f5d30fbd75236a2aa89130a7c5121a06d6ca"
dependencies = [
"async-task",
"futures-lite 1.13.0",
]
[[package]]
name = "async-executor"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7"
dependencies = [
"async-task",
"concurrent-queue",
"fastrand 2.1.1",
"futures-lite 2.3.0",
"slab",
]
[[package]]
name = "async-fs"
2022-10-13 01:39:04 +03:00
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
dependencies = [
"async-lock 2.8.0",
2023-07-11 21:50:48 +03:00
"autocfg",
"blocking",
"futures-lite 1.13.0",
]
[[package]]
name = "async-fs"
version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a"
dependencies = [
"async-lock 3.4.0",
"blocking",
"futures-lite 2.3.0",
]
[[package]]
name = "async-global-executor"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c"
dependencies = [
"async-channel 2.3.1",
"async-executor",
"async-io 2.3.4",
"async-lock 3.4.0",
"blocking",
"futures-lite 2.3.0",
"once_cell",
]
[[package]]
name = "async-io"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
dependencies = [
"async-lock 2.8.0",
2023-07-11 21:50:48 +03:00
"autocfg",
"cfg-if",
"concurrent-queue",
"futures-lite 1.13.0",
"log",
"parking",
"polling 2.8.0",
"rustix 0.37.27",
"slab",
"socket2 0.4.10",
"waker-fn",
]
[[package]]
name = "async-io"
version = "2.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8"
dependencies = [
"async-lock 3.4.0",
"cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite 2.3.0",
"parking",
"polling 3.7.3",
"rustix 0.38.35",
"slab",
"tracing",
"windows-sys 0.59.0",
]
[[package]]
name = "async-lock"
2023-08-21 17:35:57 +03:00
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
dependencies = [
"event-listener 2.5.3",
]
[[package]]
name = "async-lock"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
dependencies = [
"event-listener 5.3.1",
"event-listener-strategy",
"pin-project-lite",
]
[[package]]
name = "async-native-tls"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9343dc5acf07e79ff82d0c37899f079db3534d99f189a1837c8e549c99405bec"
dependencies = [
"futures-util",
"native-tls",
"thiserror",
"url",
]
[[package]]
name = "async-net"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f"
dependencies = [
"async-io 1.13.0",
"blocking",
"futures-lite 1.13.0",
]
[[package]]
name = "async-net"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
dependencies = [
"async-io 2.3.4",
"blocking",
"futures-lite 2.3.0",
]
[[package]]
name = "async-pipe"
version = "0.1.3"
source = "git+https://github.com/zed-industries/async-pipe-rs?rev=82d00a04211cf4e1236029aa03e6b6ce2a74c553#82d00a04211cf4e1236029aa03e6b6ce2a74c553"
dependencies = [
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"log",
]
[[package]]
name = "async-process"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
dependencies = [
"async-io 1.13.0",
"async-lock 2.8.0",
"async-signal",
"blocking",
"cfg-if",
"event-listener 3.1.0",
"futures-lite 1.13.0",
"rustix 0.38.35",
"windows-sys 0.48.0",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "async-process"
version = "2.2.4"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"async-channel 2.3.1",
"async-io 2.3.4",
"async-lock 3.4.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-signal",
"async-task",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"blocking",
"cfg-if",
"event-listener 5.3.1",
"futures-lite 2.3.0",
"rustix 0.38.35",
"tracing",
"windows-sys 0.59.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
[[package]]
name = "async-recursion"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
2022-11-19 01:20:52 +03:00
[[package]]
name = "async-recursion"
version = "1.1.1"
2022-11-19 01:20:52 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
2022-11-19 01:20:52 +03:00
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
2022-11-19 01:20:52 +03:00
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "async-signal"
version = "0.2.10"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"async-io 2.3.4",
"async-lock 3.4.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"atomic-waker",
"cfg-if",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"futures-core",
"futures-io",
"rustix 0.38.35",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"signal-hook-registry",
"slab",
"windows-sys 0.59.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
[[package]]
name = "async-std"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
dependencies = [
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"async-attributes",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-channel 1.9.0",
"async-global-executor",
"async-io 1.13.0",
"async-lock 2.8.0",
"async-process 1.8.1",
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
"futures-channel",
"futures-core",
"futures-io",
"futures-lite 1.13.0",
"gloo-timers",
"kv-log-macro",
"log",
"memchr",
"once_cell",
"pin-project-lite",
"pin-utils",
"slab",
"wasm-bindgen-futures",
]
[[package]]
name = "async-stream"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
dependencies = [
"async-stream-impl",
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-stream-impl"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "async-stripe"
Update Rust crate async-stripe to 0.39 (#17379) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-stripe](https://redirect.github.com/arlyon/async-stripe) | workspace.dependencies | minor | `0.38` -> `0.39` | --- ### Release Notes <details> <summary>arlyon/async-stripe (async-stripe)</summary> ### [`v0.39.1`](https://redirect.github.com/arlyon/async-stripe/blob/HEAD/CHANGELOG.md#0391-2024-09-03) [Compare Source](https://redirect.github.com/arlyon/async-stripe/compare/v0.39.0...v0.39.1) ##### Bug Fixes - correct docs host and path for API references ([539836d](https://redirect.github.com/arlyon/async-stripe/commit/539836d01904742110171a9d6ef877b4cc3f87a3)) ### [`v0.39.0`](https://redirect.github.com/arlyon/async-stripe/blob/HEAD/CHANGELOG.md#0390-2024-08-31) [Compare Source](https://redirect.github.com/arlyon/async-stripe/compare/v0.38.1...v0.39.0) ##### Bug Fixes - `post` -> `post_form` ([bc39260](https://redirect.github.com/arlyon/async-stripe/commit/bc3926039eb50d48cf8f20ddb8110c847e7f7f00)) - Move `promotion_code_ext` to `products` feature ([32435f3](https://redirect.github.com/arlyon/async-stripe/commit/32435f38c242ad47d8c992d1178736c460f107f2)) - Re-export ([24f1782](https://redirect.github.com/arlyon/async-stripe/commit/24f17823b1812886bda32762f9de66dceb83559b)) ##### Features - Create promotion code ([0fde9eb](https://redirect.github.com/arlyon/async-stripe/commit/0fde9eb6bc3333bab3bb135709697d114017be4a)) #### [0.38.1](https://redirect.github.com/arlyon/async-stripe/compare/v0.38.0...v0.38.1) (2024-08-06) ##### Bug Fixes - [#&#8203;578](https://redirect.github.com/arlyon/async-stripe/issues/578) allow arbitrary strings for priceId ([a16bc6e](https://redirect.github.com/arlyon/async-stripe/commit/a16bc6e80c1a5e87bf376cbfd6b1f2a8caef992e)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 01:55:53 +03:00
version = "0.39.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate async-stripe to 0.39 (#17379) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-stripe](https://redirect.github.com/arlyon/async-stripe) | workspace.dependencies | minor | `0.38` -> `0.39` | --- ### Release Notes <details> <summary>arlyon/async-stripe (async-stripe)</summary> ### [`v0.39.1`](https://redirect.github.com/arlyon/async-stripe/blob/HEAD/CHANGELOG.md#0391-2024-09-03) [Compare Source](https://redirect.github.com/arlyon/async-stripe/compare/v0.39.0...v0.39.1) ##### Bug Fixes - correct docs host and path for API references ([539836d](https://redirect.github.com/arlyon/async-stripe/commit/539836d01904742110171a9d6ef877b4cc3f87a3)) ### [`v0.39.0`](https://redirect.github.com/arlyon/async-stripe/blob/HEAD/CHANGELOG.md#0390-2024-08-31) [Compare Source](https://redirect.github.com/arlyon/async-stripe/compare/v0.38.1...v0.39.0) ##### Bug Fixes - `post` -> `post_form` ([bc39260](https://redirect.github.com/arlyon/async-stripe/commit/bc3926039eb50d48cf8f20ddb8110c847e7f7f00)) - Move `promotion_code_ext` to `products` feature ([32435f3](https://redirect.github.com/arlyon/async-stripe/commit/32435f38c242ad47d8c992d1178736c460f107f2)) - Re-export ([24f1782](https://redirect.github.com/arlyon/async-stripe/commit/24f17823b1812886bda32762f9de66dceb83559b)) ##### Features - Create promotion code ([0fde9eb](https://redirect.github.com/arlyon/async-stripe/commit/0fde9eb6bc3333bab3bb135709697d114017be4a)) #### [0.38.1](https://redirect.github.com/arlyon/async-stripe/compare/v0.38.0...v0.38.1) (2024-08-06) ##### Bug Fixes - [#&#8203;578](https://redirect.github.com/arlyon/async-stripe/issues/578) allow arbitrary strings for priceId ([a16bc6e](https://redirect.github.com/arlyon/async-stripe/commit/a16bc6e80c1a5e87bf376cbfd6b1f2a8caef992e)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 01:55:53 +03:00
checksum = "58d670cf4d47a1b8ffef54286a5625382e360a34ee76902fd93ad8c7032a0c30"
dependencies = [
"chrono",
"futures-util",
"http-types",
"hyper",
"hyper-rustls",
"serde",
"serde_json",
"serde_path_to_error",
"serde_qs 0.10.1",
"smart-default",
"smol_str",
"thiserror",
"tokio",
]
[[package]]
name = "async-tar"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a42f905d4f623faf634bbd1e001e84e0efc24694afa64be9ad239bf6ca49e1f8"
dependencies = [
"async-std",
"filetime",
"libc",
"pin-project",
"redox_syscall 0.2.16",
"xattr",
]
[[package]]
name = "async-task"
2024-07-31 23:39:52 +03:00
version = "4.7.1"
2024-01-04 13:39:52 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2024-07-31 23:39:52 +03:00
checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
2021-02-21 02:05:36 +03:00
[[package]]
name = "async-trait"
Update Rust crate async-trait to v0.1.81 (#15564) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-trait](https://togithub.com/dtolnay/async-trait) | workspace.dependencies | patch | `0.1.77` -> `0.1.81` | --- ### Release Notes <details> <summary>dtolnay/async-trait (async-trait)</summary> ### [`v0.1.81`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.81) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.80...0.1.81) - Turn off unneeded features of `syn` dependency ([#&#8203;272](https://togithub.com/dtolnay/async-trait/issues/272), thanks [@&#8203;klensy](https://togithub.com/klensy)) ### [`v0.1.80`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.80) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.79...0.1.80) - Fix unreachable code warning for async functions that return `!` ([#&#8203;265](https://togithub.com/dtolnay/async-trait/issues/265), thanks [@&#8203;de-vri-es](https://togithub.com/de-vri-es)) ### [`v0.1.79`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.79) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.78...0.1.79) - Clean up some dead code ### [`v0.1.78`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.78) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.77...0.1.78) - Prevent unused_qualifications lint being triggered in generated code in nightly-2024-03-05 and up ([#&#8203;260](https://togithub.com/dtolnay/async-trait/issues/260)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 00:11:44 +03:00
version = "0.1.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate async-trait to v0.1.81 (#15564) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-trait](https://togithub.com/dtolnay/async-trait) | workspace.dependencies | patch | `0.1.77` -> `0.1.81` | --- ### Release Notes <details> <summary>dtolnay/async-trait (async-trait)</summary> ### [`v0.1.81`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.81) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.80...0.1.81) - Turn off unneeded features of `syn` dependency ([#&#8203;272](https://togithub.com/dtolnay/async-trait/issues/272), thanks [@&#8203;klensy](https://togithub.com/klensy)) ### [`v0.1.80`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.80) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.79...0.1.80) - Fix unreachable code warning for async functions that return `!` ([#&#8203;265](https://togithub.com/dtolnay/async-trait/issues/265), thanks [@&#8203;de-vri-es](https://togithub.com/de-vri-es)) ### [`v0.1.79`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.79) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.78...0.1.79) - Clean up some dead code ### [`v0.1.78`](https://togithub.com/dtolnay/async-trait/releases/tag/0.1.78) [Compare Source](https://togithub.com/dtolnay/async-trait/compare/0.1.77...0.1.78) - Prevent unused_qualifications lint being triggered in generated code in nightly-2024-03-05 and up ([#&#8203;260](https://togithub.com/dtolnay/async-trait/issues/260)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 00:11:44 +03:00
checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "async-tungstenite"
version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc"
dependencies = [
"async-native-tls",
"async-std",
"futures-io",
"futures-util",
"log",
"pin-project-lite",
"tungstenite 0.20.1",
]
[[package]]
name = "async-watch"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a078faf4e27c0c6cc0efb20e5da59dcccc04968ebf2801d8e0b2195124cdcdb2"
dependencies = [
"event-listener 2.5.3",
]
[[package]]
name = "async_zip"
version = "0.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b9f7252833d5ed4b00aa9604b563529dd5e11de9c23615de2dcdf91eb87b52"
dependencies = [
"async-compression",
"crc32fast",
"futures-lite 2.3.0",
"pin-project",
"thiserror",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "asynchronous-codec"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233"
dependencies = [
"bytes 1.7.1",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"futures-sink",
"futures-util",
"memchr",
"pin-project-lite",
]
[[package]]
name = "atoi"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
dependencies = [
"num-traits",
]
2021-04-13 23:51:49 +03:00
[[package]]
name = "atomic"
2023-07-07 21:24:29 +03:00
version = "0.5.3"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
2021-04-13 23:51:49 +03:00
[[package]]
name = "atomic-waker"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
2023-07-03 23:30:04 +03:00
[[package]]
name = "audio"
version = "0.1.0"
2023-10-24 19:25:48 +03:00
dependencies = [
"anyhow",
"collections",
"derive_more",
"gpui",
"parking_lot",
2023-10-24 19:25:48 +03:00
"rodio",
"util",
]
[[package]]
name = "auto_update"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"db",
Add action to open release notes locally (#8173) Fixes: https://github.com/zed-industries/zed/issues/5019 zed.dev PR: https://github.com/zed-industries/zed.dev/pull/562 I've been wanting to be able to open release notes in Zed for awhile, but was blocked on having a rendered Markdown view. Now that that is mostly there, I think we can add this. I have not removed the `auto update: view release notes` action, since the Markdown render view doesn't support displaying media yet. I've opted to just add a new action: `auto update: view release notes locally`. I'd imagine that in the future, once the rendered view supports media, we could remove `view release notes` and `view release notes locally` could replace it. Clicking the toast that normally is presented on update (https://github.com/zed-industries/zed/issues/7597) would show the notes locally. The action works for stable and preview as expected; for dev and nightly, it just pulls the latest stable, for testing purposes. I changed the way the markdown rendered view works by allowing a tab description to be passed in. For files that have a name, it will use `Preview <name>`: <img width="1496" alt="SCR-20240222-byyz" src="https://github.com/zed-industries/zed/assets/19867440/a0ef34e5-bd6d-4b0c-a684-9b09d350aec4"> For untitled files, it defaults back to `Markdown preview`: <img width="1496" alt="SCR-20240222-byip" src="https://github.com/zed-industries/zed/assets/19867440/2ba3f336-6198-4dce-8867-cf0e45f2c646"> Release Notes: - Added a `zed: view release notes locally` action ([#5019](https://github.com/zed-industries/zed/issues/5019)). https://github.com/zed-industries/zed/assets/19867440/af324f9c-e7a4-4434-adff-7fe0f8ccc7ff
2024-02-22 10:20:06 +03:00
"editor",
"gpui",
"http_client",
"isahc",
"log",
Add action to open release notes locally (#8173) Fixes: https://github.com/zed-industries/zed/issues/5019 zed.dev PR: https://github.com/zed-industries/zed.dev/pull/562 I've been wanting to be able to open release notes in Zed for awhile, but was blocked on having a rendered Markdown view. Now that that is mostly there, I think we can add this. I have not removed the `auto update: view release notes` action, since the Markdown render view doesn't support displaying media yet. I've opted to just add a new action: `auto update: view release notes locally`. I'd imagine that in the future, once the rendered view supports media, we could remove `view release notes` and `view release notes locally` could replace it. Clicking the toast that normally is presented on update (https://github.com/zed-industries/zed/issues/7597) would show the notes locally. The action works for stable and preview as expected; for dev and nightly, it just pulls the latest stable, for testing purposes. I changed the way the markdown rendered view works by allowing a tab description to be passed in. For files that have a name, it will use `Preview <name>`: <img width="1496" alt="SCR-20240222-byyz" src="https://github.com/zed-industries/zed/assets/19867440/a0ef34e5-bd6d-4b0c-a684-9b09d350aec4"> For untitled files, it defaults back to `Markdown preview`: <img width="1496" alt="SCR-20240222-byip" src="https://github.com/zed-industries/zed/assets/19867440/2ba3f336-6198-4dce-8867-cf0e45f2c646"> Release Notes: - Added a `zed: view release notes locally` action ([#5019](https://github.com/zed-industries/zed/issues/5019)). https://github.com/zed-industries/zed/assets/19867440/af324f9c-e7a4-4434-adff-7fe0f8ccc7ff
2024-02-22 10:20:06 +03:00
"markdown_preview",
"menu",
"paths",
"release_channel",
"schemars",
"serde",
"serde_derive",
"serde_json",
"settings",
"smol",
2024-01-24 20:58:09 +03:00
"tempfile",
"util",
"workspace",
]
[[package]]
name = "autocfg"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]]
name = "av1-grain"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf"
dependencies = [
"anyhow",
"arrayvec",
"log",
"nom",
"num-rational",
"v_frame",
]
[[package]]
name = "avif-serialize"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "876c75a42f6364451a033496a14c44bffe41f5f4a8236f697391f11024e596d2"
dependencies = [
"arrayvec",
]
[[package]]
name = "aws-config"
version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e95816a168520d72c0e7680c405a5a8c1fb6a035b4bc4b9d7b0de8e1a941697"
dependencies = [
"aws-credential-types",
"aws-runtime",
"aws-sdk-sso",
"aws-sdk-ssooidc",
"aws-sdk-sts",
"aws-smithy-async",
"aws-smithy-http",
"aws-smithy-json",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes 1.7.1",
"fastrand 2.1.1",
"hex",
"http 0.2.12",
"ring",
"time",
"tokio",
"tracing",
"url",
"zeroize",
]
[[package]]
name = "aws-credential-types"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da"
dependencies = [
"aws-smithy-async",
"aws-smithy-runtime-api",
"aws-smithy-types",
"zeroize",
]
[[package]]
name = "aws-runtime"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2424565416eef55906f9f8cece2072b6b6a76075e3ff81483ebe938a89a4c05f"
dependencies = [
"aws-credential-types",
"aws-sigv4",
"aws-smithy-async",
"aws-smithy-eventstream",
"aws-smithy-http",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes 1.7.1",
"fastrand 2.1.1",
"http 0.2.12",
"http-body 0.4.6",
"once_cell",
"percent-encoding",
"pin-project-lite",
"tracing",
"uuid",
]
[[package]]
name = "aws-sdk-s3"
version = "1.47.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cca49303c05d2a740b8a4552fac63a4db6ead84f7e7eeed04761fd3014c26f25"
dependencies = [
"ahash 0.8.11",
"aws-credential-types",
"aws-runtime",
"aws-sigv4",
"aws-smithy-async",
"aws-smithy-checksums",
"aws-smithy-eventstream",
"aws-smithy-http",
"aws-smithy-json",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
"bytes 1.7.1",
"fastrand 2.1.1",
"hex",
"hmac",
"http 0.2.12",
"http-body 0.4.6",
"lru",
"once_cell",
"percent-encoding",
"regex-lite",
"sha2",
"tracing",
"url",
]
[[package]]
name = "aws-sdk-sso"
version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5879bec6e74b648ce12f6085e7245417bc5f6d672781028384d2e494be3eb6d"
dependencies = [
"aws-credential-types",
"aws-runtime",
"aws-smithy-async",
"aws-smithy-http",
"aws-smithy-json",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes 1.7.1",
"http 0.2.12",
"once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-ssooidc"
version = "1.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ef4cd9362f638c22a3b959fd8df292e7e47fdf170270f86246b97109b5f2f7d"
dependencies = [
"aws-credential-types",
"aws-runtime",
"aws-smithy-async",
"aws-smithy-http",
"aws-smithy-json",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes 1.7.1",
"http 0.2.12",
"once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-sts"
version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b1e2735d2ab28b35ecbb5496c9d41857f52a0d6a0075bbf6a8af306045ea6f6"
dependencies = [
"aws-credential-types",
"aws-runtime",
"aws-smithy-async",
"aws-smithy-http",
"aws-smithy-json",
"aws-smithy-query",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
"http 0.2.12",
"once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sigv4"
version = "1.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5df1b0fa6be58efe9d4ccc257df0a53b89cd8909e86591a13ca54817c87517be"
dependencies = [
"aws-credential-types",
"aws-smithy-eventstream",
"aws-smithy-http",
"aws-smithy-runtime-api",
"aws-smithy-types",
"bytes 1.7.1",
"crypto-bigint 0.5.5",
"form_urlencoded",
"hex",
"hmac",
"http 0.2.12",
"http 1.1.0",
"once_cell",
"p256",
"percent-encoding",
"ring",
"sha2",
"subtle",
"time",
"tracing",
"zeroize",
]
[[package]]
name = "aws-smithy-async"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c"
dependencies = [
"futures-util",
"pin-project-lite",
"tokio",
]
[[package]]
name = "aws-smithy-checksums"
version = "0.60.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
"bytes 1.7.1",
"crc32c",
"crc32fast",
"hex",
"http 0.2.12",
"http-body 0.4.6",
"md-5",
"pin-project-lite",
"sha1",
"sha2",
"tracing",
]
[[package]]
name = "aws-smithy-eventstream"
version = "0.60.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6363078f927f612b970edf9d1903ef5cef9a64d1e8423525ebb1f0a1633c858"
dependencies = [
"aws-smithy-types",
"bytes 1.7.1",
"crc32fast",
]
[[package]]
name = "aws-smithy-http"
version = "0.60.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01dbcb6e2588fd64cfb6d7529661b06466419e4c54ed1c62d6510d2d0350a728"
dependencies = [
"aws-smithy-eventstream",
"aws-smithy-runtime-api",
"aws-smithy-types",
"bytes 1.7.1",
"bytes-utils",
"futures-core",
"http 0.2.12",
"http-body 0.4.6",
"once_cell",
"percent-encoding",
"pin-project-lite",
"pin-utils",
"tracing",
]
[[package]]
name = "aws-smithy-json"
version = "0.60.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6"
dependencies = [
"aws-smithy-types",
]
[[package]]
name = "aws-smithy-query"
version = "0.60.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb"
dependencies = [
"aws-smithy-types",
"urlencoding",
]
[[package]]
name = "aws-smithy-runtime"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1ce695746394772e7000b39fe073095db6d45a862d0767dd5ad0ac0d7f8eb87"
dependencies = [
"aws-smithy-async",
"aws-smithy-http",
"aws-smithy-runtime-api",
"aws-smithy-types",
"bytes 1.7.1",
"fastrand 2.1.1",
"h2",
"http 0.2.12",
"http-body 0.4.6",
"http-body 1.0.1",
"httparse",
"hyper",
"hyper-rustls",
"once_cell",
"pin-project-lite",
"pin-utils",
"rustls",
"tokio",
"tracing",
]
[[package]]
name = "aws-smithy-runtime-api"
version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96"
dependencies = [
"aws-smithy-async",
"aws-smithy-types",
"bytes 1.7.1",
"http 0.2.12",
"http 1.1.0",
"pin-project-lite",
"tokio",
"tracing",
"zeroize",
]
[[package]]
name = "aws-smithy-types"
version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "273dcdfd762fae3e1650b8024624e7cd50e484e37abdab73a7a706188ad34543"
dependencies = [
"base64-simd",
"bytes 1.7.1",
"bytes-utils",
"futures-core",
"http 0.2.12",
"http 1.1.0",
"http-body 0.4.6",
"http-body 1.0.1",
"http-body-util",
"itoa",
"num-integer",
"pin-project-lite",
"pin-utils",
"ryu",
"serde",
"time",
"tokio",
"tokio-util",
]
[[package]]
name = "aws-smithy-xml"
version = "0.60.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d123fbc2a4adc3c301652ba8e149bf4bc1d1725affb9784eb20c953ace06bf55"
dependencies = [
"xmlparser",
]
[[package]]
name = "aws-types"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef"
dependencies = [
"aws-credential-types",
"aws-smithy-async",
"aws-smithy-runtime-api",
"aws-smithy-types",
"rustc_version",
"tracing",
]
2022-04-24 20:08:25 +03:00
[[package]]
name = "axum"
version = "0.6.20"
2022-04-24 20:08:25 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
2022-04-24 20:08:25 +03:00
dependencies = [
"async-trait",
"axum-core",
"base64 0.21.7",
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"bytes 1.7.1",
2022-04-24 20:08:25 +03:00
"futures-util",
"headers",
"http 0.2.12",
"http-body 0.4.6",
"hyper",
2023-08-21 17:35:57 +03:00
"itoa",
"matchit",
2022-04-24 20:08:25 +03:00
"memchr",
"mime",
"percent-encoding",
"pin-project-lite",
"rustversion",
2022-04-24 20:08:25 +03:00
"serde",
"serde_json",
"serde_path_to_error",
2022-04-24 20:08:25 +03:00
"serde_urlencoded",
"sha1",
2022-04-24 20:08:25 +03:00
"sync_wrapper",
"tokio",
"tokio-tungstenite 0.20.1",
2022-04-24 20:08:25 +03:00
"tower",
2022-10-13 01:39:04 +03:00
"tower-layer",
"tower-service",
2022-04-24 20:08:25 +03:00
]
[[package]]
name = "axum-core"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
dependencies = [
"async-trait",
"bytes 1.7.1",
"futures-util",
"http 0.2.12",
"http-body 0.4.6",
"mime",
"rustversion",
"tower-layer",
"tower-service",
]
2022-05-26 10:34:39 +03:00
[[package]]
name = "axum-extra"
version = "0.4.2"
2022-05-26 10:34:39 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9a320103719de37b7b4da4c8eb629d4573f6bcfd3dfe80d3208806895ccf81d"
2022-05-26 10:34:39 +03:00
dependencies = [
"axum",
"bytes 1.7.1",
2022-06-02 11:51:27 +03:00
"futures-util",
"http 0.2.12",
2022-05-26 10:34:39 +03:00
"mime",
"pin-project-lite",
2022-05-26 10:34:39 +03:00
"serde",
"serde_json",
2022-06-02 11:51:27 +03:00
"tokio",
2022-05-26 10:34:39 +03:00
"tower",
"tower-http 0.3.5",
2022-05-26 10:34:39 +03:00
"tower-layer",
"tower-service",
]
[[package]]
name = "backtrace"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
version = "0.3.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
dependencies = [
"addr2line",
"cc",
"cfg-if",
"libc",
"miniz_oxide 0.7.4",
"object 0.36.4",
"rustc-demangle",
]
[[package]]
name = "base16ct"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
[[package]]
name = "base64"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "base64"
version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "base64-simd"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
dependencies = [
"outref",
"vsimd",
]
[[package]]
name = "base64ct"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
[[package]]
name = "bigdecimal"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "51d712318a27c7150326677b321a5fa91b55f6d9034ffd67f20319e147d40cee"
dependencies = [
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"autocfg",
"libm",
"num-bigint",
"num-integer",
"num-traits",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"serde",
]
[[package]]
name = "bincode"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
[[package]]
name = "bindgen"
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
version = "0.69.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
dependencies = [
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
"bitflags 2.6.0",
"cexpr",
"clang-sys",
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
"itertools 0.12.1",
"lazy_static",
"lazycell",
"proc-macro2",
"quote",
"regex",
"rustc-hash",
"shlex",
"syn 2.0.76",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "bindgen"
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
version = "0.70.1"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
2021-02-21 02:05:36 +03:00
dependencies = [
"bitflags 2.6.0",
2021-02-21 02:05:36 +03:00
"cexpr",
"clang-sys",
"itertools 0.13.0",
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
"log",
"prettyplease",
2021-02-21 02:05:36 +03:00
"proc-macro2",
"quote",
"regex",
"rustc-hash",
"shlex",
"syn 2.0.76",
2021-02-21 02:05:36 +03:00
]
2023-06-02 18:21:18 +03:00
[[package]]
name = "bit-set"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
dependencies = [
"bit-vec 0.6.3",
]
[[package]]
name = "bit-set"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f"
dependencies = [
"bit-vec 0.7.0",
2023-06-02 18:21:18 +03:00
]
[[package]]
name = "bit-vec"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
[[package]]
name = "bit-vec"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22"
[[package]]
name = "bit_field"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
[[package]]
name = "bitflags"
2022-04-24 20:08:25 +03:00
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-24 20:08:25 +03:00
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
2023-07-07 21:24:29 +03:00
[[package]]
name = "bitflags"
version = "2.6.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
2023-07-27 19:19:07 +03:00
dependencies = [
"serde",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "bitstream-io"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b81e1519b0d82120d2fd469d5bfb2919a9361c48b02d82d04befc1cdd2002452"
2023-07-07 21:24:29 +03:00
[[package]]
name = "bitvec"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
"funty",
"radium",
"tap",
"wyz",
]
[[package]]
name = "blade-graphics"
version = "0.5.0"
source = "git+https://github.com/kvark/blade?rev=e142a3a5e678eb6a13e642ad8401b1f3aa38e969#e142a3a5e678eb6a13e642ad8401b1f3aa38e969"
dependencies = [
"ash",
"ash-window",
"bitflags 2.6.0",
"block",
"bytemuck",
"codespan-reporting",
"core-graphics-types 0.1.3",
"glow",
"gpu-alloc",
"gpu-alloc-ash",
"hidden-trait",
"js-sys",
"khronos-egl",
"libloading",
"log",
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
"metal",
"mint",
"naga",
"objc",
"raw-window-handle",
"slab",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "blade-macros"
version = "0.3.0"
source = "git+https://github.com/kvark/blade?rev=e142a3a5e678eb6a13e642ad8401b1f3aa38e969#e142a3a5e678eb6a13e642ad8401b1f3aa38e969"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "blade-util"
version = "0.1.0"
source = "git+https://github.com/kvark/blade?rev=e142a3a5e678eb6a13e642ad8401b1f3aa38e969#e142a3a5e678eb6a13e642ad8401b1f3aa38e969"
dependencies = [
"blade-graphics",
"bytemuck",
"log",
"profiling",
]
[[package]]
name = "block"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
[[package]]
name = "block-buffer"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
dependencies = [
2022-04-21 18:30:08 +03:00
"generic-array",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "block-padding"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
dependencies = [
"generic-array",
]
[[package]]
name = "blocking"
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea"
dependencies = [
"async-channel 2.3.1",
"async-task",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"futures-io",
"futures-lite 2.3.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"piper",
]
[[package]]
name = "borsh"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed"
dependencies = [
"borsh-derive",
"cfg_aliases 0.2.1",
]
[[package]]
name = "borsh-derive"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b"
dependencies = [
"once_cell",
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.76",
"syn_derive",
]
2022-03-29 15:01:15 +03:00
[[package]]
name = "breadcrumbs"
version = "0.1.0"
dependencies = [
"editor",
"gpui",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"outline",
"theme",
"ui",
"workspace",
]
[[package]]
name = "bstr"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c"
dependencies = [
"memchr",
"regex-automata 0.4.7",
"serde",
]
[[package]]
name = "built"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "236e6289eda5a812bc6b53c3b024039382a2895fbbeef2d748b2931546d392c4"
[[package]]
name = "bumpalo"
version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
Update Rust crate palette to v0.7.6 (#15307) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [palette](https://togithub.com/Ogeon/palette) | workspace.dependencies | patch | `0.7.5` -> `0.7.6` | --- ### Release Notes <details> <summary>Ogeon/palette (palette)</summary> ### [`v0.7.6`](https://togithub.com/Ogeon/palette/blob/HEAD/CHANGELOG.md#Version-076---2024-04-28) [Compare Source](https://togithub.com/Ogeon/palette/compare/0.7.5...0.7.6) - \[[#&#8203;390](https://togithub.com/Ogeon/palette/issues/390)]\[390]: Add `From` implementations for changing `Rgb` component types between `u8`, `f32` and `f64`. - \[[#&#8203;342](https://togithub.com/Ogeon/palette/issues/342)]\[342]: Implement CAM16. Closes \[[#&#8203;199](https://togithub.com/Ogeon/palette/issues/199)]\[199]. - \[[#&#8203;386](https://togithub.com/Ogeon/palette/issues/386)]\[386]: Fix angle conversion from `f32` to `u8`. Closes \[[#&#8203;385](https://togithub.com/Ogeon/palette/issues/385)]\[385]. - \[[#&#8203;384](https://togithub.com/Ogeon/palette/issues/384)]\[384]: Add traits for color schemes from traditional color theory. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 01:20:59 +03:00
[[package]]
name = "by_address"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06"
[[package]]
name = "bytecheck"
version = "0.6.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
dependencies = [
"bytecheck_derive",
"ptr_meta",
"simdutf8",
]
[[package]]
name = "bytecheck_derive"
version = "0.6.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "bytemuck"
version = "1.17.1"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2"
dependencies = [
"bytemuck_derive",
]
[[package]]
name = "bytemuck_derive"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
2021-04-06 14:44:38 +03:00
2021-03-10 07:00:51 +03:00
[[package]]
name = "byteorder"
Update Rust crate heed to v0.20.3 (#15169) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.1` -> `0.20.3` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.3`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.3): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.2...v0.20.3) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Update dependencies by @&#8203;irevoi[https://github.com/meilisearch/heed/pull/265](https://togithub.com/meilisearch/heed/pull/265)ll/265 ### [`v0.20.2`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.2): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.1...v0.20.2) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Introduce the `longer-keys` feature which sets `-DMDB_MAXKEYSIZE=0` by @&#8203;tpund[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 * Bump the internal LMDB version to v0.9.33 by @&#8203;Kerollmo[https://github.com/meilisearch/heed/pull/264](https://togithub.com/meilisearch/heed/pull/264)ll/264 ##### New Contributors * @&#8203;tpunder made their first contributi[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:55:15 +03:00
version = "1.5.0"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate heed to v0.20.3 (#15169) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.1` -> `0.20.3` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.3`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.3): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.2...v0.20.3) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Update dependencies by @&#8203;irevoi[https://github.com/meilisearch/heed/pull/265](https://togithub.com/meilisearch/heed/pull/265)ll/265 ### [`v0.20.2`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.2): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.1...v0.20.2) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Introduce the `longer-keys` feature which sets `-DMDB_MAXKEYSIZE=0` by @&#8203;tpund[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 * Bump the internal LMDB version to v0.9.33 by @&#8203;Kerollmo[https://github.com/meilisearch/heed/pull/264](https://togithub.com/meilisearch/heed/pull/264)ll/264 ##### New Contributors * @&#8203;tpunder made their first contributi[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:55:15 +03:00
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
2021-03-10 07:00:51 +03:00
[[package]]
name = "byteorder-lite"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
[[package]]
name = "bytes"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
dependencies = [
"byteorder",
"iovec",
]
[[package]]
name = "bytes"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
[[package]]
name = "bytes-utils"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35"
dependencies = [
"bytes 1.7.1",
"either",
]
[[package]]
name = "call"
version = "0.1.0"
2023-10-24 18:42:51 +03:00
dependencies = [
"anyhow",
"audio",
"client",
2023-10-24 18:42:51 +03:00
"collections",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"language",
"live_kit_client",
2023-10-24 18:42:51 +03:00
"log",
"postage",
"project",
2023-10-24 18:42:51 +03:00
"schemars",
"serde",
"serde_derive",
"settings",
2023-10-24 18:42:51 +03:00
"util",
]
[[package]]
name = "calloop"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
dependencies = [
"bitflags 2.6.0",
"log",
"polling 3.7.3",
"rustix 0.38.35",
"slab",
"thiserror",
]
[[package]]
name = "calloop-wayland-source"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20"
dependencies = [
"calloop",
"rustix 0.38.35",
"wayland-backend",
"wayland-client",
]
[[package]]
name = "camino"
version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
dependencies = [
"serde",
]
[[package]]
name = "cap-fs-ext"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb23061fc1c4ead4e45ca713080fe768e6234e959f5a5c399c39eb41aa34e56e"
dependencies = [
"cap-primitives",
"cap-std",
"io-lifetimes 2.0.3",
"windows-sys 0.52.0",
]
[[package]]
name = "cap-net-ext"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f83ae11f116bcbafc5327c6af250341db96b5930046732e1905f7dc65887e0e1"
dependencies = [
"cap-primitives",
"cap-std",
"rustix 0.38.35",
"smallvec",
]
[[package]]
name = "cap-primitives"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d00bd8d26c4270d950eaaa837387964a2089a1c3c349a690a1fa03221d29531"
dependencies = [
"ambient-authority",
"fs-set-times",
"io-extras",
"io-lifetimes 2.0.3",
"ipnet",
"maybe-owned",
"rustix 0.38.35",
"windows-sys 0.52.0",
"winx",
]
[[package]]
name = "cap-rand"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbcb16a619d8b8211ed61f42bd290d2a1ac71277a69cf8417ec0996fa92f5211"
dependencies = [
"ambient-authority",
"rand 0.8.5",
]
[[package]]
name = "cap-std"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19eb8e3d71996828751c1ed3908a439639752ac6bdc874e41469ef7fc15fbd7f"
dependencies = [
"cap-primitives",
"io-extras",
"io-lifetimes 2.0.3",
"rustix 0.38.35",
]
[[package]]
name = "cap-time-ext"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61142dc51e25b7acc970ca578ce2c3695eac22bbba46c1073f5f583e78957725"
dependencies = [
"ambient-authority",
"cap-primitives",
"iana-time-zone",
"once_cell",
"rustix 0.38.35",
"winx",
]
[[package]]
name = "cargo-platform"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
dependencies = [
"serde",
]
[[package]]
name = "cargo_metadata"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
dependencies = [
"camino",
"cargo-platform",
"semver",
"serde",
"serde_json",
"thiserror",
]
[[package]]
name = "cargo_toml"
Update Rust crate cargo_toml to v0.20.4 (#15276) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cargo_toml](https://lib.rs/cargo_toml) ([source](https://gitlab.com/lib.rs/cargo_toml)) | workspace.dependencies | patch | `0.20.2` -> `0.20.4` | --- ### Release Notes <details> <summary>lib.rs/cargo_toml (cargo_toml)</summary> ### [`v0.20.4`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) ### [`v0.20.3`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:40:57 +03:00
version = "0.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate cargo_toml to v0.20.4 (#15276) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cargo_toml](https://lib.rs/cargo_toml) ([source](https://gitlab.com/lib.rs/cargo_toml)) | workspace.dependencies | patch | `0.20.2` -> `0.20.4` | --- ### Release Notes <details> <summary>lib.rs/cargo_toml (cargo_toml)</summary> ### [`v0.20.4`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) ### [`v0.20.3`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:40:57 +03:00
checksum = "ad639525b1c67b6a298f378417b060fbc04618bea559482a8484381cce27d965"
dependencies = [
"serde",
"toml 0.8.19",
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "cast"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "castaway"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "cbc"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
dependencies = [
"cipher",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
2023-09-23 18:10:33 +03:00
[[package]]
name = "cbindgen"
Update Rust crate cbindgen to 0.27.0 (#17033) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cbindgen](https://togithub.com/mozilla/cbindgen) | build-dependencies | minor | `0.26.0` -> `0.27.0` | --- ### Release Notes <details> <summary>mozilla/cbindgen (cbindgen)</summary> ### [`v0.27.0`](https://togithub.com/mozilla/cbindgen/blob/HEAD/CHANGES#0270) [Compare Source](https://togithub.com/mozilla/cbindgen/compare/0.26.0...v0.27.0) - Revert: The `Config` struct now has a private member. \* Allow users to specify a crate version for bindings generation ([#&#8203;901](https://togithub.com/mozilla/cbindgen/issues/901)). \* Update MSRV to 1.74 ([#&#8203;912](https://togithub.com/mozilla/cbindgen/issues/912), [#&#8203;987](https://togithub.com/mozilla/cbindgen/issues/987)). \* Support #\[deprecated] on enum variants ([#&#8203;933](https://togithub.com/mozilla/cbindgen/issues/933)). \* Support integrating the package_version information in a header file comment ([#&#8203;939](https://togithub.com/mozilla/cbindgen/issues/939)). \* Add a language backend ([#&#8203;942](https://togithub.com/mozilla/cbindgen/issues/942)). \* Support generics with defaulted args ([#&#8203;959](https://togithub.com/mozilla/cbindgen/issues/959)). \* Add `VaList` compatibility ([#&#8203;970](https://togithub.com/mozilla/cbindgen/issues/970)). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 01:41:04 +03:00
version = "0.27.0"
2023-09-23 18:10:33 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate cbindgen to 0.27.0 (#17033) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cbindgen](https://togithub.com/mozilla/cbindgen) | build-dependencies | minor | `0.26.0` -> `0.27.0` | --- ### Release Notes <details> <summary>mozilla/cbindgen (cbindgen)</summary> ### [`v0.27.0`](https://togithub.com/mozilla/cbindgen/blob/HEAD/CHANGES#0270) [Compare Source](https://togithub.com/mozilla/cbindgen/compare/0.26.0...v0.27.0) - Revert: The `Config` struct now has a private member. \* Allow users to specify a crate version for bindings generation ([#&#8203;901](https://togithub.com/mozilla/cbindgen/issues/901)). \* Update MSRV to 1.74 ([#&#8203;912](https://togithub.com/mozilla/cbindgen/issues/912), [#&#8203;987](https://togithub.com/mozilla/cbindgen/issues/987)). \* Support #\[deprecated] on enum variants ([#&#8203;933](https://togithub.com/mozilla/cbindgen/issues/933)). \* Support integrating the package_version information in a header file comment ([#&#8203;939](https://togithub.com/mozilla/cbindgen/issues/939)). \* Add a language backend ([#&#8203;942](https://togithub.com/mozilla/cbindgen/issues/942)). \* Support generics with defaulted args ([#&#8203;959](https://togithub.com/mozilla/cbindgen/issues/959)). \* Add `VaList` compatibility ([#&#8203;970](https://togithub.com/mozilla/cbindgen/issues/970)). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 01:41:04 +03:00
checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb"
2023-09-23 18:10:33 +03:00
dependencies = [
"heck 0.4.1",
"indexmap 2.4.0",
2023-09-23 18:10:33 +03:00
"log",
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn 2.0.76",
2023-09-23 18:10:33 +03:00
"tempfile",
Update Rust crate cbindgen to 0.27.0 (#17033) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cbindgen](https://togithub.com/mozilla/cbindgen) | build-dependencies | minor | `0.26.0` -> `0.27.0` | --- ### Release Notes <details> <summary>mozilla/cbindgen (cbindgen)</summary> ### [`v0.27.0`](https://togithub.com/mozilla/cbindgen/blob/HEAD/CHANGES#0270) [Compare Source](https://togithub.com/mozilla/cbindgen/compare/0.26.0...v0.27.0) - Revert: The `Config` struct now has a private member. \* Allow users to specify a crate version for bindings generation ([#&#8203;901](https://togithub.com/mozilla/cbindgen/issues/901)). \* Update MSRV to 1.74 ([#&#8203;912](https://togithub.com/mozilla/cbindgen/issues/912), [#&#8203;987](https://togithub.com/mozilla/cbindgen/issues/987)). \* Support #\[deprecated] on enum variants ([#&#8203;933](https://togithub.com/mozilla/cbindgen/issues/933)). \* Support integrating the package_version information in a header file comment ([#&#8203;939](https://togithub.com/mozilla/cbindgen/issues/939)). \* Add a language backend ([#&#8203;942](https://togithub.com/mozilla/cbindgen/issues/942)). \* Support generics with defaulted args ([#&#8203;959](https://togithub.com/mozilla/cbindgen/issues/959)). \* Add `VaList` compatibility ([#&#8203;970](https://togithub.com/mozilla/cbindgen/issues/970)). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 01:41:04 +03:00
"toml 0.8.19",
2023-09-23 18:10:33 +03:00
]
[[package]]
name = "cc"
version = "1.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6"
dependencies = [
"jobserver",
2023-08-21 17:35:57 +03:00
"libc",
"shlex",
]
[[package]]
name = "cesu8"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
2021-02-21 02:05:36 +03:00
[[package]]
name = "cexpr"
version = "0.6.0"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
2021-02-21 02:05:36 +03:00
dependencies = [
"nom",
2021-02-21 02:05:36 +03:00
]
[[package]]
name = "cfg-expr"
version = "0.15.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02"
dependencies = [
"smallvec",
"target-lexicon",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cfg_aliases"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]]
name = "cfg_aliases"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "channel"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"clock",
"collections",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"language",
"log",
"rand 0.8.5",
"release_channel",
"rpc",
"settings",
"sum_tree",
"text",
"time",
"util",
]
[[package]]
name = "chrono"
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [
2023-07-07 21:24:29 +03:00
"android-tzdata",
2022-10-13 01:39:04 +03:00
"iana-time-zone",
"js-sys",
"num-traits",
"serde",
2022-10-13 01:39:04 +03:00
"wasm-bindgen",
"windows-targets 0.52.6",
]
[[package]]
name = "chunked_transfer"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "ciborium"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
dependencies = [
"ciborium-io",
"ciborium-ll",
"serde",
]
[[package]]
name = "ciborium-io"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
[[package]]
name = "ciborium-ll"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
dependencies = [
"ciborium-io",
"half",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "cipher"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
"crypto-common",
"inout",
"zeroize",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "clang-sys"
version = "1.8.1"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
2021-02-21 02:05:36 +03:00
dependencies = [
"glob",
2021-02-21 02:05:36 +03:00
"libc",
"libloading",
2021-02-21 02:05:36 +03:00
]
2023-06-21 19:48:09 +03:00
[[package]]
name = "clap"
version = "4.5.16"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019"
2023-06-21 19:48:09 +03:00
dependencies = [
"clap_builder",
"clap_derive",
2023-06-21 19:48:09 +03:00
]
[[package]]
name = "clap_builder"
Update Rust crate clap to v4.5.15 (#16243) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.13` -> `4.5.15` | --- ### Release Notes <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.14...v4.5.15) ##### Compatiblity - *(unstable-ext)* `Arg::remove` changed return types ##### Fixes - *(unstable-ext)* Make `Arg::remove` return the removed item ### [`v4.5.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.13...v4.5.14) ##### Features - *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like completion hints, to `Arg` without `Arg` knowing about it </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-14 23:57:05 +03:00
version = "4.5.15"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate clap to v4.5.15 (#16243) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.13` -> `4.5.15` | --- ### Release Notes <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.14...v4.5.15) ##### Compatiblity - *(unstable-ext)* `Arg::remove` changed return types ##### Fixes - *(unstable-ext)* Make `Arg::remove` return the removed item ### [`v4.5.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.13...v4.5.14) ##### Features - *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like completion hints, to `Arg` without `Arg` knowing about it </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-14 23:57:05 +03:00
checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
2023-06-21 19:48:09 +03:00
dependencies = [
"anstream",
2023-06-21 19:48:09 +03:00
"anstyle",
"clap_lex",
"strsim",
"terminal_size",
]
[[package]]
name = "clap_complete"
version = "4.5.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d7db6eca8c205649e8d3ccd05aa5042b1800a784e56bc7c43524fde8abbfa9b"
dependencies = [
"clap",
2023-06-21 19:48:09 +03:00
]
2023-06-21 20:06:34 +03:00
[[package]]
name = "clap_derive"
version = "4.5.13"
2023-06-21 20:06:34 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0"
2023-06-21 20:06:34 +03:00
dependencies = [
"heck 0.5.0",
2023-06-21 20:06:34 +03:00
"proc-macro2",
"quote",
"syn 2.0.76",
2023-06-21 20:06:34 +03:00
]
2023-06-21 19:48:09 +03:00
[[package]]
name = "clap_lex"
version = "0.7.2"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
2023-06-21 19:48:09 +03:00
[[package]]
name = "cli"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
zed: Use CLI env for lang servers, tasks, terminal (#17075) This changes the Zed CLI `zed` to pass along the environment to the Zed project that it opens (if it opens a new one). In projects, this CLI environment will now take precedence over any environment that's acquired by running a login shell in a projects folder. The result is that `zed my/folder` now always behaves as if one would run `zed --foreground` without any previous Zed version running. Closes #7894 Closes #16293 Related issues: - It fixes the issue described in here: https://github.com/zed-industries/zed/issues/4977#issuecomment-2305272027 Release Notes: - Improved the Zed CLI `zed` to pass along the environment as it was on the CLI to the opened Zed project. That environment is then used when opening new terminals, spawning tasks, or language servers. Specifically: - If Zed was started via `zed my-folder`, a terminal spawned with `workspace: new terminal` will inherit these environment variables that existed on the CLI - Specific language servers that allow looking up the language server binary in the environments `$PATH` (such as `gopls`, `zls`, `rust-analyzer` if configured, ...) will look up the language server binary in the CLI environment too and use that environment when starting the process. - Language servers that are _not_ found in the CLI environment (or configured to not be found in there), will be spawned with the CLI environment in case that's set. That means users can do something like `RA_LOG=info zed .` and it will be picked up the rust-analyzer that was spawned. Demo/explanation: https://github.com/user-attachments/assets/455905cc-8b7c-4fc4-b98a-7e027d97cdfa
2024-08-29 19:09:06 +03:00
"collections",
"core-foundation 0.9.4",
"core-services",
"exec",
"fork",
"ipc-channel",
"once_cell",
"parking_lot",
"paths",
"plist",
"release_channel",
"serde",
"tempfile",
"util",
]
[[package]]
name = "clickhouse"
version = "0.11.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0875e527e299fc5f4faba42870bf199a39ab0bb2dbba1b8aef0a2151451130f"
dependencies = [
"bstr",
"bytes 1.7.1",
"clickhouse-derive",
"clickhouse-rs-cityhash-sys",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"hyper",
"hyper-tls",
"lz4",
"sealed",
"serde",
"static_assertions",
"thiserror",
"tokio",
"url",
]
[[package]]
name = "clickhouse-derive"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18af5425854858c507eec70f7deb4d5d8cec4216fcb086283a78872387281ea5"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals 0.26.0",
"syn 1.0.109",
]
[[package]]
name = "clickhouse-rs-cityhash-sys"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4baf9d4700a28d6cb600e17ed6ae2b43298a5245f1f76b4eab63027ebfd592b9"
dependencies = [
"cc",
]
[[package]]
name = "client"
version = "0.1.0"
2023-10-21 20:07:59 +03:00
dependencies = [
"anyhow",
"async-native-tls",
2023-10-21 20:07:59 +03:00
"async-recursion 0.3.2",
"async-tungstenite",
"chrono",
"clock",
"cocoa 0.26.0",
2023-10-21 20:07:59 +03:00
"collections",
"feature_flags",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
2023-10-21 20:07:59 +03:00
"log",
"once_cell",
"parking_lot",
"paths",
2023-10-21 20:07:59 +03:00
"postage",
"rand 0.8.5",
"release_channel",
"rpc",
2023-10-21 20:07:59 +03:00
"schemars",
"serde",
"serde_json",
"settings",
"sha2",
2023-10-21 20:07:59 +03:00
"smol",
"sysinfo",
"telemetry_events",
2023-10-21 20:07:59 +03:00
"tempfile",
"text",
2023-10-21 20:07:59 +03:00
"thiserror",
"time",
"tiny_http",
"tokio-socks",
2023-10-21 20:07:59 +03:00
"url",
"util",
"windows 0.58.0",
"worktree",
2023-10-21 20:07:59 +03:00
]
[[package]]
name = "clock"
version = "0.1.0"
dependencies = [
"chrono",
"parking_lot",
"serde",
"smallvec",
]
[[package]]
name = "cobs"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
[[package]]
name = "cocoa"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"block",
"cocoa-foundation 0.1.2",
"core-foundation 0.9.4",
"core-graphics 0.23.2",
"foreign-types 0.5.0",
"libc",
"objc",
]
[[package]]
name = "cocoa"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2"
dependencies = [
"bitflags 2.6.0",
"block",
"cocoa-foundation 0.2.0",
"core-foundation 0.10.0",
"core-graphics 0.24.0",
"foreign-types 0.5.0",
"libc",
"objc",
]
[[package]]
name = "cocoa-foundation"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"block",
"core-foundation 0.9.4",
"core-graphics-types 0.1.3",
"libc",
"objc",
]
[[package]]
name = "cocoa-foundation"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d"
dependencies = [
"bitflags 2.6.0",
"block",
"core-foundation 0.10.0",
"core-graphics-types 0.2.0",
"libc",
"objc",
]
[[package]]
name = "codespan-reporting"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
dependencies = [
"termcolor",
"unicode-width",
]
[[package]]
name = "collab"
2024-02-01 05:10:19 +03:00
version = "0.44.0"
2023-11-04 04:01:06 +03:00
dependencies = [
"anthropic",
2023-11-04 04:01:06 +03:00
"anyhow",
"assistant",
"async-stripe",
2023-11-04 04:01:06 +03:00
"async-trait",
"async-tungstenite",
"audio",
"aws-config",
"aws-sdk-s3",
"axum",
2023-11-04 04:01:06 +03:00
"axum-extra",
"base64 0.22.1",
"call",
"channel",
"chrono",
"clickhouse",
"client",
2023-11-04 04:01:06 +03:00
"clock",
"collab_ui",
2023-11-04 04:01:06 +03:00
"collections",
"ctor",
"dashmap 6.0.1",
"dev_server_projects",
"editor",
"env_logger",
2023-11-04 04:01:06 +03:00
"envy",
2024-01-09 02:52:20 +03:00
"file_finder",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"git",
"git_hosting_providers",
"google_ai",
"gpui",
"headless",
"hex",
"http_client",
"hyper",
2023-11-04 04:01:06 +03:00
"indoc",
"jsonwebtoken",
"language",
"language_model",
"live_kit_client",
2023-11-04 04:01:06 +03:00
"live_kit_server",
"log",
"lsp",
2024-01-09 02:52:20 +03:00
"menu",
"multi_buffer",
2023-11-04 04:01:06 +03:00
"nanoid",
"node_runtime",
"notifications",
"open_ai",
"parking_lot",
2023-11-04 04:01:06 +03:00
"pretty_assertions",
"project",
2023-11-04 04:01:06 +03:00
"prometheus",
"prost",
2023-11-04 04:01:06 +03:00
"rand 0.8.5",
"recent_projects",
"release_channel",
"remote",
"remote_server",
2023-11-04 04:01:06 +03:00
"reqwest",
"rpc",
"rustc-demangle",
2023-11-04 04:01:06 +03:00
"scrypt",
"sea-orm",
"semantic_version",
"semver",
2023-11-04 04:01:06 +03:00
"serde",
"serde_derive",
"serde_json",
"session",
"settings",
"sha2",
2023-11-04 04:01:06 +03:00
"sqlx",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"subtle",
"supermaven_api",
"telemetry_events",
"text",
"theme",
"thiserror",
2023-11-04 04:01:06 +03:00
"time",
"tokio",
"toml 0.8.19",
2023-11-04 04:01:06 +03:00
"tower",
"tower-http 0.4.4",
"tracing",
2023-11-04 04:01:06 +03:00
"tracing-subscriber",
"unindent",
"util",
"uuid",
"workspace",
"worktree",
2023-11-04 04:01:06 +03:00
]
[[package]]
name = "collab_ui"
version = "0.1.0"
2023-11-16 00:24:01 +03:00
dependencies = [
"anyhow",
"call",
"channel",
"chrono",
"client",
2023-11-16 00:24:01 +03:00
"collections",
"db",
"editor",
"emojis",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"gpui",
"http_client",
"language",
"menu",
"notifications",
"parking_lot",
"picker",
2023-11-16 00:24:01 +03:00
"pretty_assertions",
"project",
"release_channel",
"rich_text",
"rpc",
2023-11-16 00:24:01 +03:00
"schemars",
"serde",
"serde_derive",
"serde_json",
"settings",
2023-11-16 00:24:01 +03:00
"smallvec",
"story",
"theme",
2023-11-16 00:24:01 +03:00
"time",
"time_format",
"title_bar",
"tree-sitter-md",
"ui",
2023-11-16 00:24:01 +03:00
"util",
"vcs_menu",
"workspace",
2023-11-16 00:24:01 +03:00
]
[[package]]
name = "collections"
version = "0.1.0"
dependencies = [
"rustc-hash",
]
[[package]]
name = "color_quant"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
2023-06-21 19:48:09 +03:00
[[package]]
name = "colorchoice"
version = "1.0.2"
2023-06-21 19:48:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
2023-06-21 19:48:09 +03:00
[[package]]
name = "combine"
version = "4.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
dependencies = [
"bytes 1.7.1",
"memchr",
]
2022-04-13 23:20:59 +03:00
[[package]]
name = "command_palette"
version = "0.1.0"
2023-11-09 19:54:05 +03:00
dependencies = [
2024-01-16 04:22:47 +03:00
"client",
2023-11-09 19:54:05 +03:00
"collections",
"command_palette_hooks",
2023-11-09 19:54:05 +03:00
"ctor",
"editor",
"env_logger",
"fuzzy",
"go_to_line",
"gpui",
"language",
"menu",
"picker",
"postage",
"project",
2023-11-09 19:54:05 +03:00
"serde",
"serde_json",
"settings",
"theme",
"ui",
2023-11-09 19:54:05 +03:00
"util",
"workspace",
"zed_actions",
2023-11-09 19:54:05 +03:00
]
[[package]]
name = "command_palette_hooks"
version = "0.1.0"
dependencies = [
"collections",
"derive_more",
"gpui",
]
[[package]]
name = "concurrent-queue"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
dependencies = [
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
]
[[package]]
name = "console"
version = "0.15.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
dependencies = [
"encode_unicode",
"lazy_static",
"libc",
"unicode-width",
"windows-sys 0.52.0",
]
[[package]]
name = "const-oid"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
[[package]]
name = "const-random"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
dependencies = [
"const-random-macro",
]
[[package]]
name = "const-random-macro"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
dependencies = [
"getrandom 0.2.15",
"once_cell",
"tiny-keccak",
]
context_servers: Add initial implementation (#16103) This commit proposes the addition of "context serveres" and the underlying protocol (model context protocol). Context servers allow simple definition of slash commands in another language and running local on the user machines. This aims to quickly prototype new commands, and provide a way to add personal (or company wide) customizations to the assistant panel, without having to maintain an extension. We can use this to reuse our existing codebase, with authenticators, etc and easily have it provide context into the assistant panel. As such it occupies a different design space as extensions, which I think are more aimed towards long-term, well maintained pieces of code that can be easily distributed. It's implemented as a central crate for easy reusability across the codebase and to easily hook into the assistant panel at all points. Design wise there are a few pieces: 1. client.rs: A simple JSON-RPC client talking over stdio to a spawned server. This is very close to how LSP work and likely there could be a combined client down the line. 2. types.rs: Serialization and deserialization client for the underlying model context protocol. 3. protocol.rs: Handling the session between client and server. 4. manager.rs: Manages settings and adding and deleting servers from a central pool. A server can be defined in the settings.json as: ``` "context_servers": [ {"id": "test", "executable": "python", "args": ["-m", "context_server"] ] ``` ## Quick Example A quick example of how a theoretical backend site can look like. With roughly 100 lines of code (nicely generated by Claude) and a bit of decorator magic (200 lines in total), one can come up with a framework that makes it as easy as: ```python @context_server.slash_command(name="rot13", description="Perform a rot13 transformation") @context_server.argument(name="input", type=str, help="String to rot13") async def rot13(input: str) -> str: return ''.join(chr((ord(c) - 97 + 13) % 26 + 97) if c.isalpha() else c for c in echo.lower()) ``` to define a new slash_command. ## Todo: - Allow context servers to be defined in workspace settings. - Allow passing env variables to context_servers Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-08-15 17:49:30 +03:00
[[package]]
name = "context_servers"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"futures 0.3.30",
"gpui",
"log",
"parking_lot",
"postage",
"schemars",
"serde",
"serde_json",
"settings",
"smol",
"url",
"util",
"workspace",
]
2023-07-26 21:54:23 +03:00
[[package]]
name = "convert_case"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
[[package]]
name = "convert_case"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "copilot"
version = "0.1.0"
2023-10-23 13:16:33 +03:00
dependencies = [
"anyhow",
"async-compression",
"async-std",
2023-10-23 13:16:33 +03:00
"async-tar",
"chrono",
"client",
2023-10-23 13:16:33 +03:00
"clock",
"collections",
"command_palette_hooks",
"editor",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"indoc",
"isahc",
"language",
"lsp",
"menu",
"node_runtime",
"parking_lot",
"paths",
"project",
"rpc",
"schemars",
"serde",
"serde_json",
"settings",
"smol",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"task",
"theme",
"ui",
"util",
"workspace",
]
[[package]]
name = "core-foundation"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
name = "core-foundation"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
name = "core-foundation-sys"
Update Rust crate core-foundation-sys to v0.8.7 (#16244) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [core-foundation-sys](https://togithub.com/servo/core-foundation-rs) | dependencies | patch | `0.8.6` -> `0.8.7` | | [core-foundation-sys](https://togithub.com/servo/core-foundation-rs) | workspace.dependencies | patch | `0.8.6` -> `0.8.7` | --- ### Release Notes <details> <summary>servo/core-foundation-rs (core-foundation-sys)</summary> ### [`v0.8.7`](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7) [Compare Source](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-14 23:57:38 +03:00
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate core-foundation-sys to v0.8.7 (#16244) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [core-foundation-sys](https://togithub.com/servo/core-foundation-rs) | dependencies | patch | `0.8.6` -> `0.8.7` | | [core-foundation-sys](https://togithub.com/servo/core-foundation-rs) | workspace.dependencies | patch | `0.8.6` -> `0.8.7` | --- ### Release Notes <details> <summary>servo/core-foundation-rs (core-foundation-sys)</summary> ### [`v0.8.7`](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7) [Compare Source](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-sys-v0.8.6...core-foundation-sys-v0.8.7) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-14 23:57:38 +03:00
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "core-graphics"
version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
dependencies = [
"bitflags 1.3.2",
"core-foundation 0.9.4",
"core-graphics-types 0.1.3",
"foreign-types 0.5.0",
"libc",
]
[[package]]
name = "core-graphics"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1"
dependencies = [
"bitflags 2.6.0",
"core-foundation 0.10.0",
"core-graphics-types 0.2.0",
"foreign-types 0.5.0",
"libc",
]
[[package]]
name = "core-graphics-types"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"core-foundation 0.9.4",
"libc",
]
[[package]]
name = "core-graphics-types"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
dependencies = [
"bitflags 2.6.0",
"core-foundation 0.10.0",
"libc",
]
[[package]]
name = "core-services"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92567e81db522550ebaf742c5d875624ec7820c2c7ee5f8c60e4ce7c2ae3c0fd"
dependencies = [
"core-foundation 0.9.4",
]
[[package]]
name = "core-text"
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
version = "20.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
dependencies = [
"core-foundation 0.9.4",
"core-graphics 0.23.2",
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
"foreign-types 0.5.0",
"libc",
]
[[package]]
name = "coreaudio-rs"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"core-foundation-sys",
"coreaudio-sys",
]
[[package]]
name = "coreaudio-sys"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9"
dependencies = [
"bindgen 0.69.4",
]
[[package]]
name = "cosmic-text"
version = "0.11.2"
source = "git+https://github.com/pop-os/cosmic-text?rev=542b20c#542b20ca4376a3b5de5fa629db1a4ace44e18e0c"
dependencies = [
"bitflags 2.6.0",
"fontdb",
"log",
"rangemap",
"rayon",
"rustc-hash",
"rustybuzz",
"self_cell",
"swash",
"sys-locale",
"ttf-parser",
"unicode-bidi",
"unicode-linebreak",
"unicode-script",
"unicode-segmentation",
]
[[package]]
name = "cpal"
version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779"
dependencies = [
"alsa",
"core-foundation-sys",
"coreaudio-rs",
"dasp_sample",
"jni",
"js-sys",
"libc",
"mach2",
"ndk",
"ndk-context",
"oboe",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"windows 0.54.0",
]
[[package]]
name = "cpp_demangle"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d"
dependencies = [
"cfg-if",
]
[[package]]
name = "cpufeatures"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad"
dependencies = [
"libc",
]
[[package]]
name = "cranelift-bforest"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29daf137addc15da6bab6eae2c4a11e274b1d270bf2759508e62f6145e863ef6"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-codegen"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de619867d5de4c644b7fd9904d6e3295269c93d8a71013df796ab338681222d4"
dependencies = [
"bumpalo",
"cranelift-bforest",
"cranelift-codegen-meta",
"cranelift-codegen-shared",
"cranelift-control",
"cranelift-entity",
"cranelift-isle",
"gimli 0.28.1",
"hashbrown 0.14.5",
"log",
"regalloc2",
"rustc-hash",
"smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-codegen-meta"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29f5cf277490037d8dae9513d35e0ee8134670ae4a964a5ed5b198d4249d7c10"
dependencies = [
"cranelift-codegen-shared",
]
[[package]]
name = "cranelift-codegen-shared"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3e22ecad1123343a3c09ac6ecc532bb5c184b6fcb7888df0ea953727f79924"
[[package]]
name = "cranelift-control"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53ca3ec6d30bce84ccf59c81fead4d16381a3ef0ef75e8403bc1e7385980da09"
dependencies = [
"arbitrary",
]
[[package]]
name = "cranelift-entity"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eabb8d36b0ca8906bec93c78ea516741cac2d7e6b266fa7b0ffddcc09004990"
dependencies = [
"serde",
"serde_derive",
]
[[package]]
name = "cranelift-frontend"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44b42630229e49a8cfcae90bdc43c8c4c08f7a7aa4618b67f79265cd2f996dd2"
dependencies = [
"cranelift-codegen",
"log",
"smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-isle"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "918d1e36361805dfe0b6cdfd5a5ffdb5d03fa796170c5717d2727cbe623b93a0"
[[package]]
name = "cranelift-native"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75aea85a0d7e1800b14ce9d3f53adf8ad4d1ee8a9e23b0269bdc50285e93b9b3"
dependencies = [
"cranelift-codegen",
"libc",
"target-lexicon",
]
[[package]]
name = "cranelift-wasm"
version = "0.108.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dac491fd3473944781f0cf9528c90cc899d18ad438da21961a839a3a44d57dfb"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
"cranelift-frontend",
"itertools 0.12.1",
"log",
"smallvec",
"wasmparser 0.207.0",
"wasmtime-types",
]
[[package]]
name = "crc"
version = "3.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
dependencies = [
"crc-catalog",
]
[[package]]
name = "crc-catalog"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crc32c"
version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47"
dependencies = [
"rustc_version",
]
[[package]]
name = "crc32fast"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
dependencies = [
"cfg-if",
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "criterion"
version = "0.5.1"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
dependencies = [
"anes",
"cast",
"ciborium",
"clap",
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
"criterion-plot",
"is-terminal",
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
"itertools 0.10.5",
"num-traits",
"once_cell",
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
"oorandom",
"plotters",
"rayon",
"regex",
"serde",
"serde_derive",
"serde_json",
"tinytemplate",
"walkdir",
]
[[package]]
name = "criterion-plot"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
dependencies = [
"cast",
"itertools 0.10.5",
]
[[package]]
name = "crossbeam-channel"
version = "0.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
dependencies = [
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
dependencies = [
"crossbeam-epoch",
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
]
2021-04-13 23:51:49 +03:00
[[package]]
name = "crossbeam-queue"
version = "0.3.11"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
2021-04-13 23:51:49 +03:00
dependencies = [
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "crunchy"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "crypto-bigint"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
dependencies = [
"generic-array",
"rand_core 0.6.4",
"subtle",
"zeroize",
]
[[package]]
name = "crypto-bigint"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
"rand_core 0.6.4",
"subtle",
]
[[package]]
name = "crypto-common"
2022-10-13 01:39:04 +03:00
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
2022-04-21 18:30:08 +03:00
"generic-array",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"rand_core 0.6.4",
"typenum",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "ctor"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
2021-02-21 02:05:36 +03:00
dependencies = [
"quote",
"syn 2.0.76",
2021-02-21 02:05:36 +03:00
]
[[package]]
name = "ctrlc"
version = "3.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
dependencies = [
Update Rust crate nix to 0.29 (#17383) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [nix](https://redirect.github.com/nix-rust/nix) | workspace.dependencies | minor | `0.28` -> `0.29` | --- ### Release Notes <details> <summary>nix-rust/nix (nix)</summary> ### [`v0.29.0`](https://redirect.github.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0290---2024-05-24) [Compare Source](https://redirect.github.com/nix-rust/nix/compare/v0.28.0...v0.29.0) ##### Added - Add `getregset()/setregset()` for Linux/glibc/x86/x86\_64/aarch64/riscv64 and `getregs()/setregs()` for Linux/glibc/aarch64/riscv64 ([#&#8203;2044](https://redirect.github.com/nix-rust/nix/pull/2044)) - Add socket option Ipv6Ttl for apple targets. ([#&#8203;2287](https://redirect.github.com/nix-rust/nix/pull/2287)) - Add socket option UtunIfname. ([#&#8203;2325](https://redirect.github.com/nix-rust/nix/pull/2325)) - make SigAction repr(transparent) & can be converted to the libc raw type ([#&#8203;2326](https://redirect.github.com/nix-rust/nix/pull/2326)) - Add `From` trait implementation for conversions between `sockaddr_in` and `SockaddrIn`, `sockaddr_in6` and `SockaddrIn6` ([#&#8203;2328](https://redirect.github.com/nix-rust/nix/pull/2328)) - Add socket option ReusePortLb for FreeBSD. ([#&#8203;2332](https://redirect.github.com/nix-rust/nix/pull/2332)) - Added support for openat2 on linux. ([#&#8203;2339](https://redirect.github.com/nix-rust/nix/pull/2339)) - Add if_indextoname function. ([#&#8203;2340](https://redirect.github.com/nix-rust/nix/pull/2340)) - Add `mount` and `unmount` API for apple targets. ([#&#8203;2347](https://redirect.github.com/nix-rust/nix/pull/2347)) - Added `_PC_MIN_HOLE_SIZE` for `pathconf` and `fpathconf`. ([#&#8203;2349](https://redirect.github.com/nix-rust/nix/pull/2349)) - Added `impl AsFd for pty::PtyMaster` ([#&#8203;2355](https://redirect.github.com/nix-rust/nix/pull/2355)) - Add `open` flag `O_SEARCH` to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI ([#&#8203;2374](https://redirect.github.com/nix-rust/nix/pull/2374)) - Add prctl function `prctl_set_vma_anon_name` for Linux/Android. ([#&#8203;2378](https://redirect.github.com/nix-rust/nix/pull/2378)) - Add `sync(2)` for `apple_targets/solarish/haiku/aix/hurd`, `syncfs(2)` for `hurd` and `fdatasync(2)` for `aix/hurd` ([#&#8203;2379](https://redirect.github.com/nix-rust/nix/pull/2379)) - Add fdatasync support for Apple targets. ([#&#8203;2380](https://redirect.github.com/nix-rust/nix/pull/2380)) - Add `fcntl::OFlag::O_PATH` for FreeBSD and Fuchsia ([#&#8203;2382](https://redirect.github.com/nix-rust/nix/pull/2382)) - Added `PathconfVar::MIN_HOLE_SIZE` for apple_targets. ([#&#8203;2388](https://redirect.github.com/nix-rust/nix/pull/2388)) - Add `open` flag `O_SEARCH` to apple_targets ([#&#8203;2391](https://redirect.github.com/nix-rust/nix/pull/2391)) - `O_DSYNC` may now be used with `aio_fsync` and `fcntl` on FreeBSD. ([#&#8203;2404](https://redirect.github.com/nix-rust/nix/pull/2404)) - Added `Flock::relock` for upgrading and downgrading locks. ([#&#8203;2407](https://redirect.github.com/nix-rust/nix/pull/2407)) ##### Changed - Change the `ForkptyResult` type to the following repr so that the uninitialized `master` field won't be accessed in the child process: ````rs pub enum ForkptyResult { Parent { child: Pid, master: OwnedFd, }, Child, } ``` ([#&#8203;2315](https://redirect.github.com/nix-rust/nix/pull/2315)) ```` - Updated `cfg_aliases` dependency from version 0.1 to 0.2 ([#&#8203;2322](https://redirect.github.com/nix-rust/nix/pull/2322)) - Change the signature of `ptrace::write` and `ptrace::write_user` to make them safe ([#&#8203;2324](https://redirect.github.com/nix-rust/nix/pull/2324)) - Allow use of `SignalFd` through shared reference Like with many other file descriptors, concurrent use of signalfds is safe. Changing the signal mask of and reading signals from a signalfd can now be done with the `SignalFd` API even if other references to it exist. ([#&#8203;2367](https://redirect.github.com/nix-rust/nix/pull/2367)) - Changed tee, splice and vmsplice RawFd arguments to AsFd. ([#&#8203;2387](https://redirect.github.com/nix-rust/nix/pull/2387)) - Added I/O safety to the sys/aio module. Most functions that previously accepted a `AsRawFd` argument now accept an `AsFd` instead. ([#&#8203;2401](https://redirect.github.com/nix-rust/nix/pull/2401)) - `RecvMsg::cmsgs()` now returns a `Result`, and checks that cmsgs were not truncated. ([#&#8203;2413](https://redirect.github.com/nix-rust/nix/pull/2413)) ##### Fixed - No longer panics when the `fanotify` queue overflows. ([#&#8203;2399](https://redirect.github.com/nix-rust/nix/pull/2399)) - Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to reflect the used kernel's one. ([#&#8203;2406](https://redirect.github.com/nix-rust/nix/pull/2406)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 17:17:46 +03:00
"nix",
"windows-sys 0.59.0",
]
[[package]]
name = "curl"
version = "0.4.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6"
dependencies = [
"curl-sys",
"libc",
"openssl-probe",
"openssl-sys",
"schannel",
"socket2 0.5.7",
"windows-sys 0.52.0",
]
[[package]]
name = "curl-sys"
version = "0.4.74+curl-8.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf"
dependencies = [
"cc",
"libc",
"libz-sys",
"openssl-sys",
"pkg-config",
"vcpkg",
"windows-sys 0.52.0",
]
[[package]]
name = "cursor-icon"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
[[package]]
name = "dashmap"
2023-09-15 16:31:33 +03:00
version = "5.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-15 16:31:33 +03:00
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
dependencies = [
"cfg-if",
"hashbrown 0.14.5",
"lock_api",
"once_cell",
"parking_lot_core",
]
[[package]]
name = "dashmap"
version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28"
dependencies = [
"cfg-if",
"crossbeam-utils",
"hashbrown 0.14.5",
"lock_api",
"once_cell",
"parking_lot_core",
]
[[package]]
name = "dasp_sample"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
[[package]]
name = "data-encoding"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
2021-04-06 14:44:38 +03:00
[[package]]
name = "data-url"
version = "0.3.1"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
2021-04-06 14:44:38 +03:00
[[package]]
name = "db"
version = "0.1.0"
2023-10-22 19:34:45 +03:00
dependencies = [
"anyhow",
"gpui",
2023-10-22 19:34:45 +03:00
"indoc",
"log",
"paths",
"release_channel",
2023-10-22 19:34:45 +03:00
"smol",
"sqlez",
"sqlez_macros",
2024-01-24 20:58:09 +03:00
"tempfile",
2023-10-22 19:34:45 +03:00
"util",
]
[[package]]
name = "dbus"
version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
dependencies = [
"libc",
"libdbus-sys",
"winapi",
]
[[package]]
name = "deflate64"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b"
[[package]]
name = "der"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
dependencies = [
"const-oid",
"zeroize",
]
[[package]]
name = "der"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
dependencies = [
"const-oid",
"pem-rfc7468",
"zeroize",
]
2023-08-01 17:40:38 +03:00
[[package]]
name = "deranged"
version = "0.3.11"
2023-08-01 17:40:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
2023-08-01 17:40:38 +03:00
dependencies = [
"powerfmt",
2023-08-01 17:40:38 +03:00
"serde",
]
2023-07-26 21:54:23 +03:00
[[package]]
name = "derive_more"
version = "0.99.18"
2023-07-26 21:54:23 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce"
2023-07-26 21:54:23 +03:00
dependencies = [
"convert_case 0.4.0",
2023-07-26 21:54:23 +03:00
"proc-macro2",
"quote",
2023-09-22 04:54:59 +03:00
"rustc_version",
"syn 2.0.76",
2023-07-26 21:54:23 +03:00
]
[[package]]
name = "derive_refineable"
version = "0.1.0"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "dev_server_projects"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"gpui",
"rpc",
"serde",
"serde_json",
]
[[package]]
name = "diagnostics"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"collections",
Rework project diagnostics to prevent showing inconsistent state (#10922) For a long time, we've had problems where diagnostics can end up showing up inconsistently in different views. This PR is my attempt to prevent that, and to simplify the system in the process. There are some UX changes. Diagnostic behaviors that have *not* changed: * In-buffer diagnostics update immediately when LSPs send diagnostics updates. * The diagnostic counts in the status bar indicator also update immediately. Diagnostic behaviors that this PR changes: * [x] The tab title for the project diagnostics view now simply shows the same counts as the status bar indicator - the project's current totals. Previously, this tab title showed something slightly different - the numbers of diagnostics *currently shown* in the diagnostics view's excerpts. But it was pretty confusing that you could sometimes see two different diagnostic counts. * [x] The project diagnostics view **never** updates its excerpts while the user might be in the middle of typing it that view, unless the user expressed an intent for the excerpts to update (by e.g. saving the buffer). This was the behavior we originally implemented, but has changed a few times since then, in attempts to fix other issues. I've restored that invariant. Times when the excerpts will update: * diagnostics are updated while the diagnostics view is not focused * the user changes focus away from the diagnostics view * the language server sends a `work done progress end` message for its disk-based diagnostics token (i.e. cargo check finishes) * the user saves a buffer associated with a language server, and then a debounce timer expires * [x] The project diagnostics view indicates when its diagnostics are stale. States: * when diagnostics have been updated while the diagnostics view was focused: * the indicator shows a 'refresh' icon * clicking the indicator updates the excerpts * when diagnostics have been updated, but a file has been saved, so that the diagnostics will soon update, the indicator is disabled With these UX changes, the only 'complex' part of the our diagnostics presentation is the Project Diagnostics view's excerpt management, because it needs to implement the deferred updates in order to avoid disrupting the user while they may be typing. I want to take some steps to reduce the potential for bugs in this view. * [x] Reduce the amount of state that the view uses, and simplify its implementation * [x] Add a randomized test that checks the invariant that a mutated diagnostics view matches a freshly computed diagnostics view ## Release Notes - Reworked the project diagnostics view: - Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it. - Fixed bugs where the project diagnostics view could show the wrong excerpts. - Changed the diagnostics view to always update its excerpts eagerly when not focused. - Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed. --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2024-04-26 04:12:15 +03:00
"ctor",
"editor",
Rework project diagnostics to prevent showing inconsistent state (#10922) For a long time, we've had problems where diagnostics can end up showing up inconsistently in different views. This PR is my attempt to prevent that, and to simplify the system in the process. There are some UX changes. Diagnostic behaviors that have *not* changed: * In-buffer diagnostics update immediately when LSPs send diagnostics updates. * The diagnostic counts in the status bar indicator also update immediately. Diagnostic behaviors that this PR changes: * [x] The tab title for the project diagnostics view now simply shows the same counts as the status bar indicator - the project's current totals. Previously, this tab title showed something slightly different - the numbers of diagnostics *currently shown* in the diagnostics view's excerpts. But it was pretty confusing that you could sometimes see two different diagnostic counts. * [x] The project diagnostics view **never** updates its excerpts while the user might be in the middle of typing it that view, unless the user expressed an intent for the excerpts to update (by e.g. saving the buffer). This was the behavior we originally implemented, but has changed a few times since then, in attempts to fix other issues. I've restored that invariant. Times when the excerpts will update: * diagnostics are updated while the diagnostics view is not focused * the user changes focus away from the diagnostics view * the language server sends a `work done progress end` message for its disk-based diagnostics token (i.e. cargo check finishes) * the user saves a buffer associated with a language server, and then a debounce timer expires * [x] The project diagnostics view indicates when its diagnostics are stale. States: * when diagnostics have been updated while the diagnostics view was focused: * the indicator shows a 'refresh' icon * clicking the indicator updates the excerpts * when diagnostics have been updated, but a file has been saved, so that the diagnostics will soon update, the indicator is disabled With these UX changes, the only 'complex' part of the our diagnostics presentation is the Project Diagnostics view's excerpt management, because it needs to implement the deferred updates in order to avoid disrupting the user while they may be typing. I want to take some steps to reduce the potential for bugs in this view. * [x] Reduce the amount of state that the view uses, and simplify its implementation * [x] Add a randomized test that checks the invariant that a mutated diagnostics view matches a freshly computed diagnostics view ## Release Notes - Reworked the project diagnostics view: - Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it. - Fixed bugs where the project diagnostics view could show the wrong excerpts. - Changed the diagnostics view to always update its excerpts eagerly when not focused. - Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed. --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2024-04-26 04:12:15 +03:00
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"log",
"lsp",
Rework project diagnostics to prevent showing inconsistent state (#10922) For a long time, we've had problems where diagnostics can end up showing up inconsistently in different views. This PR is my attempt to prevent that, and to simplify the system in the process. There are some UX changes. Diagnostic behaviors that have *not* changed: * In-buffer diagnostics update immediately when LSPs send diagnostics updates. * The diagnostic counts in the status bar indicator also update immediately. Diagnostic behaviors that this PR changes: * [x] The tab title for the project diagnostics view now simply shows the same counts as the status bar indicator - the project's current totals. Previously, this tab title showed something slightly different - the numbers of diagnostics *currently shown* in the diagnostics view's excerpts. But it was pretty confusing that you could sometimes see two different diagnostic counts. * [x] The project diagnostics view **never** updates its excerpts while the user might be in the middle of typing it that view, unless the user expressed an intent for the excerpts to update (by e.g. saving the buffer). This was the behavior we originally implemented, but has changed a few times since then, in attempts to fix other issues. I've restored that invariant. Times when the excerpts will update: * diagnostics are updated while the diagnostics view is not focused * the user changes focus away from the diagnostics view * the language server sends a `work done progress end` message for its disk-based diagnostics token (i.e. cargo check finishes) * the user saves a buffer associated with a language server, and then a debounce timer expires * [x] The project diagnostics view indicates when its diagnostics are stale. States: * when diagnostics have been updated while the diagnostics view was focused: * the indicator shows a 'refresh' icon * clicking the indicator updates the excerpts * when diagnostics have been updated, but a file has been saved, so that the diagnostics will soon update, the indicator is disabled With these UX changes, the only 'complex' part of the our diagnostics presentation is the Project Diagnostics view's excerpt management, because it needs to implement the deferred updates in order to avoid disrupting the user while they may be typing. I want to take some steps to reduce the potential for bugs in this view. * [x] Reduce the amount of state that the view uses, and simplify its implementation * [x] Add a randomized test that checks the invariant that a mutated diagnostics view matches a freshly computed diagnostics view ## Release Notes - Reworked the project diagnostics view: - Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it. - Fixed bugs where the project diagnostics view could show the wrong excerpts. - Changed the diagnostics view to always update its excerpts eagerly when not focused. - Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed. --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2024-04-26 04:12:15 +03:00
"pretty_assertions",
"project",
Rework project diagnostics to prevent showing inconsistent state (#10922) For a long time, we've had problems where diagnostics can end up showing up inconsistently in different views. This PR is my attempt to prevent that, and to simplify the system in the process. There are some UX changes. Diagnostic behaviors that have *not* changed: * In-buffer diagnostics update immediately when LSPs send diagnostics updates. * The diagnostic counts in the status bar indicator also update immediately. Diagnostic behaviors that this PR changes: * [x] The tab title for the project diagnostics view now simply shows the same counts as the status bar indicator - the project's current totals. Previously, this tab title showed something slightly different - the numbers of diagnostics *currently shown* in the diagnostics view's excerpts. But it was pretty confusing that you could sometimes see two different diagnostic counts. * [x] The project diagnostics view **never** updates its excerpts while the user might be in the middle of typing it that view, unless the user expressed an intent for the excerpts to update (by e.g. saving the buffer). This was the behavior we originally implemented, but has changed a few times since then, in attempts to fix other issues. I've restored that invariant. Times when the excerpts will update: * diagnostics are updated while the diagnostics view is not focused * the user changes focus away from the diagnostics view * the language server sends a `work done progress end` message for its disk-based diagnostics token (i.e. cargo check finishes) * the user saves a buffer associated with a language server, and then a debounce timer expires * [x] The project diagnostics view indicates when its diagnostics are stale. States: * when diagnostics have been updated while the diagnostics view was focused: * the indicator shows a 'refresh' icon * clicking the indicator updates the excerpts * when diagnostics have been updated, but a file has been saved, so that the diagnostics will soon update, the indicator is disabled With these UX changes, the only 'complex' part of the our diagnostics presentation is the Project Diagnostics view's excerpt management, because it needs to implement the deferred updates in order to avoid disrupting the user while they may be typing. I want to take some steps to reduce the potential for bugs in this view. * [x] Reduce the amount of state that the view uses, and simplify its implementation * [x] Add a randomized test that checks the invariant that a mutated diagnostics view matches a freshly computed diagnostics view ## Release Notes - Reworked the project diagnostics view: - Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it. - Fixed bugs where the project diagnostics view could show the wrong excerpts. - Changed the diagnostics view to always update its excerpts eagerly when not focused. - Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed. --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2024-04-26 04:12:15 +03:00
"rand 0.8.5",
"schemars",
"serde",
"serde_json",
"settings",
"theme",
"ui",
"unindent",
"util",
"workspace",
]
[[package]]
name = "dialoguer"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
dependencies = [
"console",
"fuzzy-matcher",
"shell-words",
"tempfile",
"thiserror",
"zeroize",
]
[[package]]
name = "diff"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
[[package]]
name = "digest"
2023-07-07 21:24:29 +03:00
version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer",
"const-oid",
"crypto-common",
"subtle",
]
[[package]]
name = "dirs"
version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
dependencies = [
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"dirs-sys 0.3.7",
]
[[package]]
name = "dirs"
version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
dependencies = [
"dirs-sys 0.4.1",
]
[[package]]
name = "dirs-sys"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
dependencies = [
"libc",
"redox_users",
"winapi",
2021-03-10 07:00:51 +03:00
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "dirs-sys"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
dependencies = [
"libc",
"option-ext",
"redox_users",
"windows-sys 0.48.0",
]
[[package]]
name = "dlib"
2023-07-07 21:24:29 +03:00
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
dependencies = [
"libloading",
]
[[package]]
name = "docs_preprocessor"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"mdbook",
"regex",
"serde",
"serde_json",
"settings",
"util",
]
[[package]]
2022-10-13 01:39:04 +03:00
name = "dotenvy"
version = "0.15.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
[[package]]
name = "downcast-rs"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "doxygen-rs"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9"
dependencies = [
"phf",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "dwrote"
version = "0.11.1"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da3498378ed373237bdef1eddcc64e7be2d3ba4841f4c22a998e81cadeea83c"
2021-03-10 07:00:51 +03:00
dependencies = [
"lazy_static",
"libc",
"winapi",
2021-03-10 07:00:51 +03:00
"wio",
]
[[package]]
name = "dyn-clone"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]]
name = "ecdsa"
version = "0.14.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c"
dependencies = [
"der 0.6.1",
"elliptic-curve",
"rfc6979",
"signature 1.6.4",
]
[[package]]
name = "editor"
version = "0.1.0"
2023-11-03 00:27:49 +03:00
dependencies = [
"aho-corasick",
"anyhow",
"assets",
"chrono",
"client",
2023-11-03 00:27:49 +03:00
"clock",
"collections",
"convert_case 0.6.0",
"ctor",
"db",
"emojis",
"env_logger",
"file_icons",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"git",
"gpui",
"http_client",
2023-11-03 00:27:49 +03:00
"indoc",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"language",
"linkify",
2023-11-03 00:27:49 +03:00
"log",
"lsp",
"markdown",
"multi_buffer",
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
"ordered-float 2.10.1",
"parking_lot",
"project",
2023-11-03 00:27:49 +03:00
"rand 0.8.5",
"release_channel",
"rpc",
2023-11-03 00:27:49 +03:00
"schemars",
"serde",
2023-11-03 12:53:55 +03:00
"serde_json",
"settings",
2023-11-03 00:27:49 +03:00
"smallvec",
"smol",
"snippet",
"sum_tree",
"task",
"text",
"theme",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"time",
"time_format",
2023-11-03 00:27:49 +03:00
"tree-sitter-html",
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
2023-11-03 00:27:49 +03:00
"unindent",
"url",
2023-11-03 00:27:49 +03:00
"util",
"workspace",
2023-11-03 00:27:49 +03:00
]
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
[[package]]
name = "educe"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4bd92664bf78c4d3dba9b7cdafce6fa15b13ed3ed16175218196942e99168a8"
dependencies = [
"enum-ordinalize",
"proc-macro2",
"quote",
"syn 2.0.76",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
]
[[package]]
name = "either"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
dependencies = [
"serde",
]
[[package]]
name = "elasticlunr-rs"
version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41e83863a500656dfa214fee6682de9c5b9f03de6860fec531235ed2ae9f6571"
dependencies = [
"regex",
"serde",
"serde_derive",
"serde_json",
]
[[package]]
name = "elliptic-curve"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
dependencies = [
"base16ct",
"crypto-bigint 0.4.9",
"der 0.6.1",
"digest",
"ff",
"generic-array",
"group",
"pkcs8 0.9.0",
"rand_core 0.6.4",
"sec1",
"subtle",
"zeroize",
]
[[package]]
name = "embed-resource"
version = "2.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4edcacde9351c33139a41e3c97eb2334351a81a2791bebb0b243df837128f602"
dependencies = [
"cc",
"memchr",
"rustc_version",
"toml 0.8.19",
"vswhom",
"winreg 0.52.0",
]
[[package]]
name = "embedded-io"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
[[package]]
name = "embedded-io"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d"
[[package]]
name = "emojis"
Update Rust crate emojis to v0.6.3 (#15568) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [emojis](https://togithub.com/rossmacarthur/emojis) | workspace.dependencies | patch | `0.6.1` -> `0.6.3` | --- ### Release Notes <details> <summary>rossmacarthur/emojis (emojis)</summary> ### [`v0.6.3`](https://togithub.com/rossmacarthur/emojis/compare/0.6.2...0.6.3) [Compare Source](https://togithub.com/rossmacarthur/emojis/compare/0.6.2...0.6.3) ### [`v0.6.2`](https://togithub.com/rossmacarthur/emojis/compare/0.6.1...0.6.2) [Compare Source](https://togithub.com/rossmacarthur/emojis/compare/0.6.1...0.6.2) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 00:37:45 +03:00
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate emojis to v0.6.3 (#15568) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [emojis](https://togithub.com/rossmacarthur/emojis) | workspace.dependencies | patch | `0.6.1` -> `0.6.3` | --- ### Release Notes <details> <summary>rossmacarthur/emojis (emojis)</summary> ### [`v0.6.3`](https://togithub.com/rossmacarthur/emojis/compare/0.6.2...0.6.3) [Compare Source](https://togithub.com/rossmacarthur/emojis/compare/0.6.2...0.6.3) ### [`v0.6.2`](https://togithub.com/rossmacarthur/emojis/compare/0.6.1...0.6.2) [Compare Source](https://togithub.com/rossmacarthur/emojis/compare/0.6.1...0.6.2) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 00:37:45 +03:00
checksum = "e72f23d65b46527e461b161ab9a126c378aa2249d8a8d15718d23ab1fb4d8786"
dependencies = [
"phf",
]
[[package]]
name = "encode_unicode"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
[[package]]
name = "encoding_rs"
version = "0.8.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
dependencies = [
"cfg-if",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "endi"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
[[package]]
name = "enum-ordinalize"
version = "4.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5"
dependencies = [
"enum-ordinalize-derive",
]
[[package]]
name = "enum-ordinalize-derive"
version = "4.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
]
[[package]]
name = "enumflags2"
version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d"
dependencies = [
"enumflags2_derive",
"serde",
]
[[package]]
name = "enumflags2_derive"
version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "env_filter"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab"
dependencies = [
"log",
"regex",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "env_logger"
version = "0.11.5"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d"
2021-02-21 02:05:36 +03:00
dependencies = [
"anstream",
"anstyle",
"env_filter",
2021-02-21 02:05:36 +03:00
"humantime",
"log",
]
[[package]]
name = "envy"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965"
dependencies = [
"serde",
]
[[package]]
name = "equivalent"
2023-07-11 21:50:48 +03:00
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-11 21:50:48 +03:00
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "erased-serde"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d"
dependencies = [
"serde",
"typeid",
]
[[package]]
name = "errno"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
dependencies = [
"errno-dragonfly",
"libc",
"winapi",
]
[[package]]
name = "errno"
version = "0.3.9"
2022-06-02 11:51:27 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
2022-06-02 11:51:27 +03:00
dependencies = [
"libc",
2024-01-24 20:58:09 +03:00
"windows-sys 0.52.0",
2022-06-02 11:51:27 +03:00
]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "etagere"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e2f1e3be19fb10f549be8c1bf013e8675b4066c445e36eb76d2ebb2f54ee495"
dependencies = [
"euclid",
"svg_fmt",
]
[[package]]
name = "etcetera"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
dependencies = [
"cfg-if",
"home",
"windows-sys 0.48.0",
]
[[package]]
name = "euclid"
version = "0.22.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48"
dependencies = [
"num-traits",
]
[[package]]
name = "event-listener"
2022-10-13 01:39:04 +03:00
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "event-listener"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "event-listener"
version = "5.3.1"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
[[package]]
name = "event-listener-strategy"
version = "0.5.2"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"event-listener 5.3.1",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"pin-project-lite",
]
[[package]]
name = "exec"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "886b70328cba8871bfc025858e1de4be16b1d5088f2ba50b57816f4210672615"
dependencies = [
"errno 0.2.8",
"libc",
]
[[package]]
name = "exr"
version = "1.72.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
dependencies = [
"bit_field",
"flume",
"half",
"lebe",
"miniz_oxide 0.7.4",
"rayon-core",
"smallvec",
"zune-inflate",
]
[[package]]
name = "extension"
version = "0.1.0"
dependencies = [
"anyhow",
"assistant_slash_command",
"async-compression",
"async-tar",
"async-trait",
"client",
"collections",
"ctor",
"env_logger",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"indexed_docs",
"isahc",
"language",
"log",
"lsp",
"node_runtime",
"parking_lot",
"paths",
"project",
"release_channel",
"schemars",
"semantic_version",
"serde",
"serde_json",
"serde_json_lenient",
"settings",
"snippet_provider",
"task",
"theme",
"toml 0.8.19",
"ui",
"url",
"util",
"wasm-encoder 0.201.0",
"wasmparser 0.201.0",
"wasmtime",
"wasmtime-wasi",
"wit-component",
"workspace",
]
[[package]]
name = "extension_cli"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"env_logger",
"extension",
"fs",
"http_client",
"language",
"log",
"rpc",
"serde",
"serde_json",
"theme",
"tokio",
"toml 0.8.19",
"tree-sitter",
"wasmtime",
]
[[package]]
name = "extensions_ui"
version = "0.1.0"
dependencies = [
Add a command for building and installing a locally-developed Zed extension (#8781) This PR adds an `zed: Install Local Extension` action, which lets you select a path to a folder containing a Zed extension, and install that . When you select a directory, the extension will be compiled (both the Tree-sitter grammars and the Rust code for the extension itself) and installed as a Zed extension, using a symlink. ### Details A few dependencies are needed to build an extension: * The Rust `wasm32-wasi` target. This is automatically installed if needed via `rustup`. * A wasi-preview1 adapter WASM module, for building WASM components with Rust. This is automatically downloaded if needed from a `wasmtime` GitHub release * For building Tree-sitter parsers, a distribution of `wasi-sdk`. This is automatically downloaded if needed from a `wasi-sdk` GitHub release. The downloaded artifacts are cached in a support directory called `Zed/extensions/build`. ### Tasks UX * [x] Show local extensions in the Extensions view * [x] Provide a button for recompiling a linked extension * [x] Make this action discoverable by adding a button for it on the Extensions view * [ ] Surface errors (don't just write them to the Zed log) Packaging * [ ] Create a separate executable that performs the extension compilation. We'll switch the packaging system in our [extensions](https://github.com/zed-industries/extensions) repo to use this binary, so that there is one canonical definition of how to build/package an extensions. ### Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-03-07 02:35:22 +03:00
"anyhow",
"client",
"collections",
"db",
"editor",
"extension",
"fs",
Add a command for building and installing a locally-developed Zed extension (#8781) This PR adds an `zed: Install Local Extension` action, which lets you select a path to a folder containing a Zed extension, and install that . When you select a directory, the extension will be compiled (both the Tree-sitter grammars and the Rust code for the extension itself) and installed as a Zed extension, using a symlink. ### Details A few dependencies are needed to build an extension: * The Rust `wasm32-wasi` target. This is automatically installed if needed via `rustup`. * A wasi-preview1 adapter WASM module, for building WASM components with Rust. This is automatically downloaded if needed from a `wasmtime` GitHub release * For building Tree-sitter parsers, a distribution of `wasi-sdk`. This is automatically downloaded if needed from a `wasi-sdk` GitHub release. The downloaded artifacts are cached in a support directory called `Zed/extensions/build`. ### Tasks UX * [x] Show local extensions in the Extensions view * [x] Provide a button for recompiling a linked extension * [x] Make this action discoverable by adding a button for it on the Extensions view * [ ] Surface errors (don't just write them to the Zed log) Packaging * [ ] Create a separate executable that performs the extension compilation. We'll switch the packaging system in our [extensions](https://github.com/zed-industries/extensions) repo to use this binary, so that there is one canonical definition of how to build/package an extensions. ### Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-03-07 02:35:22 +03:00
"fuzzy",
"gpui",
"language",
"num-format",
"picker",
"project",
"release_channel",
"semantic_version",
"serde",
"settings",
Add a command for building and installing a locally-developed Zed extension (#8781) This PR adds an `zed: Install Local Extension` action, which lets you select a path to a folder containing a Zed extension, and install that . When you select a directory, the extension will be compiled (both the Tree-sitter grammars and the Rust code for the extension itself) and installed as a Zed extension, using a symlink. ### Details A few dependencies are needed to build an extension: * The Rust `wasm32-wasi` target. This is automatically installed if needed via `rustup`. * A wasi-preview1 adapter WASM module, for building WASM components with Rust. This is automatically downloaded if needed from a `wasmtime` GitHub release * For building Tree-sitter parsers, a distribution of `wasi-sdk`. This is automatically downloaded if needed from a `wasi-sdk` GitHub release. The downloaded artifacts are cached in a support directory called `Zed/extensions/build`. ### Tasks UX * [x] Show local extensions in the Extensions view * [x] Provide a button for recompiling a linked extension * [x] Make this action discoverable by adding a button for it on the Extensions view * [ ] Surface errors (don't just write them to the Zed log) Packaging * [ ] Create a separate executable that performs the extension compilation. We'll switch the packaging system in our [extensions](https://github.com/zed-industries/extensions) repo to use this binary, so that there is one canonical definition of how to build/package an extensions. ### Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-03-07 02:35:22 +03:00
"smallvec",
"theme",
"theme_selector",
"ui",
Add a command for building and installing a locally-developed Zed extension (#8781) This PR adds an `zed: Install Local Extension` action, which lets you select a path to a folder containing a Zed extension, and install that . When you select a directory, the extension will be compiled (both the Tree-sitter grammars and the Rust code for the extension itself) and installed as a Zed extension, using a symlink. ### Details A few dependencies are needed to build an extension: * The Rust `wasm32-wasi` target. This is automatically installed if needed via `rustup`. * A wasi-preview1 adapter WASM module, for building WASM components with Rust. This is automatically downloaded if needed from a `wasmtime` GitHub release * For building Tree-sitter parsers, a distribution of `wasi-sdk`. This is automatically downloaded if needed from a `wasi-sdk` GitHub release. The downloaded artifacts are cached in a support directory called `Zed/extensions/build`. ### Tasks UX * [x] Show local extensions in the Extensions view * [x] Provide a button for recompiling a linked extension * [x] Make this action discoverable by adding a button for it on the Extensions view * [ ] Surface errors (don't just write them to the Zed log) Packaging * [ ] Create a separate executable that performs the extension compilation. We'll switch the packaging system in our [extensions](https://github.com/zed-industries/extensions) repo to use this binary, so that there is one canonical definition of how to build/package an extensions. ### Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-03-07 02:35:22 +03:00
"util",
"vim",
"workspace",
]
[[package]]
name = "fallible-iterator"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
2023-06-02 18:21:18 +03:00
[[package]]
name = "fancy-regex"
version = "0.12.0"
2023-06-02 18:21:18 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7493d4c459da9f84325ad297371a6b2b8a162800873a22e3b6b6512e61d18c05"
2023-06-02 18:21:18 +03:00
dependencies = [
"bit-set 0.5.3",
2023-06-02 18:21:18 +03:00
"regex",
]
[[package]]
name = "fast-srgb8"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1"
[[package]]
name = "fastrand"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
dependencies = [
"instant",
]
2023-07-26 16:50:38 +03:00
[[package]]
name = "fastrand"
version = "2.1.1"
2023-07-26 16:50:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
2023-07-26 16:50:38 +03:00
[[package]]
name = "fd-lock"
version = "4.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947"
dependencies = [
"cfg-if",
"rustix 0.38.35",
"windows-sys 0.52.0",
]
[[package]]
name = "fdeflate"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
dependencies = [
"simd-adler32",
]
[[package]]
name = "feature_flags"
version = "0.1.0"
2023-10-22 17:53:59 +03:00
dependencies = [
"gpui",
2023-10-22 17:53:59 +03:00
]
[[package]]
name = "feedback"
version = "0.1.0"
dependencies = [
"anyhow",
"bitflags 2.6.0",
"client",
"db",
"editor",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"human_bytes",
"isahc",
"language",
"log",
"menu",
"project",
"regex",
"release_channel",
"serde",
"serde_derive",
"serde_json",
2023-12-14 05:18:50 +03:00
"smol",
"sysinfo",
"ui",
"urlencoding",
"util",
"workspace",
]
[[package]]
name = "ff"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
dependencies = [
"rand_core 0.6.4",
"subtle",
]
[[package]]
name = "file_finder"
version = "0.1.0"
2023-11-14 19:28:18 +03:00
dependencies = [
2024-01-11 18:22:24 +03:00
"anyhow",
2023-11-14 19:28:18 +03:00
"collections",
"ctor",
"editor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"gpui",
"language",
"menu",
"picker",
"project",
"serde",
2023-11-14 19:28:18 +03:00
"serde_json",
Add preview tabs (#9125) This PR implements the preview tabs feature from VSCode. More details and thanks for the head start of the implementation here #6782. Here is what I have observed from using the vscode implementation ([x] -> already implemented): - [x] Single click on project file opens tab as preview - [x] Double click on item in project panel opens tab as permanent - [x] Double click on the tab makes it permanent - [x] Navigating away from the tab makes the tab permanent and the new tab is shown as preview (e.g. GoToReference) - [x] Existing preview tab is reused when opening a new tab - [x] Dragging tab to the same/another panel makes the tab permanent - [x] Opening a tab from the file finder makes the tab permanent - [x] Editing a preview tab will make the tab permanent - [x] Using the space key in the project panel opens the tab as preview - [x] Handle navigation history correctly (restore a preview tab as preview as well) - [x] Restore preview tabs after restarting - [x] Support opening files from file finder in preview mode (vscode: "Enable Preview From Quick Open") I need to do some more testing of the vscode implementation, there might be other behaviors/workflows which im not aware of that open an item as preview/make them permanent. Showcase: https://github.com/zed-industries/zed/assets/53836821/9be16515-c740-4905-bea1-88871112ef86 TODOs - [x] Provide `enable_preview_tabs` setting - [x] Write some tests - [x] How should we handle this in collaboration mode (have not tested the behavior so far) - [x] Keyboard driven usage (probably need workspace commands) - [x] Register `TogglePreviewTab` only when setting enabled? - [x] Render preview tabs in tab switcher as italic - [x] Render preview tabs in image viewer as italic - [x] Should this be enabled by default (it is the default behavior in VSCode)? - [x] Docs Future improvements (out of scope for now): - Support preview mode for find all references and possibly other multibuffers (VSCode: "Enable Preview From Code Navigation") Release Notes: - Added preview tabs ([#4922](https://github.com/zed-industries/zed/issues/4922)). --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
2024-04-12 00:09:12 +03:00
"settings",
"text",
"theme",
"ui",
2023-11-14 19:28:18 +03:00
"util",
"workspace",
2023-11-14 19:28:18 +03:00
]
File context for assistant panel (#9712) Introducing the Active File Context portion of #9705. When someone is in the assistant panel it now includes the active file as a system message on send while showing them a nice little display in the lower right: ![image](https://github.com/zed-industries/zed/assets/836375/9abc56e0-e8f2-45ee-9e7e-b83b28b483ea) For this iteration, I'd love to see the following before we land this: * [x] Toggle-able context - user should be able to disable sending this context * [x] Show nothing if there is no context coming in * [x] Update token count as we change items * [x] Listen for a more finely scoped event for when the active item changes * [x] Create a global for pulling a file icon based on a path. Zed's main way to do this is nested within project panel's `FileAssociation`s. * [x] Get the code fence name for a Language for the system prompt * [x] Update the token count when the buffer content changes I'm seeing this PR as the foundation for providing other kinds of context -- diagnostic summaries, failing tests, additional files, etc. Release Notes: - Added file context to assistant chat panel ([#9705](https://github.com/zed-industries/zed/issues/9705)). <img width="1558" alt="image" src="https://github.com/zed-industries/zed/assets/836375/86eb7e50-3e28-4754-9c3f-895be588616d"> --------- Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-29 23:55:01 +03:00
[[package]]
name = "file_icons"
version = "0.1.0"
dependencies = [
"collections",
"gpui",
"serde",
"serde_derive",
"serde_json",
"util",
]
[[package]]
name = "filedescriptor"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e"
dependencies = [
"libc",
"thiserror",
"winapi",
]
[[package]]
name = "filetime"
version = "0.2.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
dependencies = [
"cfg-if",
"libc",
"libredox",
"windows-sys 0.59.0",
]
[[package]]
name = "fixedbitset"
2022-06-02 11:51:27 +03:00
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-06-02 11:51:27 +03:00
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
2021-04-06 14:44:38 +03:00
[[package]]
name = "flate2"
version = "1.0.33"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253"
2021-04-06 14:44:38 +03:00
dependencies = [
"crc32fast",
"miniz_oxide 0.8.0",
2021-04-06 14:44:38 +03:00
]
[[package]]
name = "float-cmp"
version = "0.9.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
2021-04-06 14:44:38 +03:00
2021-03-10 07:00:51 +03:00
[[package]]
name = "float-ord"
version = "0.3.2"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d"
2021-03-10 07:00:51 +03:00
2022-11-10 06:15:05 +03:00
[[package]]
name = "flume"
version = "0.11.0"
2022-11-10 06:15:05 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
2022-11-10 06:15:05 +03:00
dependencies = [
"futures-core",
"futures-sink",
"nanorand",
"spin",
2022-11-10 06:15:05 +03:00
]
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
2021-03-10 07:00:51 +03:00
[[package]]
name = "font-kit"
version = "0.14.1"
source = "git+https://github.com/zed-industries/font-kit?rev=40391b7#40391b7c0041d8a8572af2afa3de32ae088f0120"
2021-03-10 07:00:51 +03:00
dependencies = [
"bitflags 2.6.0",
2021-03-10 07:00:51 +03:00
"byteorder",
"core-foundation 0.9.4",
"core-graphics 0.23.2",
2021-03-10 07:00:51 +03:00
"core-text",
"dirs 5.0.1",
2021-03-10 07:00:51 +03:00
"dwrote",
"float-ord",
"freetype-sys",
2021-03-10 07:00:51 +03:00
"lazy_static",
"libc",
"log",
"pathfinder_geometry",
"pathfinder_simd",
"walkdir",
"winapi",
"yeslogic-fontconfig-sys",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "font-types"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f0189ccb084f77c5523e08288d418cbaa09c451a08515678a0aa265df9a8b60"
dependencies = [
"bytemuck",
]
[[package]]
name = "fontconfig-parser"
version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7"
dependencies = [
"roxmltree 0.20.0",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "fontdb"
version = "0.18.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e32eac81c1135c1df01d4e6d4233c47ba11f6a6d07f33e0bba09d18797077770"
dependencies = [
"fontconfig-parser",
"log",
"memmap2",
"slotmap",
"tinyvec",
"ttf-parser",
]
[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
dependencies = [
"foreign-types-shared 0.1.1",
]
[[package]]
name = "foreign-types"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
dependencies = [
"foreign-types-macros",
"foreign-types-shared 0.3.1",
]
[[package]]
name = "foreign-types-macros"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "foreign-types-shared"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "foreign-types-shared"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
[[package]]
name = "fork"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05dc8b302e04a1c27f4fe694439ef0f29779ca4edc205b7b58f00db04e29656d"
dependencies = [
"libc",
]
[[package]]
name = "form_urlencoded"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
dependencies = [
"percent-encoding",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "freetype-sys"
version = "0.20.1"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e7edc5b9669349acfda99533e9e0bcf26a51862ab43b08ee7745c55d28eb134"
2021-03-10 07:00:51 +03:00
dependencies = [
"cc",
2021-03-10 07:00:51 +03:00
"libc",
"pkg-config",
]
[[package]]
name = "fs"
version = "0.1.0"
dependencies = [
"anyhow",
"ashpd",
"async-tar",
"async-trait",
"cocoa 0.26.0",
"collections",
"fsevent",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"git",
"git2",
"gpui",
"libc",
"notify",
"objc",
"parking_lot",
"paths",
"rope",
"serde",
"serde_json",
"smol",
"tempfile",
"text",
"time",
"util",
"windows 0.58.0",
]
[[package]]
name = "fs-set-times"
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "033b337d725b97690d86893f9de22b67b80dcc4e9ad815f348254c38119db8fb"
dependencies = [
"io-lifetimes 2.0.3",
"rustix 0.38.35",
"windows-sys 0.52.0",
]
[[package]]
name = "fsevent"
version = "0.1.0"
dependencies = [
"bitflags 2.6.0",
"core-foundation 0.9.4",
"fsevent-sys 3.1.0",
"parking_lot",
2024-01-24 20:58:09 +03:00
"tempfile",
]
[[package]]
name = "fsevent-sys"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca6f5e6817058771c10f0eb0f05ddf1e35844266f972004fe8e4b21fda295bd5"
dependencies = [
"libc",
]
[[package]]
name = "fsevent-sys"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
dependencies = [
"libc",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "funty"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futf"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
dependencies = [
"mac",
"new_debug_unreachable",
]
2021-04-13 23:51:49 +03:00
[[package]]
name = "futures"
version = "0.1.31"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
[[package]]
name = "futures"
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
2021-04-13 23:51:49 +03:00
dependencies = [
"futures-channel",
"futures-core",
"futures-executor",
2021-04-13 23:51:49 +03:00
"futures-io",
"futures-sink",
"futures-task",
"futures-util",
]
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "futures-batch"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f444c45a1cb86f2a7e301469fd50a82084a60dadc25d94529a8312276ecb71a"
dependencies = [
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"futures-timer",
"pin-utils",
]
[[package]]
name = "futures-channel"
version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
dependencies = [
"futures-core",
2021-04-13 23:51:49 +03:00
"futures-sink",
]
[[package]]
name = "futures-core"
version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
[[package]]
name = "futures-executor"
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
dependencies = [
"futures-core",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-intrusive"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
dependencies = [
"futures-core",
"lock_api",
"parking_lot",
]
[[package]]
name = "futures-io"
version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
[[package]]
name = "futures-lite"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
dependencies = [
2023-07-26 16:50:38 +03:00
"fastrand 1.9.0",
"futures-core",
"futures-io",
"memchr",
"parking",
"pin-project-lite",
"waker-fn",
]
[[package]]
name = "futures-lite"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
dependencies = [
"fastrand 2.1.1",
"futures-core",
"futures-io",
"parking",
"pin-project-lite",
]
[[package]]
name = "futures-macro"
version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
2021-04-13 23:51:49 +03:00
[[package]]
name = "futures-sink"
version = "0.3.30"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
2021-04-13 23:51:49 +03:00
[[package]]
name = "futures-task"
version = "0.3.30"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
2021-04-13 23:51:49 +03:00
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "futures-timer"
version = "3.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
2021-04-13 23:51:49 +03:00
[[package]]
name = "futures-util"
version = "0.3.30"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
2021-04-13 23:51:49 +03:00
dependencies = [
"futures 0.1.31",
"futures-channel",
2021-04-13 23:51:49 +03:00
"futures-core",
"futures-io",
"futures-macro",
2021-04-13 23:51:49 +03:00
"futures-sink",
"futures-task",
"memchr",
"pin-project-lite",
2021-04-13 23:51:49 +03:00
"pin-utils",
"slab",
"tokio-io",
2021-04-13 23:51:49 +03:00
]
[[package]]
name = "fuzzy"
version = "0.1.0"
dependencies = [
"gpui",
"util",
]
[[package]]
name = "fuzzy-matcher"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
dependencies = [
"thread_local",
]
[[package]]
name = "generic-array"
version = "0.14.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
dependencies = [
"typenum",
"version_check",
]
[[package]]
name = "gethostname"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
dependencies = [
"libc",
"windows-targets 0.48.5",
]
[[package]]
name = "getrandom"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
dependencies = [
"cfg-if",
"libc",
"wasi 0.9.0+wasi-snapshot-preview1",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "getrandom"
version = "0.2.15"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
2021-03-10 07:00:51 +03:00
dependencies = [
"cfg-if",
"js-sys",
2021-03-10 07:00:51 +03:00
"libc",
2022-06-02 11:51:27 +03:00
"wasi 0.11.0+wasi-snapshot-preview1",
"wasm-bindgen",
2021-03-10 07:00:51 +03:00
]
2021-09-14 17:48:44 +03:00
[[package]]
name = "gif"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
dependencies = [
"color_quant",
"weezl",
]
[[package]]
name = "gimli"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
dependencies = [
"fallible-iterator",
"indexmap 2.4.0",
"stable_deref_trait",
]
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
[[package]]
name = "gimli"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
[[package]]
name = "git"
version = "0.1.0"
dependencies = [
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"anyhow",
"async-trait",
"clock",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"collections",
"derive_more",
"git2",
"gpui",
"http_client",
"log",
"parking_lot",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"pretty_assertions",
"rope",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"serde",
"serde_json",
"smol",
"sum_tree",
"text",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"time",
"unindent",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"url",
"util",
"windows 0.58.0",
]
[[package]]
name = "git2"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724"
dependencies = [
"bitflags 2.6.0",
"libc",
"libgit2-sys",
"log",
"url",
]
[[package]]
name = "git_hosting_providers"
version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"git",
"gpui",
"http_client",
"isahc",
"pretty_assertions",
"regex",
"serde",
"serde_json",
"unindent",
"url",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "glob"
version = "0.3.1"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
2021-02-21 02:05:36 +03:00
[[package]]
name = "globset"
version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
dependencies = [
"aho-corasick",
"bstr",
"log",
"regex-automata 0.4.7",
"regex-syntax 0.8.4",
]
[[package]]
name = "gloo-timers"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
dependencies = [
"futures-channel",
"futures-core",
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "glow"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f865cbd94bd355b89611211e49508da98a1fce0ad755c1e8448fb96711b24528"
dependencies = [
"js-sys",
"slotmap",
"wasm-bindgen",
"web-sys",
]
2021-11-24 20:45:36 +03:00
[[package]]
name = "go_to_line"
version = "0.1.0"
dependencies = [
"anyhow",
"editor",
"gpui",
"indoc",
"language",
"menu",
"project",
"rope",
"schemars",
"serde",
"serde_json",
"settings",
"text",
"theme",
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
"util",
"workspace",
]
[[package]]
name = "google_ai"
version = "0.1.0"
dependencies = [
"anyhow",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"http_client",
"isahc",
"schemars",
"serde",
"serde_json",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
]
[[package]]
name = "gpu-alloc"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
dependencies = [
"bitflags 2.6.0",
"gpu-alloc-types",
]
[[package]]
name = "gpu-alloc-ash"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbda7a18a29bc98c2e0de0435c347df935bf59489935d0cbd0b73f1679b6f79a"
dependencies = [
"ash",
"gpu-alloc-types",
"tinyvec",
]
[[package]]
name = "gpu-alloc-types"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
dependencies = [
"bitflags 2.6.0",
]
[[package]]
name = "gpui"
version = "0.1.0"
2023-09-19 22:09:00 +03:00
dependencies = [
"anyhow",
"as-raw-xcb-connection",
"ashpd",
2023-09-20 05:55:13 +03:00
"async-task",
"backtrace",
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
"bindgen 0.70.1",
"blade-graphics",
"blade-macros",
"blade-util",
2023-09-20 05:55:13 +03:00
"block",
2024-01-30 11:32:30 +03:00
"bytemuck",
"calloop",
"calloop-wayland-source",
2023-09-23 18:10:33 +03:00
"cbindgen",
"cocoa 0.26.0",
2023-09-20 05:55:13 +03:00
"collections",
"core-foundation 0.9.4",
"core-foundation-sys",
"core-graphics 0.23.2",
2023-09-20 05:55:13 +03:00
"core-text",
"cosmic-text",
2023-09-20 05:55:13 +03:00
"ctor",
2023-09-19 22:09:00 +03:00
"derive_more",
"embed-resource",
"env_logger",
2023-09-20 05:55:13 +03:00
"etagere",
"filedescriptor",
"flume",
2023-09-19 22:09:00 +03:00
"font-kit",
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
"foreign-types 0.5.0",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui_macros",
"http_client",
2023-09-20 05:55:13 +03:00
"image",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
2023-11-16 21:32:55 +03:00
"linkme",
2023-09-19 22:09:00 +03:00
"log",
2023-09-20 05:55:13 +03:00
"media",
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
"metal",
2023-09-20 05:55:13 +03:00
"num_cpus",
"objc",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"oo7",
"open",
2023-09-20 05:55:13 +03:00
"parking",
"parking_lot",
2023-09-20 19:17:29 +03:00
"pathfinder_geometry",
2023-09-20 05:55:13 +03:00
"postage",
"profiling",
2023-09-20 05:55:13 +03:00
"rand 0.8.5",
"raw-window-handle",
2023-09-19 22:09:00 +03:00
"refineable",
2023-09-20 05:55:13 +03:00
"resvg",
2023-09-19 22:09:00 +03:00
"schemars",
2023-09-20 05:55:13 +03:00
"seahash",
"semantic_version",
2023-09-19 22:09:00 +03:00
"serde",
2023-09-20 05:55:13 +03:00
"serde_derive",
"serde_json",
2023-09-19 22:09:00 +03:00
"slotmap",
"smallvec",
2023-09-20 05:55:13 +03:00
"smol",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
2023-09-20 05:55:13 +03:00
"sum_tree",
"taffy",
2023-09-20 05:55:13 +03:00
"thiserror",
"unicode-segmentation",
"usvg",
2023-09-19 22:09:00 +03:00
"util",
"uuid",
2023-09-20 05:55:13 +03:00
"waker-fn",
"wayland-backend",
"wayland-client",
"wayland-cursor",
"wayland-protocols",
"wayland-protocols-plasma",
"windows 0.58.0",
"windows-core 0.58.0",
"x11-clipboard",
"x11rb",
"xim",
"xkbcommon",
2023-09-19 22:09:00 +03:00
]
2021-05-12 18:05:03 +03:00
[[package]]
name = "gpui_macros"
version = "0.1.0"
dependencies = [
"proc-macro2",
2021-05-12 18:05:03 +03:00
"quote",
"syn 1.0.109",
2021-05-12 18:05:03 +03:00
]
2023-11-19 07:30:33 +03:00
[[package]]
name = "grid"
gpui: Bump taffy to 0.4.3 again (#11655) We reverted bump to taffy 0.4.3 following an issue spotted by @maxdeviant where chat text input was not being rendered correctly: ![image](https://github.com/zed-industries/zed/assets/24362066/9d7e6444-47b1-4ac2-808f-bf10404377c0) This was an issue with the previous attempt to upgrade to taffy 0.4.0 as well. We bail early in `compute_auto_height_layout` due to a missing width: https://github.com/zed-industries/zed/blob/df190ea84621837c44fa50c62837bdbea04b9e22/crates/editor/src/element.rs#L5266 The same issue is visible in story for auto-height editor (or rather, the breakage is visible - the editor simply does not render at all there). I tracked down the breakage to https://github.com/DioxusLabs/taffy/pull/573 ; it looks like it specifically affects editors with auto-height. In taffy <0.4 which we were using previously, we'd eventually get a proper width for auto-height EditorElement after having initially computed the size. With taffy 0.4 however (and specifically that PR mentioned earlier), we're getting `Size::NONE` in layout phase [^1]. I've noticed though that even with taffy <0.3, the `known_dimensions.width` was always equal to `available_space.width` in layout phase. Hence, I went with falling back to `available_space.width` when it is a definite value and we don't have a `known_dimensions.width`. Done this way, both chat input and auto-height story render correctly. /cc @as-cii Related: https://github.com/zed-industries/zed/pull/11606 https://github.com/zed-industries/zed/pull/11622 https://github.com/zed-industries/zed/pull/7868 https://github.com/zed-industries/zed/pull/7896 [^1]: This could possibly be related to change in what gets passed in https://github.com/DioxusLabs/taffy/pull/573/files#diff-60c916e9b0c507925f032cecdde6ae163e41b84b8e4bc0a6c04f7d846b0aad9eR133 , though I'm not sure if editor is a leaf node in this case Release Notes: - N/A
2024-05-10 16:05:50 +03:00
version = "0.13.0"
2023-11-19 07:30:33 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
gpui: Bump taffy to 0.4.3 again (#11655) We reverted bump to taffy 0.4.3 following an issue spotted by @maxdeviant where chat text input was not being rendered correctly: ![image](https://github.com/zed-industries/zed/assets/24362066/9d7e6444-47b1-4ac2-808f-bf10404377c0) This was an issue with the previous attempt to upgrade to taffy 0.4.0 as well. We bail early in `compute_auto_height_layout` due to a missing width: https://github.com/zed-industries/zed/blob/df190ea84621837c44fa50c62837bdbea04b9e22/crates/editor/src/element.rs#L5266 The same issue is visible in story for auto-height editor (or rather, the breakage is visible - the editor simply does not render at all there). I tracked down the breakage to https://github.com/DioxusLabs/taffy/pull/573 ; it looks like it specifically affects editors with auto-height. In taffy <0.4 which we were using previously, we'd eventually get a proper width for auto-height EditorElement after having initially computed the size. With taffy 0.4 however (and specifically that PR mentioned earlier), we're getting `Size::NONE` in layout phase [^1]. I've noticed though that even with taffy <0.3, the `known_dimensions.width` was always equal to `available_space.width` in layout phase. Hence, I went with falling back to `available_space.width` when it is a definite value and we don't have a `known_dimensions.width`. Done this way, both chat input and auto-height story render correctly. /cc @as-cii Related: https://github.com/zed-industries/zed/pull/11606 https://github.com/zed-industries/zed/pull/11622 https://github.com/zed-industries/zed/pull/7868 https://github.com/zed-industries/zed/pull/7896 [^1]: This could possibly be related to change in what gets passed in https://github.com/DioxusLabs/taffy/pull/573/files#diff-60c916e9b0c507925f032cecdde6ae163e41b84b8e4bc0a6c04f7d846b0aad9eR133 , though I'm not sure if editor is a leaf node in this case Release Notes: - N/A
2024-05-10 16:05:50 +03:00
checksum = "d196ffc1627db18a531359249b2bf8416178d84b729f3cebeb278f285fb9b58c"
2023-11-19 07:30:33 +03:00
[[package]]
name = "group"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
dependencies = [
"ff",
"rand_core 0.6.4",
"subtle",
]
[[package]]
name = "h2"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
dependencies = [
"bytes 1.7.1",
"fnv",
"futures-core",
"futures-sink",
"futures-util",
"http 0.2.12",
"indexmap 2.4.0",
"slab",
"tokio",
"tokio-util",
"tracing",
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "half"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
dependencies = [
"cfg-if",
"crunchy",
]
[[package]]
name = "handlebars"
version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225"
dependencies = [
"log",
"pest",
"pest_derive",
"serde",
"serde_json",
"thiserror",
]
[[package]]
name = "handlebars"
version = "5.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b"
dependencies = [
"log",
"pest",
"pest_derive",
"serde",
"serde_json",
"thiserror",
]
[[package]]
name = "hashbrown"
2022-10-13 01:39:04 +03:00
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [
"ahash 0.7.8",
]
[[package]]
name = "hashbrown"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
dependencies = [
"ahash 0.8.11",
]
[[package]]
name = "hashbrown"
version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
2023-07-07 21:24:29 +03:00
dependencies = [
"ahash 0.8.11",
2023-07-07 21:24:29 +03:00
"allocator-api2",
]
[[package]]
name = "hashlink"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
dependencies = [
"hashbrown 0.14.5",
]
[[package]]
name = "headers"
2023-09-15 16:31:33 +03:00
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-15 16:31:33 +03:00
checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
dependencies = [
"base64 0.21.7",
"bytes 1.7.1",
"headers-core",
"http 0.2.12",
"httpdate",
"mime",
2022-10-13 01:39:04 +03:00
"sha1",
]
[[package]]
name = "headers-core"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
dependencies = [
"http 0.2.12",
]
[[package]]
name = "headless"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"extension",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"log",
"node_runtime",
"postage",
"project",
"rpc",
"settings",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"shellexpand 2.1.2",
"signal-hook",
"util",
]
[[package]]
name = "heck"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "heed"
Update Rust crate heed to v0.20.5 (#16464) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.4` -> `0.20.5` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.5`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.5): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.4...v0.20.5) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * fix function docs (clippy warnings) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 * fix custom_key_cmp_wrapper being able to unwind to C code (ub) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/275](https://togithub.com/meilisearch/heed/pull/275)ll/275 ##### New Contributors * @&#8203;antonilol made their first contributi[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 17:26:14 +03:00
version = "0.20.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate heed to v0.20.5 (#16464) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.4` -> `0.20.5` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.5`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.5): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.4...v0.20.5) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * fix function docs (clippy warnings) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 * fix custom_key_cmp_wrapper being able to unwind to C code (ub) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/275](https://togithub.com/meilisearch/heed/pull/275)ll/275 ##### New Contributors * @&#8203;antonilol made their first contributi[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 17:26:14 +03:00
checksum = "7d4f449bab7320c56003d37732a917e18798e2f1709d80263face2b4f9436ddb"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
dependencies = [
"bitflags 2.6.0",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"byteorder",
"heed-traits",
"heed-types",
"libc",
"lmdb-master-sys",
"once_cell",
"page_size",
"serde",
"synchronoise",
"url",
]
[[package]]
name = "heed-traits"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb3130048d404c57ce5a1ac61a903696e8fcde7e8c2991e9fcfc1f27c3ef74ff"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "heed-types"
Update Rust crate heed to v0.20.3 (#15169) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.1` -> `0.20.3` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.3`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.3): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.2...v0.20.3) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Update dependencies by @&#8203;irevoi[https://github.com/meilisearch/heed/pull/265](https://togithub.com/meilisearch/heed/pull/265)ll/265 ### [`v0.20.2`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.2): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.1...v0.20.2) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Introduce the `longer-keys` feature which sets `-DMDB_MAXKEYSIZE=0` by @&#8203;tpund[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 * Bump the internal LMDB version to v0.9.33 by @&#8203;Kerollmo[https://github.com/meilisearch/heed/pull/264](https://togithub.com/meilisearch/heed/pull/264)ll/264 ##### New Contributors * @&#8203;tpunder made their first contributi[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:55:15 +03:00
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate heed to v0.20.3 (#15169) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.1` -> `0.20.3` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.3`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.3): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.2...v0.20.3) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Update dependencies by @&#8203;irevoi[https://github.com/meilisearch/heed/pull/265](https://togithub.com/meilisearch/heed/pull/265)ll/265 ### [`v0.20.2`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.2): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.1...v0.20.2) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Introduce the `longer-keys` feature which sets `-DMDB_MAXKEYSIZE=0` by @&#8203;tpund[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 * Bump the internal LMDB version to v0.9.33 by @&#8203;Kerollmo[https://github.com/meilisearch/heed/pull/264](https://togithub.com/meilisearch/heed/pull/264)ll/264 ##### New Contributors * @&#8203;tpunder made their first contributi[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:55:15 +03:00
checksum = "9d3f528b053a6d700b2734eabcd0fd49cb8230647aa72958467527b0b7917114"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
dependencies = [
"bincode",
"byteorder",
"heed-traits",
"serde",
"serde_json",
]
[[package]]
name = "hermit-abi"
linux/x11: Custom run loop with `mio` instead of `calloop` (#13646) This changes the implementation of the X11 client to use `mio`, as a polling mechanism, and a custom run loop instead of `calloop` and its callback-based approach. We're doing this for one big reason: more control over how we handle events. With `calloop` we don't have any control over which events are processed when and how long they're processes for. For example: we could be blasted with 150 input events from X11 and miss a frame while processing them, but instead of then drawing a new frame, calloop could decide to work off the runnables that were generated from application-level code, which would then again cause us to be behind. We kinda worked around some of that in https://github.com/zed-industries/zed/pull/12839 but the problem still persists. So what we're doing here is to use `mio` as a polling-mechanism. `mio` notifies us if there are X11 on the XCB connection socket to be processed. We also use its timeout mechanism to make sure that we don't wait for events when we should render frames. On top of `mio` we now have a custom run loop that allows us to decide how much time to spend on what — input events, rendering windows, XDG events, runnables — and in what order we work things off. This custom run loop is consciously "dumb": we render all windows at the highest frame rate right now, because we want to keep things predictable for now while we test this approach more. We can then always switch to more granular timings. But considering that our loop runs and checks for windows to be redrawn whenever there's an event, this is more an optimization than a requirement. One reason for why we're doing this for X11 but not for Wayland is due to how peculiar X11's event handling is: it's asynchronous and by default X11 generates synthetic events when a key is held down. That can lead to us being flooded with input events if someone keeps a key pressed. So another optimization that's in here is inspired by [GLFW's X11 input handling](https://github.com/glfw/glfw/blob/b35641f4a3c62aa86a0b3c983d163bc0fe36026d/src/x11_window.c#L1321-L1349): based on a heuristic we detect whether a `KeyRelease` event was auto-generated and if so, we drop it. That essentially halves the amount of events we have to process when someone keeps a key pressed. Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Conrad <conrad@zed.dev>
2024-07-03 18:05:26 +03:00
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
linux/x11: Custom run loop with `mio` instead of `calloop` (#13646) This changes the implementation of the X11 client to use `mio`, as a polling mechanism, and a custom run loop instead of `calloop` and its callback-based approach. We're doing this for one big reason: more control over how we handle events. With `calloop` we don't have any control over which events are processed when and how long they're processes for. For example: we could be blasted with 150 input events from X11 and miss a frame while processing them, but instead of then drawing a new frame, calloop could decide to work off the runnables that were generated from application-level code, which would then again cause us to be behind. We kinda worked around some of that in https://github.com/zed-industries/zed/pull/12839 but the problem still persists. So what we're doing here is to use `mio` as a polling-mechanism. `mio` notifies us if there are X11 on the XCB connection socket to be processed. We also use its timeout mechanism to make sure that we don't wait for events when we should render frames. On top of `mio` we now have a custom run loop that allows us to decide how much time to spend on what — input events, rendering windows, XDG events, runnables — and in what order we work things off. This custom run loop is consciously "dumb": we render all windows at the highest frame rate right now, because we want to keep things predictable for now while we test this approach more. We can then always switch to more granular timings. But considering that our loop runs and checks for windows to be redrawn whenever there's an event, this is more an optimization than a requirement. One reason for why we're doing this for X11 but not for Wayland is due to how peculiar X11's event handling is: it's asynchronous and by default X11 generates synthetic events when a key is held down. That can lead to us being flooded with input events if someone keeps a key pressed. So another optimization that's in here is inspired by [GLFW's X11 input handling](https://github.com/glfw/glfw/blob/b35641f4a3c62aa86a0b3c983d163bc0fe36026d/src/x11_window.c#L1321-L1349): based on a heuristic we detect whether a `KeyRelease` event was auto-generated and if so, we drop it. That essentially halves the amount of events we have to process when someone keeps a key pressed. Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Conrad <conrad@zed.dev>
2024-07-03 18:05:26 +03:00
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
[[package]]
name = "hermit-abi"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hexf-parse"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
[[package]]
name = "hidden-trait"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68ed9e850438ac849bec07e7d09fbe9309cbd396a5988c30b010580ce08860df"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "hkdf"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
"hmac",
2021-02-21 02:05:36 +03:00
]
[[package]]
name = "hmac"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [
"digest",
]
2023-07-27 19:19:07 +03:00
[[package]]
name = "home"
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
version = "0.5.9"
2023-07-27 19:19:07 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
2023-07-27 19:19:07 +03:00
dependencies = [
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
"windows-sys 0.52.0",
]
[[package]]
name = "hound"
version = "3.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f"
[[package]]
name = "html5ever"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4"
dependencies = [
"log",
"mac",
"markup5ever",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "html_to_markdown"
version = "0.1.0"
dependencies = [
"anyhow",
"html5ever",
"indoc",
"markup5ever_rcdom",
"pretty_assertions",
"regex",
]
[[package]]
name = "html_to_markdown"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e608e8dd0939bfb6b516d96a5919751b835297a02230aecb88d2fc84ebebaa8a"
dependencies = [
"anyhow",
"html5ever",
"markup5ever_rcdom",
"regex",
]
[[package]]
name = "http"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
dependencies = [
"bytes 1.7.1",
"fnv",
2023-08-21 17:35:57 +03:00
"itoa",
]
[[package]]
name = "http"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes 1.7.1",
"fnv",
"itoa",
]
[[package]]
name = "http-body"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes 1.7.1",
"http 0.2.12",
"pin-project-lite",
]
[[package]]
name = "http-body"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
"bytes 1.7.1",
"http 1.1.0",
]
[[package]]
name = "http-body-util"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
dependencies = [
"bytes 1.7.1",
"futures-util",
"http 1.1.0",
"http-body 1.0.1",
"pin-project-lite",
]
2022-04-24 20:08:25 +03:00
[[package]]
name = "http-range-header"
2023-07-26 16:50:38 +03:00
version = "0.3.1"
2022-04-24 20:08:25 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-26 16:50:38 +03:00
checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f"
2022-04-24 20:08:25 +03:00
[[package]]
name = "http-types"
version = "2.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad"
dependencies = [
"anyhow",
"async-channel 1.9.0",
"base64 0.13.1",
"futures-lite 1.13.0",
"http 0.2.12",
"infer",
"pin-project-lite",
"rand 0.7.3",
"serde",
"serde_json",
"serde_qs 0.8.5",
"serde_urlencoded",
"url",
]
[[package]]
name = "http_client"
version = "0.1.0"
dependencies = [
"anyhow",
"derive_more",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"futures-lite 1.13.0",
"http 1.1.0",
"isahc",
"log",
"serde",
"serde_json",
"url",
]
[[package]]
name = "httparse"
version = "1.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
[[package]]
name = "httpdate"
2023-08-21 17:35:57 +03:00
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
2022-12-23 02:10:49 +03:00
[[package]]
name = "human_bytes"
2023-09-15 16:31:33 +03:00
version = "0.4.3"
2022-12-23 02:10:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-15 16:31:33 +03:00
checksum = "91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e"
2022-12-23 02:10:49 +03:00
[[package]]
name = "humantime"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "hyper"
Update Rust crate hyper to v0.14.30 (#15930) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | patch | `0.14.27` -> `0.14.30` | --- ### Release Notes <details> <summary>hyperium/hyper (hyper)</summary> ### [`v0.14.30`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.30) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v0.14.30) #### Bug Fixes - **http1:** reject final chunked if missing 0 ([4a51b2af](https://togithub.com/hyperium/hyper/commit/4a51b2afefcc1373c2a5b834fa0ae8d935dbff46)) ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) #### Bug Fixes - **http1:** start header read timeout immediately ([#&#8203;3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) #### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#&#8203;3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) #### New Contributors - [@&#8203;jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: https://github.com/hyperium/hyper/compare/v0.14.28...v0.14.29 ### [`v0.14.28`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.28) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.27...v0.14.28) #### Features - **body:** deprecate to_bytes() and aggregate() ([#&#8203;3466](https://togithub.com/hyperium/hyper/issues/3466)) ([7f382ad6](https://togithub.com/hyperium/hyper/commit/7f382ad64326e1470912feb310d348fd79099c44)) - **client:** add `conn::http1::Connection::without_shutdown()` method ([#&#8203;3431](https://togithub.com/hyperium/hyper/issues/3431)) ([ad504977](https://togithub.com/hyperium/hyper/commit/ad504977b520a9582e5516a08b2f1028ef1b5e45)) - **server:** add `Builder::local_addr()` ([#&#8203;3278](https://togithub.com/hyperium/hyper/issues/3278)) ([d342c2c7](https://togithub.com/hyperium/hyper/commit/d342c2c714498d33891fa285a3c9ae991dc34769)) #### Bug Fixes - **client:** - panic when pool idle timeout set to zero ([#&#8203;3365](https://togithub.com/hyperium/hyper/issues/3365)) ([34d38008](https://togithub.com/hyperium/hyper/commit/34d38008499de37d9b5b65440b3123ccd05c7510)) - divide by zero error when DNS returns no addrs ([#&#8203;3355](https://togithub.com/hyperium/hyper/issues/3355)) ([41eaf204](https://togithub.com/hyperium/hyper/commit/41eaf2042b8169d3dd067d49cfdbdaaf36678903)) - Do not strip `path` and `scheme` components from URIs for HTTP/2 Extended CONNEC ([45aa6249](https://togithub.com/hyperium/hyper/commit/45aa62494127066c63c987a57cc5eae2c5361886)) - early respond from server shouldn't propagate reset error ([#&#8203;3274](https://togithub.com/hyperium/hyper/issues/3274)) ([aac6760e](https://togithub.com/hyperium/hyper/commit/aac6760e032050dd47f5dbd32f852bf1ede9312b), closes [#&#8203;2872](https://togithub.com/hyperium/hyper/issues/2872)) - **http1:** - add internal limit for chunked extensions ([#&#8203;3495](https://togithub.com/hyperium/hyper/issues/3495)) ([344a8782](https://togithub.com/hyperium/hyper/commit/344a87822951a46d252843ccc0b48e62988fc85b)) - reject chunked headers missing a digit ([#&#8203;3494](https://togithub.com/hyperium/hyper/issues/3494)) ([5eca028f](https://togithub.com/hyperium/hyper/commit/5eca028f4142e3e73f6d6188a4076f4db292b252)) #### New Contributors - [@&#8203;bdbai](https://togithub.com/bdbai) made their first contribution in [https://github.com/hyperium/hyper/pull/3242](https://togithub.com/hyperium/hyper/pull/3242) - [@&#8203;gngpp](https://togithub.com/gngpp) made their first contribution in [https://github.com/hyperium/hyper/pull/3355](https://togithub.com/hyperium/hyper/pull/3355) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:47:49 +03:00
version = "0.14.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate hyper to v0.14.30 (#15930) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hyper](https://hyper.rs) ([source](https://togithub.com/hyperium/hyper)) | workspace.dependencies | patch | `0.14.27` -> `0.14.30` | --- ### Release Notes <details> <summary>hyperium/hyper (hyper)</summary> ### [`v0.14.30`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.30) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.29...v0.14.30) #### Bug Fixes - **http1:** reject final chunked if missing 0 ([4a51b2af](https://togithub.com/hyperium/hyper/commit/4a51b2afefcc1373c2a5b834fa0ae8d935dbff46)) ### [`v0.14.29`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.29) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.28...v0.14.29) #### Bug Fixes - **http1:** start header read timeout immediately ([#&#8203;3305](https://togithub.com/hyperium/hyper/issues/3305)) ([b5c2592f](https://togithub.com/hyperium/hyper/commit/b5c2592fde5e20d29c69428c85aef3d682ee36bc)) #### Features - **http2:** add config for `max_local_error_reset_streams` in server ([#&#8203;3528](https://togithub.com/hyperium/hyper/issues/3528)) ([dedcb674](https://togithub.com/hyperium/hyper/commit/dedcb674f35eaec765a42b550caabe6f694d86d1)) #### New Contributors - [@&#8203;jeromegn](https://togithub.com/jeromegn) made their first contribution in [https://github.com/hyperium/hyper/pull/3305](https://togithub.com/hyperium/hyper/pull/3305) **Full Changelog**: https://github.com/hyperium/hyper/compare/v0.14.28...v0.14.29 ### [`v0.14.28`](https://togithub.com/hyperium/hyper/releases/tag/v0.14.28) [Compare Source](https://togithub.com/hyperium/hyper/compare/v0.14.27...v0.14.28) #### Features - **body:** deprecate to_bytes() and aggregate() ([#&#8203;3466](https://togithub.com/hyperium/hyper/issues/3466)) ([7f382ad6](https://togithub.com/hyperium/hyper/commit/7f382ad64326e1470912feb310d348fd79099c44)) - **client:** add `conn::http1::Connection::without_shutdown()` method ([#&#8203;3431](https://togithub.com/hyperium/hyper/issues/3431)) ([ad504977](https://togithub.com/hyperium/hyper/commit/ad504977b520a9582e5516a08b2f1028ef1b5e45)) - **server:** add `Builder::local_addr()` ([#&#8203;3278](https://togithub.com/hyperium/hyper/issues/3278)) ([d342c2c7](https://togithub.com/hyperium/hyper/commit/d342c2c714498d33891fa285a3c9ae991dc34769)) #### Bug Fixes - **client:** - panic when pool idle timeout set to zero ([#&#8203;3365](https://togithub.com/hyperium/hyper/issues/3365)) ([34d38008](https://togithub.com/hyperium/hyper/commit/34d38008499de37d9b5b65440b3123ccd05c7510)) - divide by zero error when DNS returns no addrs ([#&#8203;3355](https://togithub.com/hyperium/hyper/issues/3355)) ([41eaf204](https://togithub.com/hyperium/hyper/commit/41eaf2042b8169d3dd067d49cfdbdaaf36678903)) - Do not strip `path` and `scheme` components from URIs for HTTP/2 Extended CONNEC ([45aa6249](https://togithub.com/hyperium/hyper/commit/45aa62494127066c63c987a57cc5eae2c5361886)) - early respond from server shouldn't propagate reset error ([#&#8203;3274](https://togithub.com/hyperium/hyper/issues/3274)) ([aac6760e](https://togithub.com/hyperium/hyper/commit/aac6760e032050dd47f5dbd32f852bf1ede9312b), closes [#&#8203;2872](https://togithub.com/hyperium/hyper/issues/2872)) - **http1:** - add internal limit for chunked extensions ([#&#8203;3495](https://togithub.com/hyperium/hyper/issues/3495)) ([344a8782](https://togithub.com/hyperium/hyper/commit/344a87822951a46d252843ccc0b48e62988fc85b)) - reject chunked headers missing a digit ([#&#8203;3494](https://togithub.com/hyperium/hyper/issues/3494)) ([5eca028f](https://togithub.com/hyperium/hyper/commit/5eca028f4142e3e73f6d6188a4076f4db292b252)) #### New Contributors - [@&#8203;bdbai](https://togithub.com/bdbai) made their first contribution in [https://github.com/hyperium/hyper/pull/3242](https://togithub.com/hyperium/hyper/pull/3242) - [@&#8203;gngpp](https://togithub.com/gngpp) made their first contribution in [https://github.com/hyperium/hyper/pull/3355](https://togithub.com/hyperium/hyper/pull/3355) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:47:49 +03:00
checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9"
dependencies = [
"bytes 1.7.1",
"futures-channel",
"futures-core",
"futures-util",
"h2",
"http 0.2.12",
"http-body 0.4.6",
"httparse",
"httpdate",
2023-08-21 17:35:57 +03:00
"itoa",
"pin-project-lite",
"socket2 0.5.7",
"tokio",
"tower-service",
"tracing",
"want",
]
[[package]]
name = "hyper-rustls"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
"http 0.2.12",
"hyper",
"log",
"rustls",
"rustls-native-certs",
"tokio",
"tokio-rustls",
]
[[package]]
name = "hyper-tls"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
"bytes 1.7.1",
"hyper",
"native-tls",
"tokio",
"tokio-native-tls",
]
2022-10-13 01:39:04 +03:00
[[package]]
name = "iana-time-zone"
version = "0.1.60"
2022-10-13 01:39:04 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
2022-10-13 01:39:04 +03:00
dependencies = [
"android_system_properties",
"core-foundation-sys",
2022-10-13 01:39:04 +03:00
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
"windows-core 0.52.0",
2022-10-13 01:39:04 +03:00
]
[[package]]
name = "iana-time-zone-haiku"
2023-07-07 21:24:29 +03:00
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
2023-07-07 21:24:29 +03:00
"cc",
]
[[package]]
name = "id-arena"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
[[package]]
name = "idna"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
dependencies = [
"unicode-bidi",
"unicode-normalization",
]
[[package]]
name = "ignore"
version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
dependencies = [
"crossbeam-deque",
"globset",
"log",
"memchr",
"regex-automata 0.4.7",
"same-file",
"walkdir",
"winapi-util",
]
2021-09-14 17:48:44 +03:00
[[package]]
name = "image"
Update Rust crate image to v0.25.2 (#15578) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [image](https://togithub.com/image-rs/image) | dependencies | patch | `0.25.1` -> `0.25.2` | | [image](https://togithub.com/image-rs/image) | workspace.dependencies | patch | `0.25.1` -> `0.25.2` | --- ### Release Notes <details> <summary>image-rs/image (image)</summary> ### [`v0.25.2`](https://togithub.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0252) [Compare Source](https://togithub.com/image-rs/image/compare/v0.25.1...v0.25.2) Features: - Added the HDR encoder to supported formats in generic write methods with the `hdr` feature enabled. Supports 32-bit float RGB color only, for now. - When cloning `ImageBuffer`, `DynamicImage` and `Frame` the existing buffer will now be reused if possible. - Added `image::ImageReader` as an alias. - Implement `ImageEncoder` for `HdrEncoder`. Structural changes - Switch from `byteorder` to `byteorder-lite`, consolidating some casting unsafety to `bytemuck`. - Many methods on `DynamicImage` and buffers gained `#[must_use]` indications. Bug fixes: - Removed test data included in the crate archive. - The WebP animation decoder stops when reaching the indicate frame count. - Fixed bugs in the `bmp` decoder. - Format support gated on the `exr` feature now compiles in isolation. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:51 +03:00
version = "0.25.2"
2021-09-14 17:48:44 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate image to v0.25.2 (#15578) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [image](https://togithub.com/image-rs/image) | dependencies | patch | `0.25.1` -> `0.25.2` | | [image](https://togithub.com/image-rs/image) | workspace.dependencies | patch | `0.25.1` -> `0.25.2` | --- ### Release Notes <details> <summary>image-rs/image (image)</summary> ### [`v0.25.2`](https://togithub.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0252) [Compare Source](https://togithub.com/image-rs/image/compare/v0.25.1...v0.25.2) Features: - Added the HDR encoder to supported formats in generic write methods with the `hdr` feature enabled. Supports 32-bit float RGB color only, for now. - When cloning `ImageBuffer`, `DynamicImage` and `Frame` the existing buffer will now be reused if possible. - Added `image::ImageReader` as an alias. - Implement `ImageEncoder` for `HdrEncoder`. Structural changes - Switch from `byteorder` to `byteorder-lite`, consolidating some casting unsafety to `bytemuck`. - Many methods on `DynamicImage` and buffers gained `#[must_use]` indications. Bug fixes: - Removed test data included in the crate archive. - The WebP animation decoder stops when reaching the indicate frame count. - Fixed bugs in the `bmp` decoder. - Format support gated on the `exr` feature now compiles in isolation. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:51 +03:00
checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10"
2021-09-14 17:48:44 +03:00
dependencies = [
"bytemuck",
Update Rust crate image to v0.25.2 (#15578) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [image](https://togithub.com/image-rs/image) | dependencies | patch | `0.25.1` -> `0.25.2` | | [image](https://togithub.com/image-rs/image) | workspace.dependencies | patch | `0.25.1` -> `0.25.2` | --- ### Release Notes <details> <summary>image-rs/image (image)</summary> ### [`v0.25.2`](https://togithub.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0252) [Compare Source](https://togithub.com/image-rs/image/compare/v0.25.1...v0.25.2) Features: - Added the HDR encoder to supported formats in generic write methods with the `hdr` feature enabled. Supports 32-bit float RGB color only, for now. - When cloning `ImageBuffer`, `DynamicImage` and `Frame` the existing buffer will now be reused if possible. - Added `image::ImageReader` as an alias. - Implement `ImageEncoder` for `HdrEncoder`. Structural changes - Switch from `byteorder` to `byteorder-lite`, consolidating some casting unsafety to `bytemuck`. - Many methods on `DynamicImage` and buffers gained `#[must_use]` indications. Bug fixes: - Removed test data included in the crate archive. - The WebP animation decoder stops when reaching the indicate frame count. - Fixed bugs in the `bmp` decoder. - Format support gated on the `exr` feature now compiles in isolation. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:51 +03:00
"byteorder-lite",
2021-09-14 17:48:44 +03:00
"color_quant",
"exr",
"gif",
"image-webp",
"num-traits",
"png",
"qoi",
"ravif",
"rayon",
"rgb",
2021-09-14 17:48:44 +03:00
"tiff",
"zune-core",
"zune-jpeg",
]
[[package]]
name = "image-webp"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f79afb8cbee2ef20f59ccd477a218c12a93943d075b492015ecb1bb81f8ee904"
dependencies = [
"byteorder-lite",
"quick-error",
2021-09-14 17:48:44 +03:00
]
[[package]]
name = "image_viewer"
version = "0.1.0"
dependencies = [
"anyhow",
"db",
Update Rust crate sqlx to v0.8.1 [SECURITY] (#17064) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | patch | `0.8.0` -> `0.8.1` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | patch | `0.8.0` -> `0.8.1` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 15:34:08 +03:00
"file_icons",
"gpui",
"project",
Update Rust crate sqlx to v0.8.1 [SECURITY] (#17064) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | patch | `0.8.0` -> `0.8.1` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | patch | `0.8.0` -> `0.8.1` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 15:34:08 +03:00
"settings",
"ui",
"workspace",
]
[[package]]
name = "imagesize"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
[[package]]
name = "imgref"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126"
[[package]]
name = "indexed_docs"
version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
"cargo_metadata",
"collections",
"derive_more",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"gpui",
"heed",
"html_to_markdown 0.1.0",
"http_client",
"indexmap 1.9.3",
"indoc",
"parking_lot",
"paths",
"pretty_assertions",
"serde",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"util",
]
[[package]]
name = "indexmap"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
2022-10-13 01:39:04 +03:00
"hashbrown 0.12.3",
2022-06-02 11:51:27 +03:00
"serde",
]
[[package]]
name = "indexmap"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c"
dependencies = [
"equivalent",
"hashbrown 0.14.5",
"serde",
]
[[package]]
name = "indoc"
Update Rust crate indoc to v2 (#15247) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [indoc](https://togithub.com/dtolnay/indoc) | workspace.dependencies | major | `1` -> `2` | --- ### Release Notes <details> <summary>dtolnay/indoc (indoc)</summary> ### [`v2.0.5`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.5) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.4...2.0.5) - Documentation improvements ([#&#8203;62](https://togithub.com/dtolnay/indoc/issues/62), thanks [@&#8203;ilyagr](https://togithub.com/ilyagr)) ### [`v2.0.4`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.4) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.3...2.0.4) - Fix handling of \r\n ending on first line ([#&#8203;61](https://togithub.com/dtolnay/indoc/issues/61), thanks [@&#8203;PizzasBear](https://togithub.com/PizzasBear)) ### [`v2.0.3`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.3) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.2...2.0.3) - Documentation improvements ### [`v2.0.2`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.2) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.1...2.0.2) - Add `no-alloc` category to crates.io metadata ### [`v2.0.1`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.1) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.0...2.0.1) - Set html_root_url attribute ### [`v2.0.0`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.0) [Compare Source](https://togithub.com/dtolnay/indoc/compare/1.0.9...2.0.0) - Change handling of final newline at zero levels of indentation ([#&#8203;55](https://togithub.com/dtolnay/indoc/issues/55)) - Add [`concatdoc!`](https://docs.rs/indoc/2/indoc/macro.concatdoc.html) macro ([#&#8203;56](https://togithub.com/dtolnay/indoc/issues/56)) - Raise oldest supported rustc to 1.56 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 04:59:17 +03:00
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate indoc to v2 (#15247) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [indoc](https://togithub.com/dtolnay/indoc) | workspace.dependencies | major | `1` -> `2` | --- ### Release Notes <details> <summary>dtolnay/indoc (indoc)</summary> ### [`v2.0.5`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.5) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.4...2.0.5) - Documentation improvements ([#&#8203;62](https://togithub.com/dtolnay/indoc/issues/62), thanks [@&#8203;ilyagr](https://togithub.com/ilyagr)) ### [`v2.0.4`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.4) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.3...2.0.4) - Fix handling of \r\n ending on first line ([#&#8203;61](https://togithub.com/dtolnay/indoc/issues/61), thanks [@&#8203;PizzasBear](https://togithub.com/PizzasBear)) ### [`v2.0.3`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.3) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.2...2.0.3) - Documentation improvements ### [`v2.0.2`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.2) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.1...2.0.2) - Add `no-alloc` category to crates.io metadata ### [`v2.0.1`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.1) [Compare Source](https://togithub.com/dtolnay/indoc/compare/2.0.0...2.0.1) - Set html_root_url attribute ### [`v2.0.0`](https://togithub.com/dtolnay/indoc/releases/tag/2.0.0) [Compare Source](https://togithub.com/dtolnay/indoc/compare/1.0.9...2.0.0) - Change handling of final newline at zero levels of indentation ([#&#8203;55](https://togithub.com/dtolnay/indoc/issues/55)) - Add [`concatdoc!`](https://docs.rs/indoc/2/indoc/macro.concatdoc.html) macro ([#&#8203;56](https://togithub.com/dtolnay/indoc/issues/56)) - Raise oldest supported rustc to 1.56 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 04:59:17 +03:00
checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
[[package]]
name = "infer"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
[[package]]
name = "inherent"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0122b7114117e64a63ac49f752a5ca4624d534c7b1c7de796ac196381cd2d947"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "inline_completion_button"
version = "0.1.0"
dependencies = [
"anyhow",
"copilot",
"editor",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"indoc",
"language",
"lsp",
"paths",
"project",
"serde_json",
"settings",
"supermaven",
"theme",
"ui",
"util",
"workspace",
"zed_actions",
]
[[package]]
name = "inotify"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
dependencies = [
"bitflags 1.3.2",
"inotify-sys",
"libc",
]
[[package]]
name = "inotify-sys"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
dependencies = [
"libc",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "inout"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [
"block-padding",
"generic-array",
]
[[package]]
name = "install_cli"
version = "0.1.0"
dependencies = [
"anyhow",
"gpui",
"smol",
"util",
]
[[package]]
name = "instant"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
dependencies = [
"cfg-if",
]
[[package]]
name = "interpolate_name"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "io-extras"
version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9f046b9af244f13b3bd939f55d16830ac3a201e8a9ba9661bfcb03e2be72b9b"
dependencies = [
"io-lifetimes 2.0.3",
"windows-sys 0.52.0",
]
[[package]]
name = "io-lifetimes"
2023-07-07 21:24:29 +03:00
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
"hermit-abi 0.3.9",
"libc",
"windows-sys 0.48.0",
]
[[package]]
name = "io-lifetimes"
version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c"
[[package]]
name = "iovec"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
dependencies = [
"libc",
]
[[package]]
name = "ipc-channel"
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
checksum = "e46231d1db8ea8f874012b1b87efb9e968f763c577220372a9c7caadce1448da"
dependencies = [
"bincode",
2023-07-07 21:24:29 +03:00
"crossbeam-channel",
"fnv",
"lazy_static",
"libc",
"mio 1.0.2",
"rand 0.8.5",
"serde",
"tempfile",
"uuid",
"windows 0.48.0",
]
[[package]]
name = "ipnet"
version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
[[package]]
name = "is-docker"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3"
dependencies = [
"once_cell",
]
[[package]]
name = "is-terminal"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
dependencies = [
"hermit-abi 0.4.0",
"libc",
"windows-sys 0.52.0",
]
[[package]]
name = "is-wsl"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5"
dependencies = [
"is-docker",
"once_cell",
]
[[package]]
name = "is_terminal_polyfill"
version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "isahc"
version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
dependencies = [
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-channel 1.9.0",
"castaway",
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
"curl",
"curl-sys",
"encoding_rs",
"event-listener 2.5.3",
"futures-lite 1.13.0",
"http 0.2.12",
"log",
"mime",
"once_cell",
"polling 2.8.0",
"slab",
"sluice",
"tracing",
"tracing-futures",
"url",
"waker-fn",
]
[[package]]
name = "itertools"
2022-10-13 01:39:04 +03:00
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
2023-09-15 16:31:33 +03:00
[[package]]
name = "itertools"
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
version = "0.12.1"
2023-09-15 16:31:33 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
2023-09-15 16:31:33 +03:00
dependencies = [
"either",
]
[[package]]
name = "itertools"
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
dependencies = [
"either",
]
2021-03-19 00:52:46 +03:00
[[package]]
name = "itoa"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "jni"
version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
dependencies = [
"cesu8",
"cfg-if",
"combine",
"jni-sys",
"log",
"thiserror",
"walkdir",
"windows-sys 0.45.0",
]
[[package]]
name = "jni-sys"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
[[package]]
name = "jobserver"
version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
dependencies = [
"libc",
]
[[package]]
name = "journal"
version = "0.1.0"
2023-10-28 18:37:25 +03:00
dependencies = [
"anyhow",
"chrono",
"editor",
"gpui",
2023-10-28 18:37:25 +03:00
"log",
"schemars",
"serde",
"settings",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"shellexpand 2.1.2",
"workspace",
2023-10-28 18:37:25 +03:00
]
[[package]]
name = "jpeg-decoder"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
[[package]]
name = "js-sys"
version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "jsonwebtoken"
version = "9.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f"
dependencies = [
"base64 0.21.7",
"js-sys",
"pem",
"ring",
"serde",
"serde_json",
"simple_asn1",
]
[[package]]
name = "khronos-egl"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
dependencies = [
"libc",
"libloading",
]
[[package]]
name = "kqueue"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c"
dependencies = [
"kqueue-sys",
"libc",
]
[[package]]
name = "kqueue-sys"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b"
dependencies = [
"bitflags 1.3.2",
"libc",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "kurbo"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e5aa9f0f96a938266bdb12928a67169e8d22c6a786fda8ed984b85e6ba93c3c"
dependencies = [
"arrayvec",
"smallvec",
2021-04-06 14:44:38 +03:00
]
[[package]]
name = "kv-log-macro"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
dependencies = [
"log",
]
2021-10-20 23:51:40 +03:00
[[package]]
name = "language"
version = "0.1.0"
2023-10-22 20:56:25 +03:00
dependencies = [
"anyhow",
"async-trait",
"async-watch",
2023-10-22 20:56:25 +03:00
"clock",
"collections",
"ctor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"git",
2023-10-22 20:56:25 +03:00
"globset",
"gpui",
"http_client",
2023-10-22 20:56:25 +03:00
"indoc",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
2023-10-22 20:56:25 +03:00
"log",
"lsp",
"parking_lot",
2023-10-22 20:56:25 +03:00
"postage",
Upgrade `pulldown_cmark` to v0.12 (#17418) This PR upgrades `pulldown_cmark` to v0.12. There were a few breaking changes that needed to be accounted for: - The `BlockQuote` variant now has a `kind` attached. Right now we're ignoring it. - `pulldown_cmark` now emits tags for definition lists. This codepath has been left unimplemented, for now. ### Release Notes <details> <summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary> ### [`v0.12.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.1): 0.12.1 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.0...v0.12.1) ##### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/941](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/941) ##### New features - impl From<CowStr> for String by [@&#8203;oconnor663](https://redirect.github.com/oconnor663) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) ##### Developers - Make dos-fuzzer part of the workspace by [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) ##### New Contributors - [@&#8203;oconnor663](https://redirect.github.com/oconnor663) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) - [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.0...v0.12.1 ### [`v0.12.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.0): 0.12.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.3...v0.12.0) Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in `TagEnd` reverted in 0.11.2. #### Breaking changes - feat: re-add kind for BlockQuote in TagEnd by [@&#8203;Martin1887](https://redirect.github.com/Martin1887) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/940](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/940) - Refactor TextMergeStream by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/931](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/931) #### New features - Implement commonmark-hs compatible definition lists by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/915](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/915) #### Other changes - Rename superlinear time fuzzer to `dos-fuzzer` by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/938](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/938) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.12.0 ### [`v0.11.3`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.3): 0.11.3 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.2...v0.11.3) #### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/944](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/944) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.11.3 ### [`v0.11.2`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.2) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.1...v0.11.2) Revert BlockQuote kind to avoid breaking change. ### [`v0.11.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.1) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.11.1) Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation. #### Breaking changes - Add BlockQuoteKind to BlockQuote TagEnd by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/926](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/926) (reverted in v0.11.2) #### What's Changed - fix: CowStr deserialization when escaping by [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - fix(test): fix generating spec tests doesn't work on Windows due to line-endings by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/903](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/903) - feat: add `-G` CLI option to enable GFM support by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/905](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/905) - feat: set `DefaultBrokenLinkCallback` as the default broken link callback of `OffsetIter` by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/901](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/901) - chore(doc): use `cargo add` to instruct how to install this crate as dependency by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/904](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/904) - fix typo by [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - Fix parsing blocks inside alert body by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/908](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/908) - fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/910](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/910) - fix: fix warnings reported from nightly rustc by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/911](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/911) - fix: fix infinite loop when metadata delimiter is indented by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/913](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/913) - Raise the link cutoff from 5 to 32 by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/917](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/917) - Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/916](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/916) - Add guide book and deploy script for it by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/883](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/883) - ci: fix deploying the document to GitHub Pages and make the deploy job faster by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/920](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/920) - Fix lone task list item bug by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/924](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/924) - Fix offset range around footnotes that look like images by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/925](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/925) - Update old footnote format to interrupt paragraph by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/928](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/928) - Fix confusing bug with back-to-back footnotes by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/930](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/930) - Add reproduction cases for [#&#8203;927](https://redirect.github.com/raphlinus/pulldown-cmark/issues/927) by [@&#8203;zoni](https://redirect.github.com/zoni) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) - Add regression test for [#&#8203;655](https://redirect.github.com/raphlinus/pulldown-cmark/issues/655) by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/932](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/932) - Renovate the superlinear time fuzzer by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/935](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/935) #### New Contributors - [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - [@&#8203;zoni](https://redirect.github.com/zoni) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.0...v0.11.1 ### [`v0.11.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.0): 0.11.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0) ##### Finally, the so long awaited math mode is here! Enable the option to use it. This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release! #### Breaking changes - Change `write_to_html` to allow `fmt::Write` by [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) #### New features - Math mode #### Bugfixes - \[0.11] Don't exit `scan_attribute` with the ix pointing at block quote by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/873](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/873) - (Re)introduce simd feature to pulldown-cmark-escape by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/880](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/880) - fix: remove unnecessary end_newline set by [@&#8203;tomcur](https://redirect.github.com/tomcur) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) #### New Contributors - [@&#8203;duskmoon314](https://redirect.github.com/duskmoon314) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/874](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/874) - [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) - [@&#8203;tomcur](https://redirect.github.com/tomcur) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.3...v0.11.0 </details> Release Notes: - N/A
2024-09-05 17:46:51 +03:00
"pulldown-cmark 0.12.1",
2023-10-22 20:56:25 +03:00
"rand 0.8.5",
"regex",
"rpc",
2023-10-22 20:56:25 +03:00
"schemars",
"serde",
"serde_json",
"settings",
2023-10-22 20:56:25 +03:00
"similar",
"smallvec",
"smol",
"strsim",
2023-10-22 20:56:25 +03:00
"sum_tree",
"task",
"text",
"theme",
2023-10-22 20:56:25 +03:00
"tree-sitter",
"tree-sitter-elixir",
"tree-sitter-embedded-template",
"tree-sitter-heex",
"tree-sitter-html",
"tree-sitter-json",
"tree-sitter-md",
2023-10-22 20:56:25 +03:00
"tree-sitter-ruby",
"tree-sitter-rust",
"tree-sitter-typescript",
"unicase",
"unindent",
"util",
]
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
[[package]]
name = "language_model"
version = "0.1.0"
dependencies = [
"anthropic",
"anyhow",
"base64 0.22.1",
"client",
"collections",
"copilot",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"ctor",
"editor",
"env_logger",
"feature_flags",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"google_ai",
"gpui",
"http_client",
"image",
"inline_completion_button",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"language",
"log",
"menu",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"ollama",
"open_ai",
"parking_lot",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"project",
"proto",
"rand 0.8.5",
"schemars",
"serde",
"serde_json",
"settings",
"smol",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"text",
"theme",
"tiktoken-rs",
"ui",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
"unindent",
"util",
Extract completion provider crate (#14823) We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 20:35:34 +03:00
]
[[package]]
name = "language_selector"
version = "0.1.0"
2023-12-01 02:57:44 +03:00
dependencies = [
"anyhow",
"editor",
"fuzzy",
"gpui",
"language",
"picker",
"project",
"ui",
2023-12-01 02:57:44 +03:00
"util",
"workspace",
2023-12-01 02:57:44 +03:00
]
2023-06-10 00:55:46 +03:00
[[package]]
name = "language_tools"
version = "0.1.0"
2023-12-14 16:20:49 +03:00
dependencies = [
"anyhow",
"client",
2023-12-14 16:20:49 +03:00
"collections",
"copilot",
"editor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"lsp",
"project",
"release_channel",
"serde_json",
"settings",
"theme",
2023-12-14 16:20:49 +03:00
"tree-sitter",
"ui",
2023-12-14 16:20:49 +03:00
"util",
"workspace",
2023-12-14 16:20:49 +03:00
]
[[package]]
name = "languages"
version = "0.1.0"
dependencies = [
"anyhow",
"async-compression",
"async-tar",
"async-trait",
"collections",
"feature_flags",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"language",
"log",
"lsp",
"node_runtime",
"paths",
"project",
"protols-tree-sitter-proto",
"regex",
"rope",
"rust-embed",
"serde",
"serde_json",
"settings",
"smol",
"task",
"text",
"theme",
"toml 0.8.19",
"tree-sitter",
"tree-sitter-bash",
"tree-sitter-c",
"tree-sitter-cpp",
"tree-sitter-css",
"tree-sitter-go",
"tree-sitter-gomod",
"tree-sitter-gowork",
"tree-sitter-jsdoc",
"tree-sitter-json",
"tree-sitter-md",
"tree-sitter-python",
"tree-sitter-regex",
"tree-sitter-rust",
"tree-sitter-typescript",
"tree-sitter-yaml",
"unindent",
"util",
"workspace",
]
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
dependencies = [
"spin",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "lazycell"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "leb128"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
[[package]]
name = "lebe"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
[[package]]
name = "libc"
Update Rust crate libc to v0.2.158 (#16626) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.155` -> `0.2.158` | --- ### Release Notes <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.158`](https://togithub.com/rust-lang/libc/releases/tag/0.2.158) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.157...0.2.158) ##### Other - WASI: fix missing `Iterator` with `rustc-dep-of-std` in [#&#8203;3856 (comment)](https://togithub.com/rust-lang/libc/pull/3856#event-13924913068) ### [`v0.2.157`](https://togithub.com/rust-lang/libc/releases/tag/0.2.157) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.156...0.2.157) ##### Added - Apple: add `_NSGetArgv`, `_NSGetArgc` and `_NSGetProgname` in [#&#8203;3702](https://togithub.com/rust-lang/libc/pull/3702) - Build: add `RUSTC_WRAPPER` support in [#&#8203;3845](https://togithub.com/rust-lang/libc/pull/3845) - FreeBSD: add `execvpe` support from 14.1 release in [#&#8203;3745](https://togithub.com/rust-lang/libc/pull/3745) - Fuchsia: add `SO_BINDTOIFINDEX` - Linux: add `klogctl` in [#&#8203;3777](https://togithub.com/rust-lang/libc/pull/3777) - MacOS: add `fcntl` OFD commands in [#&#8203;3563](https://togithub.com/rust-lang/libc/pull/3563) - NetBSD: add `_lwp_park` in [#&#8203;3721](https://togithub.com/rust-lang/libc/pull/3721) - Solaris: add missing networking support in [#&#8203;3717](https://togithub.com/rust-lang/libc/pull/3717) - Unix: add `pthread_equal` in [#&#8203;3773](https://togithub.com/rust-lang/libc/pull/3773) - WASI: add `select`, `FD_SET`, `FD_ZERO`, ` FD_ISSET ` in [#&#8203;3681](https://togithub.com/rust-lang/libc/pull/3681) ##### Fixed - TEEOS: fix octal notation for `O_*` constants in [#&#8203;3841](https://togithub.com/rust-lang/libc/pull/3841) ##### Changed - FreeBSD: always use freebsd12 when `rustc_dep_of_std` is set in [#&#8203;3723](https://togithub.com/rust-lang/libc/pull/3723) ### [`v0.2.156`](https://togithub.com/rust-lang/libc/releases/tag/0.2.156) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.155...0.2.156) ##### Added - Apple: add `F_ALLOCATEPERSIST` in [#&#8203;3712](https://togithub.com/rust-lang/libc/pull/3712) - Apple: add `os_sync_wait_on_address` and related definitions in [#&#8203;3769](https://togithub.com/rust-lang/libc/pull/3769) - BSD: generalise `IPV6_DONTFRAG` to all BSD targets in [#&#8203;3716](https://togithub.com/rust-lang/libc/pull/3716) - FreeBSD/DragonFly: add `IP_RECVTTL`/`IPV6_RECVHOPLIMIT` in [#&#8203;3751](https://togithub.com/rust-lang/libc/pull/3751) - Hurd: add `XATTR_CREATE`, `XATTR_REPLACE` in [#&#8203;3739](https://togithub.com/rust-lang/libc/pull/3739) - Linux GNU: `confstr` API and `_CS_*` in [#&#8203;3771](https://togithub.com/rust-lang/libc/pull/3771) - Linux musl: add `preadv2` and `pwritev2` (1.2.5 min.) in [#&#8203;3762](https://togithub.com/rust-lang/libc/pull/3762) - VxWorks: add the constant `SOMAXCONN` in [#&#8203;3761](https://togithub.com/rust-lang/libc/pull/3761) - VxWorks: add a few errnoLib related constants in [#&#8203;3780](https://togithub.com/rust-lang/libc/pull/3780) ##### Fixed - Solaris/illumos: Change `ifa_flags` type to u64 in [#&#8203;3729](https://togithub.com/rust-lang/libc/pull/3729) - QNX 7.0: Disable `libregex` in [#&#8203;3775](https://togithub.com/rust-lang/libc/pull/3775) ##### Changed - QNX NTO: update platform support in [#&#8203;3815](https://togithub.com/rust-lang/libc/pull/3815) - `addr_of!(EXTERN_STATIC)` is now considered safe in [#&#8203;3776](https://togithub.com/rust-lang/libc/pull/3776) ##### Removed - Apple: remove `rmx_state` in [#&#8203;3776](https://togithub.com/rust-lang/libc/pull/3776) ##### Other - Update or remove CI tests that have been failing </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 23:50:27 +03:00
version = "0.2.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate libc to v0.2.158 (#16626) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.155` -> `0.2.158` | --- ### Release Notes <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.158`](https://togithub.com/rust-lang/libc/releases/tag/0.2.158) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.157...0.2.158) ##### Other - WASI: fix missing `Iterator` with `rustc-dep-of-std` in [#&#8203;3856 (comment)](https://togithub.com/rust-lang/libc/pull/3856#event-13924913068) ### [`v0.2.157`](https://togithub.com/rust-lang/libc/releases/tag/0.2.157) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.156...0.2.157) ##### Added - Apple: add `_NSGetArgv`, `_NSGetArgc` and `_NSGetProgname` in [#&#8203;3702](https://togithub.com/rust-lang/libc/pull/3702) - Build: add `RUSTC_WRAPPER` support in [#&#8203;3845](https://togithub.com/rust-lang/libc/pull/3845) - FreeBSD: add `execvpe` support from 14.1 release in [#&#8203;3745](https://togithub.com/rust-lang/libc/pull/3745) - Fuchsia: add `SO_BINDTOIFINDEX` - Linux: add `klogctl` in [#&#8203;3777](https://togithub.com/rust-lang/libc/pull/3777) - MacOS: add `fcntl` OFD commands in [#&#8203;3563](https://togithub.com/rust-lang/libc/pull/3563) - NetBSD: add `_lwp_park` in [#&#8203;3721](https://togithub.com/rust-lang/libc/pull/3721) - Solaris: add missing networking support in [#&#8203;3717](https://togithub.com/rust-lang/libc/pull/3717) - Unix: add `pthread_equal` in [#&#8203;3773](https://togithub.com/rust-lang/libc/pull/3773) - WASI: add `select`, `FD_SET`, `FD_ZERO`, ` FD_ISSET ` in [#&#8203;3681](https://togithub.com/rust-lang/libc/pull/3681) ##### Fixed - TEEOS: fix octal notation for `O_*` constants in [#&#8203;3841](https://togithub.com/rust-lang/libc/pull/3841) ##### Changed - FreeBSD: always use freebsd12 when `rustc_dep_of_std` is set in [#&#8203;3723](https://togithub.com/rust-lang/libc/pull/3723) ### [`v0.2.156`](https://togithub.com/rust-lang/libc/releases/tag/0.2.156) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.155...0.2.156) ##### Added - Apple: add `F_ALLOCATEPERSIST` in [#&#8203;3712](https://togithub.com/rust-lang/libc/pull/3712) - Apple: add `os_sync_wait_on_address` and related definitions in [#&#8203;3769](https://togithub.com/rust-lang/libc/pull/3769) - BSD: generalise `IPV6_DONTFRAG` to all BSD targets in [#&#8203;3716](https://togithub.com/rust-lang/libc/pull/3716) - FreeBSD/DragonFly: add `IP_RECVTTL`/`IPV6_RECVHOPLIMIT` in [#&#8203;3751](https://togithub.com/rust-lang/libc/pull/3751) - Hurd: add `XATTR_CREATE`, `XATTR_REPLACE` in [#&#8203;3739](https://togithub.com/rust-lang/libc/pull/3739) - Linux GNU: `confstr` API and `_CS_*` in [#&#8203;3771](https://togithub.com/rust-lang/libc/pull/3771) - Linux musl: add `preadv2` and `pwritev2` (1.2.5 min.) in [#&#8203;3762](https://togithub.com/rust-lang/libc/pull/3762) - VxWorks: add the constant `SOMAXCONN` in [#&#8203;3761](https://togithub.com/rust-lang/libc/pull/3761) - VxWorks: add a few errnoLib related constants in [#&#8203;3780](https://togithub.com/rust-lang/libc/pull/3780) ##### Fixed - Solaris/illumos: Change `ifa_flags` type to u64 in [#&#8203;3729](https://togithub.com/rust-lang/libc/pull/3729) - QNX 7.0: Disable `libregex` in [#&#8203;3775](https://togithub.com/rust-lang/libc/pull/3775) ##### Changed - QNX NTO: update platform support in [#&#8203;3815](https://togithub.com/rust-lang/libc/pull/3815) - `addr_of!(EXTERN_STATIC)` is now considered safe in [#&#8203;3776](https://togithub.com/rust-lang/libc/pull/3776) ##### Removed - Apple: remove `rmx_state` in [#&#8203;3776](https://togithub.com/rust-lang/libc/pull/3776) ##### Other - Update or remove CI tests that have been failing </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 23:50:27 +03:00
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
[[package]]
name = "libdbus-sys"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
dependencies = [
"cc",
"pkg-config",
]
[[package]]
name = "libfuzzer-sys"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
dependencies = [
"arbitrary",
"cc",
"once_cell",
]
[[package]]
name = "libgit2-sys"
version = "0.17.0+1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224"
dependencies = [
"cc",
"libc",
"libz-sys",
"pkg-config",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "libloading"
version = "0.8.5"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
2023-07-07 21:24:29 +03:00
dependencies = [
"cfg-if",
"windows-targets 0.52.6",
2023-07-07 21:24:29 +03:00
]
[[package]]
name = "libm"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "libmimalloc-sys"
Update Rust crate mimalloc to v0.1.43 (#15582) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mimalloc](https://togithub.com/purpleprotocol/mimalloc_rust) | dependencies | patch | `0.1.41` -> `0.1.43` | --- ### Release Notes <details> <summary>purpleprotocol/mimalloc_rust (mimalloc)</summary> ### [`v0.1.43`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.43): Version 0.1.43 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.42...v0.1.43) ##### Changes - Mimalloc `v2.1.7` - Fix static builds (credits [@&#8203;BlackDex](https://togithub.com/BlackDex)) ### [`v0.1.42`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.42): Version 0.1.42 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.41...v0.1.42) ##### Changes - MiMalloc `v2.1.6` - Expose `usable_size` and `version`. Credits [@&#8203;nathaniel-daniel](https://togithub.com/nathaniel-daniel). - Link with libatomic on armv6-linux. Credits [@&#8203;notorca](https://togithub.com/notorca). - Add no_thp option for Linux/Android. Credits [@&#8203;devnexen](https://togithub.com/devnexen). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:16:52 +03:00
version = "0.1.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate mimalloc to v0.1.43 (#15582) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mimalloc](https://togithub.com/purpleprotocol/mimalloc_rust) | dependencies | patch | `0.1.41` -> `0.1.43` | --- ### Release Notes <details> <summary>purpleprotocol/mimalloc_rust (mimalloc)</summary> ### [`v0.1.43`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.43): Version 0.1.43 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.42...v0.1.43) ##### Changes - Mimalloc `v2.1.7` - Fix static builds (credits [@&#8203;BlackDex](https://togithub.com/BlackDex)) ### [`v0.1.42`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.42): Version 0.1.42 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.41...v0.1.42) ##### Changes - MiMalloc `v2.1.6` - Expose `usable_size` and `version`. Credits [@&#8203;nathaniel-daniel](https://togithub.com/nathaniel-daniel). - Link with libatomic on armv6-linux. Credits [@&#8203;notorca](https://togithub.com/notorca). - Add no_thp option for Linux/Android. Credits [@&#8203;devnexen](https://togithub.com/devnexen). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:16:52 +03:00
checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "libredox"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
dependencies = [
"bitflags 2.6.0",
"libc",
"redox_syscall 0.5.3",
]
[[package]]
2022-10-14 02:31:26 +03:00
name = "libsqlite3-sys"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.28.0"
2022-10-14 02:31:26 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f"
dependencies = [
"cc",
2022-10-14 02:31:26 +03:00
"pkg-config",
"vcpkg",
]
[[package]]
name = "libz-sys"
version = "1.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "linkify"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1dfa36d52c581e9ec783a7ce2a5e0143da6237be5811a0b3153fedfdbe9f780"
dependencies = [
"memchr",
]
2023-11-16 21:32:55 +03:00
[[package]]
name = "linkme"
version = "0.3.28"
2023-11-16 21:32:55 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c943daedff228392b791b33bba32e75737756e80a613e32e246c6ce9cbab20a"
2023-11-16 21:32:55 +03:00
dependencies = [
"linkme-impl",
]
[[package]]
name = "linkme-impl"
version = "0.3.28"
2023-11-16 21:32:55 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb26336e6dc7cc76e7927d2c9e7e3bb376d7af65a6f56a0b16c47d18a9b1abc5"
2023-11-16 21:32:55 +03:00
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
2023-11-16 21:32:55 +03:00
]
[[package]]
name = "linux-raw-sys"
2023-07-07 21:24:29 +03:00
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
[[package]]
name = "linux-raw-sys"
version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
[[package]]
name = "live_kit_client"
version = "0.1.0"
dependencies = [
"anyhow",
"async-broadcast",
"async-trait",
2023-11-01 00:04:03 +03:00
"collections",
"core-foundation 0.9.4",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
2023-11-01 00:04:03 +03:00
"live_kit_server",
"log",
"media",
"nanoid",
"parking_lot",
2023-11-01 00:04:03 +03:00
"postage",
"serde",
"serde_json",
"sha2",
2023-11-01 00:04:03 +03:00
"simplelog",
]
[[package]]
name = "live_kit_server"
version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
"jsonwebtoken",
"log",
"prost",
2022-10-14 18:00:38 +03:00
"prost-build",
"prost-types",
"reqwest",
"serde",
]
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "lmdb-master-sys"
Update Rust crate heed to v0.20.5 (#16464) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.4` -> `0.20.5` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.5`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.5): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.4...v0.20.5) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * fix function docs (clippy warnings) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 * fix custom_key_cmp_wrapper being able to unwind to C code (ub) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/275](https://togithub.com/meilisearch/heed/pull/275)ll/275 ##### New Contributors * @&#8203;antonilol made their first contributi[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 17:26:14 +03:00
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate heed to v0.20.5 (#16464) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.4` -> `0.20.5` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.5`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.5): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.4...v0.20.5) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * fix function docs (clippy warnings) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 * fix custom_key_cmp_wrapper being able to unwind to C code (ub) by @&#8203;antonil[https://github.com/meilisearch/heed/pull/275](https://togithub.com/meilisearch/heed/pull/275)ll/275 ##### New Contributors * @&#8203;antonilol made their first contributi[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 17:26:14 +03:00
checksum = "472c3760e2a8d0f61f322fb36788021bb36d573c502b50fa3e2bcaac3ec326c9"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
dependencies = [
"cc",
"doxygen-rs",
"libc",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "lock_api"
version = "0.4.12"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
2021-03-10 07:00:51 +03:00
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
2021-04-20 23:51:24 +03:00
"scopeguard",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "log"
version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
dependencies = [
"serde",
"value-bag",
]
[[package]]
name = "loop9"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062"
dependencies = [
"imgref",
]
[[package]]
name = "lru"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904"
dependencies = [
"hashbrown 0.14.5",
]
[[package]]
name = "lsp"
version = "0.1.0"
dependencies = [
"anyhow",
"async-pipe",
"collections",
2022-02-12 03:37:50 +03:00
"ctor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"log",
"lsp-types",
"parking_lot",
"postage",
"release_channel",
"serde",
"serde_json",
"smol",
"util",
"windows 0.58.0",
]
[[package]]
name = "lsp-types"
version = "0.95.1"
source = "git+https://github.com/zed-industries/lsp-types?rev=72357d6f6d212bdffba3b5ef4b31d8ca856058e7#72357d6f6d212bdffba3b5ef4b31d8ca856058e7"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"serde",
"serde_json",
"serde_repr",
"url",
]
[[package]]
name = "lz4"
version = "1.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68"
dependencies = [
"libc",
"lz4-sys",
]
[[package]]
name = "lz4-sys"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "mac"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
[[package]]
name = "mach2"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709"
dependencies = [
"libc",
]
[[package]]
name = "malloc_buf"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
dependencies = [
"libc",
]
[[package]]
name = "maplit"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]]
name = "markdown"
version = "0.1.0"
dependencies = [
"anyhow",
"assets",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"languages",
"linkify",
"log",
"node_runtime",
Upgrade `pulldown_cmark` to v0.12 (#17418) This PR upgrades `pulldown_cmark` to v0.12. There were a few breaking changes that needed to be accounted for: - The `BlockQuote` variant now has a `kind` attached. Right now we're ignoring it. - `pulldown_cmark` now emits tags for definition lists. This codepath has been left unimplemented, for now. ### Release Notes <details> <summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary> ### [`v0.12.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.1): 0.12.1 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.0...v0.12.1) ##### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/941](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/941) ##### New features - impl From<CowStr> for String by [@&#8203;oconnor663](https://redirect.github.com/oconnor663) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) ##### Developers - Make dos-fuzzer part of the workspace by [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) ##### New Contributors - [@&#8203;oconnor663](https://redirect.github.com/oconnor663) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) - [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.0...v0.12.1 ### [`v0.12.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.0): 0.12.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.3...v0.12.0) Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in `TagEnd` reverted in 0.11.2. #### Breaking changes - feat: re-add kind for BlockQuote in TagEnd by [@&#8203;Martin1887](https://redirect.github.com/Martin1887) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/940](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/940) - Refactor TextMergeStream by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/931](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/931) #### New features - Implement commonmark-hs compatible definition lists by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/915](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/915) #### Other changes - Rename superlinear time fuzzer to `dos-fuzzer` by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/938](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/938) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.12.0 ### [`v0.11.3`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.3): 0.11.3 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.2...v0.11.3) #### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/944](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/944) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.11.3 ### [`v0.11.2`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.2) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.1...v0.11.2) Revert BlockQuote kind to avoid breaking change. ### [`v0.11.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.1) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.11.1) Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation. #### Breaking changes - Add BlockQuoteKind to BlockQuote TagEnd by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/926](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/926) (reverted in v0.11.2) #### What's Changed - fix: CowStr deserialization when escaping by [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - fix(test): fix generating spec tests doesn't work on Windows due to line-endings by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/903](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/903) - feat: add `-G` CLI option to enable GFM support by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/905](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/905) - feat: set `DefaultBrokenLinkCallback` as the default broken link callback of `OffsetIter` by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/901](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/901) - chore(doc): use `cargo add` to instruct how to install this crate as dependency by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/904](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/904) - fix typo by [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - Fix parsing blocks inside alert body by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/908](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/908) - fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/910](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/910) - fix: fix warnings reported from nightly rustc by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/911](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/911) - fix: fix infinite loop when metadata delimiter is indented by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/913](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/913) - Raise the link cutoff from 5 to 32 by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/917](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/917) - Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/916](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/916) - Add guide book and deploy script for it by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/883](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/883) - ci: fix deploying the document to GitHub Pages and make the deploy job faster by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/920](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/920) - Fix lone task list item bug by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/924](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/924) - Fix offset range around footnotes that look like images by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/925](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/925) - Update old footnote format to interrupt paragraph by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/928](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/928) - Fix confusing bug with back-to-back footnotes by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/930](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/930) - Add reproduction cases for [#&#8203;927](https://redirect.github.com/raphlinus/pulldown-cmark/issues/927) by [@&#8203;zoni](https://redirect.github.com/zoni) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) - Add regression test for [#&#8203;655](https://redirect.github.com/raphlinus/pulldown-cmark/issues/655) by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/932](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/932) - Renovate the superlinear time fuzzer by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/935](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/935) #### New Contributors - [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - [@&#8203;zoni](https://redirect.github.com/zoni) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.0...v0.11.1 ### [`v0.11.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.0): 0.11.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0) ##### Finally, the so long awaited math mode is here! Enable the option to use it. This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release! #### Breaking changes - Change `write_to_html` to allow `fmt::Write` by [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) #### New features - Math mode #### Bugfixes - \[0.11] Don't exit `scan_attribute` with the ix pointing at block quote by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/873](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/873) - (Re)introduce simd feature to pulldown-cmark-escape by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/880](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/880) - fix: remove unnecessary end_newline set by [@&#8203;tomcur](https://redirect.github.com/tomcur) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) #### New Contributors - [@&#8203;duskmoon314](https://redirect.github.com/duskmoon314) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/874](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/874) - [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) - [@&#8203;tomcur](https://redirect.github.com/tomcur) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.3...v0.11.0 </details> Release Notes: - N/A
2024-09-05 17:46:51 +03:00
"pulldown-cmark 0.12.1",
"settings",
"theme",
"ui",
"util",
]
[[package]]
name = "markdown_preview"
version = "0.1.0"
dependencies = [
"anyhow",
"async-recursion 1.1.1",
"collections",
"editor",
"gpui",
"language",
"linkify",
"log",
markdown_preview: Improved markdown rendering support (#7345) This PR improves support for rendering markdown documents. ## After the updates https://github.com/zed-industries/zed/assets/18583882/48315901-563d-44c6-8265-8390e8eed942 ## Before the updates https://github.com/zed-industries/zed/assets/18583882/6d7ddb55-41f7-492e-af12-6ab54559f612 ## New features - @SomeoneToIgnore's [scrolling feature request](https://github.com/zed-industries/zed/pull/6958#pullrequestreview-1850458632). - Checkboxes (`- [ ]` and `- [x]`) - Inline code blocks. - Ordered and unordered lists at an arbitrary depth. - Block quotes that render nested content, like code blocks. - Lists that render nested content, like code blocks. - Block quotes that support variable heading sizes and the other markdown features added [here](https://github.com/zed-industries/zed/pull/6958). - Users can see and click internal links (`[See the docs](./docs.md)`). ## Notable changes - Removed dependency on `rich_text`. - Added a new method for parsing markdown into renderable structs. This method uses recursive descent so it can easily support more complex markdown documents. - Parsing does not happen for every call to `MarkdownPreviewView::render` anymore. ## TODO - [ ] Typing should move the markdown preview cursor. ## Future work under consideration - If a title exists for a link, show it on hover. - Images. - Since this PR brings the most support for markdown, we can consolidate `languages/markdown` and `rich_text` to use this new renderer. Note that the updated inline text rendering method in this PR originated from `langauges/markdown`. - Syntax highlighting in code blocks. - Footnote references. - Inline HTML. - Strikethrough support. - Scrolling improvements: - Handle automatic preview scrolling when multiple cursors are used in the editor. - > great to see that the render now respects editor's scrolls, but can we also support the vice-versa (as syntax tree does it in Zed) — when scrolling the render, it would be good to scroll the editor too - > sometimes it's hard to understand where the "caret" on the render is, so I wonder if we could go even further with its placement and place it inside the text, as a regular caret? Maybe even support the selections? - > switching to another markdown tab does not change the rendered contents and when I call the render command again, the screen gets another split — I would rather prefer to have Zed's syntax tree behavior: there's always a single panel that renders things for whatever tab is active now. At least we should not split if there's already a split, rather adding the new rendered tab there. - > plaintext URLs could get a highlight and the click action ## Release Notes - Improved support for markdown rendering.
2024-02-08 12:19:31 +03:00
"pretty_assertions",
Upgrade `pulldown_cmark` to v0.12 (#17418) This PR upgrades `pulldown_cmark` to v0.12. There were a few breaking changes that needed to be accounted for: - The `BlockQuote` variant now has a `kind` attached. Right now we're ignoring it. - `pulldown_cmark` now emits tags for definition lists. This codepath has been left unimplemented, for now. ### Release Notes <details> <summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary> ### [`v0.12.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.1): 0.12.1 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.0...v0.12.1) ##### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/941](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/941) ##### New features - impl From<CowStr> for String by [@&#8203;oconnor663](https://redirect.github.com/oconnor663) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) ##### Developers - Make dos-fuzzer part of the workspace by [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) ##### New Contributors - [@&#8203;oconnor663](https://redirect.github.com/oconnor663) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) - [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.0...v0.12.1 ### [`v0.12.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.0): 0.12.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.3...v0.12.0) Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in `TagEnd` reverted in 0.11.2. #### Breaking changes - feat: re-add kind for BlockQuote in TagEnd by [@&#8203;Martin1887](https://redirect.github.com/Martin1887) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/940](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/940) - Refactor TextMergeStream by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/931](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/931) #### New features - Implement commonmark-hs compatible definition lists by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/915](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/915) #### Other changes - Rename superlinear time fuzzer to `dos-fuzzer` by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/938](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/938) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.12.0 ### [`v0.11.3`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.3): 0.11.3 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.2...v0.11.3) #### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/944](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/944) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.11.3 ### [`v0.11.2`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.2) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.1...v0.11.2) Revert BlockQuote kind to avoid breaking change. ### [`v0.11.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.1) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.11.1) Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation. #### Breaking changes - Add BlockQuoteKind to BlockQuote TagEnd by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/926](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/926) (reverted in v0.11.2) #### What's Changed - fix: CowStr deserialization when escaping by [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - fix(test): fix generating spec tests doesn't work on Windows due to line-endings by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/903](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/903) - feat: add `-G` CLI option to enable GFM support by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/905](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/905) - feat: set `DefaultBrokenLinkCallback` as the default broken link callback of `OffsetIter` by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/901](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/901) - chore(doc): use `cargo add` to instruct how to install this crate as dependency by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/904](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/904) - fix typo by [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - Fix parsing blocks inside alert body by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/908](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/908) - fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/910](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/910) - fix: fix warnings reported from nightly rustc by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/911](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/911) - fix: fix infinite loop when metadata delimiter is indented by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/913](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/913) - Raise the link cutoff from 5 to 32 by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/917](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/917) - Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/916](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/916) - Add guide book and deploy script for it by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/883](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/883) - ci: fix deploying the document to GitHub Pages and make the deploy job faster by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/920](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/920) - Fix lone task list item bug by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/924](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/924) - Fix offset range around footnotes that look like images by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/925](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/925) - Update old footnote format to interrupt paragraph by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/928](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/928) - Fix confusing bug with back-to-back footnotes by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/930](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/930) - Add reproduction cases for [#&#8203;927](https://redirect.github.com/raphlinus/pulldown-cmark/issues/927) by [@&#8203;zoni](https://redirect.github.com/zoni) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) - Add regression test for [#&#8203;655](https://redirect.github.com/raphlinus/pulldown-cmark/issues/655) by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/932](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/932) - Renovate the superlinear time fuzzer by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/935](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/935) #### New Contributors - [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - [@&#8203;zoni](https://redirect.github.com/zoni) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.0...v0.11.1 ### [`v0.11.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.0): 0.11.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0) ##### Finally, the so long awaited math mode is here! Enable the option to use it. This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release! #### Breaking changes - Change `write_to_html` to allow `fmt::Write` by [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) #### New features - Math mode #### Bugfixes - \[0.11] Don't exit `scan_attribute` with the ix pointing at block quote by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/873](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/873) - (Re)introduce simd feature to pulldown-cmark-escape by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/880](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/880) - fix: remove unnecessary end_newline set by [@&#8203;tomcur](https://redirect.github.com/tomcur) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) #### New Contributors - [@&#8203;duskmoon314](https://redirect.github.com/duskmoon314) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/874](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/874) - [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) - [@&#8203;tomcur](https://redirect.github.com/tomcur) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.3...v0.11.0 </details> Release Notes: - N/A
2024-09-05 17:46:51 +03:00
"pulldown-cmark 0.12.1",
"settings",
"theme",
"ui",
"workspace",
]
[[package]]
name = "markup5ever"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45"
dependencies = [
"log",
"phf",
"phf_codegen",
"string_cache",
"string_cache_codegen",
"tendril",
]
[[package]]
name = "markup5ever_rcdom"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edaa21ab3701bfee5099ade5f7e1f84553fd19228cf332f13cd6e964bf59be18"
dependencies = [
"html5ever",
"markup5ever",
"tendril",
"xml5ever",
]
[[package]]
name = "matchers"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
dependencies = [
2023-07-07 21:24:29 +03:00
"regex-automata 0.1.10",
]
[[package]]
name = "matchit"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
[[package]]
name = "maybe-owned"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4"
[[package]]
name = "maybe-rayon"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
dependencies = [
"cfg-if",
]
[[package]]
name = "md-5"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
dependencies = [
"cfg-if",
"digest",
]
[[package]]
name = "mdbook"
version = "0.4.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b45a38e19bd200220ef07c892b0157ad3d2365e5b5a267ca01ad12182491eea5"
dependencies = [
"ammonia",
"anyhow",
"chrono",
"clap",
"clap_complete",
"elasticlunr-rs",
"env_logger",
"futures-util",
"handlebars 5.1.2",
"ignore",
"log",
"memchr",
"notify",
"notify-debouncer-mini",
"once_cell",
"opener",
"pathdiff",
Upgrade `pulldown_cmark` to v0.12 (#17418) This PR upgrades `pulldown_cmark` to v0.12. There were a few breaking changes that needed to be accounted for: - The `BlockQuote` variant now has a `kind` attached. Right now we're ignoring it. - `pulldown_cmark` now emits tags for definition lists. This codepath has been left unimplemented, for now. ### Release Notes <details> <summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary> ### [`v0.12.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.1): 0.12.1 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.0...v0.12.1) ##### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/941](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/941) ##### New features - impl From<CowStr> for String by [@&#8203;oconnor663](https://redirect.github.com/oconnor663) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) ##### Developers - Make dos-fuzzer part of the workspace by [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) ##### New Contributors - [@&#8203;oconnor663](https://redirect.github.com/oconnor663) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) - [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.0...v0.12.1 ### [`v0.12.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.0): 0.12.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.3...v0.12.0) Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in `TagEnd` reverted in 0.11.2. #### Breaking changes - feat: re-add kind for BlockQuote in TagEnd by [@&#8203;Martin1887](https://redirect.github.com/Martin1887) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/940](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/940) - Refactor TextMergeStream by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/931](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/931) #### New features - Implement commonmark-hs compatible definition lists by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/915](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/915) #### Other changes - Rename superlinear time fuzzer to `dos-fuzzer` by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/938](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/938) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.12.0 ### [`v0.11.3`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.3): 0.11.3 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.2...v0.11.3) #### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/944](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/944) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.11.3 ### [`v0.11.2`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.2) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.1...v0.11.2) Revert BlockQuote kind to avoid breaking change. ### [`v0.11.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.1) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.11.1) Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation. #### Breaking changes - Add BlockQuoteKind to BlockQuote TagEnd by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/926](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/926) (reverted in v0.11.2) #### What's Changed - fix: CowStr deserialization when escaping by [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - fix(test): fix generating spec tests doesn't work on Windows due to line-endings by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/903](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/903) - feat: add `-G` CLI option to enable GFM support by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/905](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/905) - feat: set `DefaultBrokenLinkCallback` as the default broken link callback of `OffsetIter` by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/901](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/901) - chore(doc): use `cargo add` to instruct how to install this crate as dependency by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/904](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/904) - fix typo by [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - Fix parsing blocks inside alert body by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/908](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/908) - fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/910](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/910) - fix: fix warnings reported from nightly rustc by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/911](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/911) - fix: fix infinite loop when metadata delimiter is indented by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/913](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/913) - Raise the link cutoff from 5 to 32 by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/917](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/917) - Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/916](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/916) - Add guide book and deploy script for it by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/883](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/883) - ci: fix deploying the document to GitHub Pages and make the deploy job faster by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/920](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/920) - Fix lone task list item bug by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/924](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/924) - Fix offset range around footnotes that look like images by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/925](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/925) - Update old footnote format to interrupt paragraph by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/928](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/928) - Fix confusing bug with back-to-back footnotes by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/930](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/930) - Add reproduction cases for [#&#8203;927](https://redirect.github.com/raphlinus/pulldown-cmark/issues/927) by [@&#8203;zoni](https://redirect.github.com/zoni) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) - Add regression test for [#&#8203;655](https://redirect.github.com/raphlinus/pulldown-cmark/issues/655) by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/932](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/932) - Renovate the superlinear time fuzzer by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/935](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/935) #### New Contributors - [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - [@&#8203;zoni](https://redirect.github.com/zoni) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.0...v0.11.1 ### [`v0.11.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.0): 0.11.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0) ##### Finally, the so long awaited math mode is here! Enable the option to use it. This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release! #### Breaking changes - Change `write_to_html` to allow `fmt::Write` by [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) #### New features - Math mode #### Bugfixes - \[0.11] Don't exit `scan_attribute` with the ix pointing at block quote by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/873](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/873) - (Re)introduce simd feature to pulldown-cmark-escape by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/880](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/880) - fix: remove unnecessary end_newline set by [@&#8203;tomcur](https://redirect.github.com/tomcur) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) #### New Contributors - [@&#8203;duskmoon314](https://redirect.github.com/duskmoon314) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/874](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/874) - [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) - [@&#8203;tomcur](https://redirect.github.com/tomcur) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.3...v0.11.0 </details> Release Notes: - N/A
2024-09-05 17:46:51 +03:00
"pulldown-cmark 0.10.3",
"regex",
"serde",
"serde_json",
"shlex",
"tempfile",
"tokio",
"toml 0.5.11",
"topological-sort",
"walkdir",
"warp",
]
[[package]]
name = "media"
version = "0.1.0"
dependencies = [
2022-08-31 12:09:14 +03:00
"anyhow",
Update Rust crate bindgen to 0.70.0 (#17024) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bindgen](https://rust-lang.github.io/rust-bindgen/) ([source](https://togithub.com/rust-lang/rust-bindgen)) | build-dependencies | minor | `0.65.1` -> `0.70.0` | --- ### Release Notes <details> <summary>rust-lang/rust-bindgen (bindgen)</summary> ### [`v0.70.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0701-2024-08-20) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.70.0...v0.70.1) #### Added #### Changed #### Removed #### Fixed - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `identity_op` clippy warnings. #### Security ### [`v0.70.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0700-2024-08-16) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.0) #### Added - Add target mappings for riscv64imac and riscv32imafc. - Add a complex macro fallback API ([#&#8203;2779](https://togithub.com/rust-lang/rust-bindgen/issues/2779)). - Add option to use DST structs for flexible arrays (--flexarray-dst, [#&#8203;2772](https://togithub.com/rust-lang/rust-bindgen/issues/2772)). - Add option to dynamically load variables ([#&#8203;2812](https://togithub.com/rust-lang/rust-bindgen/issues/2812)). - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, [#&#8203;2847](https://togithub.com/rust-lang/rust-bindgen/issues/2847)). #### Changed - Remove which and lazy-static dependencies ([#&#8203;2809](https://togithub.com/rust-lang/rust-bindgen/issues/2809), [#&#8203;2817](https://togithub.com/rust-lang/rust-bindgen/issues/2817)). - Generate compile-time layout tests ([#&#8203;2787](https://togithub.com/rust-lang/rust-bindgen/issues/2787)). - Print `bindgen-cli` errors to stderr instead of stdout ([#&#8203;2840](https://togithub.com/rust-lang/rust-bindgen/issues/2840)) #### Removed #### Fixed - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and enabling it by default for `bindgen-cli` ([#&#8203;2789](https://togithub.com/rust-lang/rust-bindgen/issues/2789)) . - Fix `--allowlist-item` so anonymous enums are no longer ignored ([#&#8203;2827](https://togithub.com/rust-lang/rust-bindgen/issues/2827)). - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk ([#&#8203;2824](https://togithub.com/rust-lang/rust-bindgen/issues/2824)). - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` ([#&#8203;2854](https://togithub.com/rust-lang/rust-bindgen/issues/2854)). #### Security - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://togithub.com/advisories/GHSA-c827-hfw6-qwvm). ### [`v0.69.4`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0694-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.3...v0.69.4) #### Added #### Changed - Allow older itertools. ([#&#8203;2745](https://togithub.com/rust-lang/rust-bindgen/issues/2745)) #### Removed #### Fixed #### Security ### [`v0.69.3`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0693-2024-02-04) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.2...v0.69.3) #### Added - Added blocklist_var ([#&#8203;2731](https://togithub.com/rust-lang/rust-bindgen/issues/2731)) - Stabilized thiscall_abi ([#&#8203;2661](https://togithub.com/rust-lang/rust-bindgen/issues/2661)) #### Changed - Use CR consistently on windows ([#&#8203;2698](https://togithub.com/rust-lang/rust-bindgen/issues/2698)) - Replaced peeking_take_while by itertools ([#&#8203;2724](https://togithub.com/rust-lang/rust-bindgen/issues/2724)) #### Removed #### Fixed - Try to avoid repr(packed) for explicitly aligned types when not needed ([#&#8203;2734](https://togithub.com/rust-lang/rust-bindgen/issues/2734)) - Improved destructor handling on Windows ([#&#8203;2663](https://togithub.com/rust-lang/rust-bindgen/issues/2663)) - Support Float16 ([#&#8203;2667](https://togithub.com/rust-lang/rust-bindgen/issues/2667)) - Fix alignment contribution from bitfields ([#&#8203;2680](https://togithub.com/rust-lang/rust-bindgen/issues/2680)) - Fixed msrv build. #### Security - Updated shlex dependency (RUSTSEC-2024-0006) ### [`v0.69.2`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0692-2024-01-13) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.1...v0.69.2) #### Added #### Changed #### Removed #### Fixed - Fixed generation of extern "C" blocks with llvm 18+. See [#&#8203;2689](https://togithub.com/rust-lang/rust-bindgen/issues/2689). #### Security ### [`v0.69.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0691-2023-11-02) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.69.0...v0.69.1) #### Fixed - Allow to run `bindgen -v` without an input header argument. ### [`v0.69.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0690-2023-11-01) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.1...v0.69.0) #### Added - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder::header`. - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line for every input header file by default. - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether a cargo-rerun line should be emitted for every input header file. #### Changed - The `--wrap-static-fns` feature was updated so function types that has no argument use `void` as its sole argument. - `CargoCallbacks` is no longer a [unit-like struct](https://doc.rust-lang.org/reference/items/structs.html) and the `CargoCallbacks` constant was added to mitigate the breaking nature of this change. This constant has been marked as deprecated and users will have to use the new `CargoCallbacks::new` method in the future. #### Removed #### Fixed - Allow compiling `bindgen-cli` with a static libclang. - Emit an opaque integer type for pointer types that don't have the same size as the target's pointer size. - Avoid escaping Objective-C method names unless they are `Self`, `self`, `crate` or `super`. #### Security ### [`v0.68.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0681) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1) #### Fixed - Fixed errors on the windows artifact build process. ### [`v0.68.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.1...v0.68.0) #### Added - The `system` ABI is now supported as an option for the `--override-abi` flag. - The `allowlist_item` method and the `--allowlist-item` flag have been included to filter items regardless or their kind. - Include installers as release artifacts on Github. #### Changed - The `Clone` implementation for `_BindgenUnionField` has been changed to pass the `incorrect_clone_impl_on_copy_type` Clippy lint. - The `c_unwind` ABI can be used without a feature gate for any Rust target version equal to or greater than 1.71. This comes as a result of the ABI being stabilised (in Rust 1.71). - Formatting changes when using prettyplease as a formatter due to a new prettyplease version. - Avoid generating invalid `CStr` constants when using the `--generate-cstr` option. #### Removed - The `extra_assert` and `extra_assert_eq` macros are no longer exported. #### Fixed - Bindgen no longer panics when parsing an objective-C header that includes a Rust keyword that cannot be a raw identifier, such as: `self`, `crate`, `super` or `Self`. ### [`v0.66.1`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.66.0...v0.66.1) #### Removed - Revert source order sorting ([#&#8203;2543](https://togithub.com/rust-lang/rust-bindgen/issues/2543)) due to correctness regressions [#&#8203;2558](https://togithub.com/rust-lang/rust-bindgen/issues/2558). ### [`v0.66.0`](https://togithub.com/rust-lang/rust-bindgen/blob/HEAD/CHANGELOG.md#0660) [Compare Source](https://togithub.com/rust-lang/rust-bindgen/compare/v0.65.1...v0.66.0) #### Added - Added the `--generate-cstr` CLI flag to generate string constants as `&CStr` instead of `&[u8]`. (Requires Rust 1.59 or higher.) - Added the `--generate-shell-completions` CLI flag to generate completions for different shells. - The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions with the experimental `ParseCallbacks::wrap_as_variadic_fn` method. - Add target mappings for riscv32imc and riscv32imac. - Add the `ParseCallbacks::field_visibility` method to modify field visibility. #### Changed - Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`) instead of arrays (`[u8; SIZE]`) to match UTF-8 strings. - Wrappers for static functions that return `void` no longer contain a `return` statement and only call the static function instead. - The `--wrap-static-fns` option no longer emits wrappers for static variadic functions. - Depfiles generated with `--depfile` or `Builder::depfile` will now properly generate module names and paths that include spaces by escaping them. To make the escaping clear and consistent, backslashes are also escaped. - Updated `bitflags` dependency to 2.2.1. This changes the API of `CodegenConfig`. - Prettyplease formatting is gated by an optional, enabled by default Cargo feature when depending on `bindgen` as a library. - Items are now parsed in the order they appear in source files. This may result in auto-generated `_bindgen_*` names having a different index. - Use default visibility for padding fields: Previously, padding fields were always public. Now, they follow the default visibility for the type they are in. - Compute visibility of bitfield unit based on actual field visibility: A bitfield unit field and its related functions now have their visibility determined based on the most private between the default visibility and the actual visibility of the bitfields within the unit. #### Removed - Remove redundant Cargo features, which were all implicit: - bindgen-cli: `env_logger` and `log` removed in favor of `logging` - bindgen (lib): - `log` removed in favor of `logging` - `which` removed in favor of `which-logging` - `annotate-snippets` removed in favor of `experimental` - Prettyplease is available as a `Formatter` variant now. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:12:49 +03:00
"bindgen 0.70.1",
"core-foundation 0.9.4",
Enable Blade on MacOS via "macos-blade" feature (#7669) Depends on https://github.com/zed-industries/font-kit/pull/2 and https://github.com/kvark/blade/pull/77 This change enables Blade to be also used on MacOS. It will also make it easier to use it on Windows. What works: most of the things. Zed loads as fast and appears equally responsive to the current renderer. <img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM" src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827"> Things missing: - [x] video streaming. ~~Requires a bit of plumbing on both Blade and Zed sides, but all fairly straightforward.~~ - verified with a local setup - [x] resize. ~~Not sure where exactly to hook up the reaction on the window size change. Once we know where, the fix is one line.~~ - [ ] fine-tune CA Layer - this isn't a blocker for merging the PR, but it would be a blocker if we wanted to switch to the new path by default - [ ] rebase on latest, get the dependency merged (need review/merge of https://github.com/zed-industries/font-kit/pull/2!) Update: I implemented resize support as well as "surface" rendering on the Blade path (which will be useful on Linux/Windows later on). I haven't tested the latter though - not sure how to get something streaming. Would appreciate some help! I don't think this should be a blocker to this PR, anyway. The only little piece that's missing for the Blade on MacOS path to be full-featured is fine-tuning the CALayer configuration. Zed does a lot of careful logic in configuring the layer, such as switching the "present with transaction" on/off intermittently, which Blade path doesn't have yet. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-17 00:39:40 +03:00
"foreign-types 0.5.0",
"metal",
"objc",
]
[[package]]
name = "memchr"
version = "2.7.4"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
2021-04-06 14:44:38 +03:00
[[package]]
name = "memfd"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
dependencies = [
"rustix 0.38.35",
]
[[package]]
name = "memmap2"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
dependencies = [
"libc",
]
2022-11-01 23:15:58 +03:00
[[package]]
name = "memoffset"
version = "0.9.1"
2022-11-01 23:15:58 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
2022-11-01 23:15:58 +03:00
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
2022-11-01 23:15:58 +03:00
]
[[package]]
name = "menu"
version = "0.1.0"
2023-10-30 19:56:23 +03:00
dependencies = [
"gpui",
"serde",
2023-10-30 19:56:23 +03:00
]
[[package]]
name = "metal"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21"
dependencies = [
"bitflags 2.6.0",
"block",
"core-graphics-types 0.1.3",
"foreign-types 0.5.0",
"log",
"objc",
"paste",
]
[[package]]
name = "mimalloc"
Update Rust crate mimalloc to v0.1.43 (#15582) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mimalloc](https://togithub.com/purpleprotocol/mimalloc_rust) | dependencies | patch | `0.1.41` -> `0.1.43` | --- ### Release Notes <details> <summary>purpleprotocol/mimalloc_rust (mimalloc)</summary> ### [`v0.1.43`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.43): Version 0.1.43 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.42...v0.1.43) ##### Changes - Mimalloc `v2.1.7` - Fix static builds (credits [@&#8203;BlackDex](https://togithub.com/BlackDex)) ### [`v0.1.42`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.42): Version 0.1.42 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.41...v0.1.42) ##### Changes - MiMalloc `v2.1.6` - Expose `usable_size` and `version`. Credits [@&#8203;nathaniel-daniel](https://togithub.com/nathaniel-daniel). - Link with libatomic on armv6-linux. Credits [@&#8203;notorca](https://togithub.com/notorca). - Add no_thp option for Linux/Android. Credits [@&#8203;devnexen](https://togithub.com/devnexen). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:16:52 +03:00
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate mimalloc to v0.1.43 (#15582) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mimalloc](https://togithub.com/purpleprotocol/mimalloc_rust) | dependencies | patch | `0.1.41` -> `0.1.43` | --- ### Release Notes <details> <summary>purpleprotocol/mimalloc_rust (mimalloc)</summary> ### [`v0.1.43`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.43): Version 0.1.43 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.42...v0.1.43) ##### Changes - Mimalloc `v2.1.7` - Fix static builds (credits [@&#8203;BlackDex](https://togithub.com/BlackDex)) ### [`v0.1.42`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.42): Version 0.1.42 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.41...v0.1.42) ##### Changes - MiMalloc `v2.1.6` - Expose `usable_size` and `version`. Credits [@&#8203;nathaniel-daniel](https://togithub.com/nathaniel-daniel). - Link with libatomic on armv6-linux. Credits [@&#8203;notorca](https://togithub.com/notorca). - Add no_thp option for Linux/Android. Credits [@&#8203;devnexen](https://togithub.com/devnexen). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:16:52 +03:00
checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633"
dependencies = [
"libmimalloc-sys",
]
[[package]]
name = "mime"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "mime_guess"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
dependencies = [
"mime",
"unicase",
]
[[package]]
name = "minimal-lexical"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
2022-11-01 23:15:58 +03:00
[[package]]
name = "miniz_oxide"
version = "0.7.4"
2022-11-01 23:15:58 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
2022-11-01 23:15:58 +03:00
dependencies = [
"adler",
"simd-adler32",
2022-11-01 23:15:58 +03:00
]
[[package]]
name = "miniz_oxide"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
dependencies = [
"adler2",
]
[[package]]
name = "mint"
version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff"
[[package]]
name = "mio"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"log",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.48.0",
]
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
[[package]]
name = "mio"
version = "1.0.2"
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
dependencies = [
"hermit-abi 0.3.9",
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
"libc",
"log",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.52.0",
]
[[package]]
name = "miow"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044"
dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "multi_buffer"
version = "0.1.0"
2023-11-01 01:10:23 +03:00
dependencies = [
"anyhow",
"clock",
"collections",
"ctor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"git",
"gpui",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"language",
2023-11-01 01:10:23 +03:00
"log",
"parking_lot",
2023-11-01 01:10:23 +03:00
"rand 0.8.5",
"serde",
"settings",
"smallvec",
2023-11-01 01:10:23 +03:00
"sum_tree",
"text",
"theme",
2023-11-01 01:10:23 +03:00
"util",
]
[[package]]
name = "multimap"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
[[package]]
name = "naga"
version = "22.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad"
dependencies = [
"arrayvec",
"bit-set 0.6.0",
"bitflags 2.6.0",
"cfg_aliases 0.1.1",
"codespan-reporting",
"hexf-parse",
"indexmap 2.4.0",
"log",
"rustc-hash",
"spirv",
"termcolor",
"thiserror",
"unicode-xid",
]
[[package]]
name = "nanoid"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8"
dependencies = [
"rand 0.8.5",
]
[[package]]
name = "nanorand"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
dependencies = [
"getrandom 0.2.15",
]
[[package]]
name = "native-tls"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
dependencies = [
"libc",
"log",
"openssl",
"openssl-probe",
"openssl-sys",
"schannel",
"security-framework",
"security-framework-sys",
"tempfile",
]
[[package]]
name = "ndk"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
dependencies = [
"bitflags 2.6.0",
"jni-sys",
"log",
"ndk-sys",
"num_enum",
"thiserror",
]
[[package]]
name = "ndk-context"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
[[package]]
name = "ndk-sys"
version = "0.5.0+25.2.9519653"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
dependencies = [
"jni-sys",
]
[[package]]
name = "new_debug_unreachable"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
[[package]]
name = "nix"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
dependencies = [
"bitflags 2.6.0",
"cfg-if",
"cfg_aliases 0.2.1",
"libc",
"memoffset",
]
[[package]]
name = "node_runtime"
version = "0.1.0"
dependencies = [
"anyhow",
"async-compression",
"async-std",
"async-tar",
"async-trait",
"async_zip",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"http_client",
"log",
"paths",
"semver",
"serde",
"serde_json",
"smol",
"tempfile",
"util",
"walkdir",
"windows 0.58.0",
]
[[package]]
name = "nom"
version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
]
[[package]]
name = "noop_proc_macro"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
[[package]]
name = "normpath"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed"
dependencies = [
"windows-sys 0.59.0",
]
2023-10-06 22:56:18 +03:00
[[package]]
name = "notifications"
version = "0.1.0"
dependencies = [
"anyhow",
"channel",
"client",
"collections",
"db",
"gpui",
"rpc",
"settings",
2023-11-09 08:23:31 +03:00
"sum_tree",
"time",
"util",
]
[[package]]
name = "notify"
version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
dependencies = [
"bitflags 2.6.0",
"crossbeam-channel",
"filetime",
"fsevent-sys 4.1.0",
"inotify",
"kqueue",
"libc",
"log",
Update Rust crate ipc-channel to v0.18.2 (#15579) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ipc-channel](https://togithub.com/servo/ipc-channel) | dependencies | patch | `0.18.0` -> `0.18.2` | --- ### Release Notes <details> <summary>servo/ipc-channel (ipc-channel)</summary> ### [`v0.18.2`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.2) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.1...v0.18.2) Changes: - Upgraded to version `1.0` of `mio` ### [`v0.18.1`](https://togithub.com/servo/ipc-channel/releases/tag/v0.18.1) [Compare Source](https://togithub.com/servo/ipc-channel/compare/v0.18.0...v0.18.1) Includes [https://github.com/servo/ipc-channel/pull/335](https://togithub.com/servo/ipc-channel/pull/335) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:19:09 +03:00
"mio 0.8.11",
"walkdir",
"windows-sys 0.48.0",
]
[[package]]
name = "notify-debouncer-mini"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d40b221972a1fc5ef4d858a2f671fb34c75983eb385463dff3780eeff6a9d43"
dependencies = [
"crossbeam-channel",
"log",
"notify",
]
2022-12-23 02:10:49 +03:00
[[package]]
name = "ntapi"
version = "0.4.1"
2022-12-23 02:10:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
2022-12-23 02:10:49 +03:00
dependencies = [
"winapi",
2022-12-23 02:10:49 +03:00
]
2022-10-13 01:39:04 +03:00
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
2022-10-13 01:39:04 +03:00
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "num"
version = "0.4.3"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"num-bigint",
"num-complex",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"num-integer",
"num-iter",
"num-rational",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"num-traits",
]
[[package]]
name = "num-bigint"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
dependencies = [
"num-integer",
"num-traits",
]
[[package]]
name = "num-bigint-dig"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
dependencies = [
"byteorder",
"lazy_static",
"libm",
"num-integer",
"num-iter",
"num-traits",
"rand 0.8.5",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"serde",
"smallvec",
"zeroize",
]
2023-09-25 20:44:19 +03:00
[[package]]
name = "num-complex"
version = "0.4.6"
2023-09-25 20:44:19 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
2023-09-25 20:44:19 +03:00
dependencies = [
"num-traits",
]
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
name = "num-derive"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "num-format"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
dependencies = [
"arrayvec",
"itoa",
]
[[package]]
name = "num-integer"
version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
dependencies = [
"num-traits",
]
[[package]]
name = "num-iter"
version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
"num-integer",
"num-traits",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "num-rational"
version = "0.4.2"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"num-bigint",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"num-integer",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
"libm",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "num_cpus"
2023-07-07 21:24:29 +03:00
version = "1.16.0"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
2021-02-21 02:05:36 +03:00
dependencies = [
"hermit-abi 0.3.9",
2021-02-21 02:05:36 +03:00
"libc",
]
[[package]]
name = "num_enum"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
dependencies = [
"num_enum_derive",
]
[[package]]
name = "num_enum_derive"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "num_threads"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
dependencies = [
"libc",
]
[[package]]
name = "nvim-rs"
version = "0.8.0-pre"
source = "git+https://github.com/KillTheMule/nvim-rs?branch=master#69500bae73b8b3f02a05b7bee621a0d0e633da6c"
dependencies = [
"async-trait",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"log",
"parity-tokio-ipc",
"rmp",
"rmpv",
"tokio",
"tokio-util",
"winapi",
]
[[package]]
name = "objc"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
dependencies = [
"malloc_buf",
]
2022-10-13 01:39:04 +03:00
[[package]]
name = "object"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
version = "0.33.0"
2022-10-13 01:39:04 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
checksum = "d8dd6c0cdf9429bce006e1362bfce61fa1bfd8c898a643ed8d2b471934701d3d"
dependencies = [
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
"crc32fast",
"hashbrown 0.14.5",
"indexmap 2.4.0",
"memchr",
]
[[package]]
name = "object"
version = "0.36.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a"
2022-10-13 01:39:04 +03:00
dependencies = [
"memchr",
]
[[package]]
name = "oboe"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb"
dependencies = [
"jni",
"ndk",
"ndk-context",
"num-derive",
"num-traits",
"oboe-sys",
]
[[package]]
name = "oboe-sys"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d"
dependencies = [
"cc",
]
Ollama Provider for Assistant (#12902) Closes #4424. A few design decisions that may need some rethinking or later PRs: * Other providers have a check for authentication. I use this opportunity to fetch the models which doubles as a way of finding out if the Ollama server is running. * Ollama has _no_ API for getting the max tokens per model * Ollama has _no_ API for getting the current token count https://github.com/ollama/ollama/issues/1716 * Ollama does allow setting the `num_ctx` so I've defaulted this to 4096. It can be overridden in settings. * Ollama models will be "slow" to start inference because they're loading the model into memory. It's faster after that. There's no UI affordance to show that the model is being loaded. Release Notes: - Added an Ollama Provider for the assistant. If you have [Ollama](https://ollama.com/) running locally on your machine, you can enable it in your settings under: ```jsonc "assistant": { "version": "1", "provider": { "name": "ollama", // Recommended setting to allow for model startup "low_speed_timeout_in_seconds": 30, } } ``` Chat like usual <img width="1840" alt="image" src="https://github.com/zed-industries/zed/assets/836375/4e0af266-4c4f-4d9e-9d74-1a91f76a12fe"> Interact with any model from the [Ollama Library](https://ollama.com/library) <img width="587" alt="image" src="https://github.com/zed-industries/zed/assets/836375/87433ac6-bf87-4a99-89e1-96a93bf8de8a"> Open up the terminal to download new models via `ollama pull`: ![image](https://github.com/zed-industries/zed/assets/836375/af7ec411-76bf-41c7-ba81-64bbaeea98a8)
2024-06-12 03:35:27 +03:00
[[package]]
name = "ollama"
version = "0.1.0"
dependencies = [
"anyhow",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"http_client",
Ollama Provider for Assistant (#12902) Closes #4424. A few design decisions that may need some rethinking or later PRs: * Other providers have a check for authentication. I use this opportunity to fetch the models which doubles as a way of finding out if the Ollama server is running. * Ollama has _no_ API for getting the max tokens per model * Ollama has _no_ API for getting the current token count https://github.com/ollama/ollama/issues/1716 * Ollama does allow setting the `num_ctx` so I've defaulted this to 4096. It can be overridden in settings. * Ollama models will be "slow" to start inference because they're loading the model into memory. It's faster after that. There's no UI affordance to show that the model is being loaded. Release Notes: - Added an Ollama Provider for the assistant. If you have [Ollama](https://ollama.com/) running locally on your machine, you can enable it in your settings under: ```jsonc "assistant": { "version": "1", "provider": { "name": "ollama", // Recommended setting to allow for model startup "low_speed_timeout_in_seconds": 30, } } ``` Chat like usual <img width="1840" alt="image" src="https://github.com/zed-industries/zed/assets/836375/4e0af266-4c4f-4d9e-9d74-1a91f76a12fe"> Interact with any model from the [Ollama Library](https://ollama.com/library) <img width="587" alt="image" src="https://github.com/zed-industries/zed/assets/836375/87433ac6-bf87-4a99-89e1-96a93bf8de8a"> Open up the terminal to download new models via `ollama pull`: ![image](https://github.com/zed-industries/zed/assets/836375/af7ec411-76bf-41c7-ba81-64bbaeea98a8)
2024-06-12 03:35:27 +03:00
"isahc",
"schemars",
"serde",
"serde_json",
]
[[package]]
name = "once_cell"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "oo7"
Update Rust crate oo7 to v0.3.3 (#15281) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [oo7](https://togithub.com/bilelmoussaoui/oo7) | dependencies | patch | `0.3.0` -> `0.3.3` | --- ### Release Notes <details> <summary>bilelmoussaoui/oo7 (oo7)</summary> ### [`v0.3.3`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.3) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.2...0.3.3) Bilal Elmoussaoui: - client/item: Force tuple usage when serializing - client: Use async UnixStream ### [`v0.3.2`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.2) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.1...0.3.2) Kévin Commaille: - [client: Fix compile issue with tracing feature](https://togithub.com/bilelmoussaoui/oo7/commit/8720514d5689bad8eed77869ccb64ccc8ea86bd9) - [client: Do not create features for optional deps already behind a feature](https://togithub.com/bilelmoussaoui/oo7/commit/c4cad3dbd4fb6d54dd27ac112ceae7cd1102594f) - Various clippy fixes ### [`v0.3.1`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.1) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.0...0.3.1) Daiki Ueno: - [portal: Support migration from legacy keyring format](https://togithub.com/bilelmoussaoui/oo7/commit/0e4d7873720c71a280a2ba8f07fd979957f3c4cb) Dhanuka Warusadura: - [portal: Add rekeying support for oo7::portal::Keyring](https://togithub.com/bilelmoussaoui/oo7/commit/96dd3c4292dc563cc38cbd5d2cfde076d25821cf) Felix Häcker: - [service: Use correct signal name for CollectionDeleted](https://togithub.com/bilelmoussaoui/oo7/commit/19499a649909ab67cf9ea435d004ebbc334788df) - [service: Add signals for collection create/delete/change](https://togithub.com/bilelmoussaoui/oo7/commit/c4e68b8e765ec22288dcb85806b178c2d32021ec) - [collection: Add path to public api](https://togithub.com/bilelmoussaoui/oo7/commit/7effc007d4982d2fe4503750df6f7506259f6913) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:08:17 +03:00
version = "0.3.3"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate oo7 to v0.3.3 (#15281) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [oo7](https://togithub.com/bilelmoussaoui/oo7) | dependencies | patch | `0.3.0` -> `0.3.3` | --- ### Release Notes <details> <summary>bilelmoussaoui/oo7 (oo7)</summary> ### [`v0.3.3`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.3) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.2...0.3.3) Bilal Elmoussaoui: - client/item: Force tuple usage when serializing - client: Use async UnixStream ### [`v0.3.2`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.2) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.1...0.3.2) Kévin Commaille: - [client: Fix compile issue with tracing feature](https://togithub.com/bilelmoussaoui/oo7/commit/8720514d5689bad8eed77869ccb64ccc8ea86bd9) - [client: Do not create features for optional deps already behind a feature](https://togithub.com/bilelmoussaoui/oo7/commit/c4cad3dbd4fb6d54dd27ac112ceae7cd1102594f) - Various clippy fixes ### [`v0.3.1`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.1) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.0...0.3.1) Daiki Ueno: - [portal: Support migration from legacy keyring format](https://togithub.com/bilelmoussaoui/oo7/commit/0e4d7873720c71a280a2ba8f07fd979957f3c4cb) Dhanuka Warusadura: - [portal: Add rekeying support for oo7::portal::Keyring](https://togithub.com/bilelmoussaoui/oo7/commit/96dd3c4292dc563cc38cbd5d2cfde076d25821cf) Felix Häcker: - [service: Use correct signal name for CollectionDeleted](https://togithub.com/bilelmoussaoui/oo7/commit/19499a649909ab67cf9ea435d004ebbc334788df) - [service: Add signals for collection create/delete/change](https://togithub.com/bilelmoussaoui/oo7/commit/c4e68b8e765ec22288dcb85806b178c2d32021ec) - [collection: Add path to public api](https://togithub.com/bilelmoussaoui/oo7/commit/7effc007d4982d2fe4503750df6f7506259f6913) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:08:17 +03:00
checksum = "8fc6ce4692fbfd044ce22ca07dcab1a30fa12432ca2aa5b1294eca50d3332a24"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"aes",
"async-fs 2.1.2",
"async-io 2.3.4",
"async-lock 3.4.0",
Update Rust crate oo7 to v0.3.3 (#15281) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [oo7](https://togithub.com/bilelmoussaoui/oo7) | dependencies | patch | `0.3.0` -> `0.3.3` | --- ### Release Notes <details> <summary>bilelmoussaoui/oo7 (oo7)</summary> ### [`v0.3.3`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.3) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.2...0.3.3) Bilal Elmoussaoui: - client/item: Force tuple usage when serializing - client: Use async UnixStream ### [`v0.3.2`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.2) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.1...0.3.2) Kévin Commaille: - [client: Fix compile issue with tracing feature](https://togithub.com/bilelmoussaoui/oo7/commit/8720514d5689bad8eed77869ccb64ccc8ea86bd9) - [client: Do not create features for optional deps already behind a feature](https://togithub.com/bilelmoussaoui/oo7/commit/c4cad3dbd4fb6d54dd27ac112ceae7cd1102594f) - Various clippy fixes ### [`v0.3.1`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.1) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.0...0.3.1) Daiki Ueno: - [portal: Support migration from legacy keyring format](https://togithub.com/bilelmoussaoui/oo7/commit/0e4d7873720c71a280a2ba8f07fd979957f3c4cb) Dhanuka Warusadura: - [portal: Add rekeying support for oo7::portal::Keyring](https://togithub.com/bilelmoussaoui/oo7/commit/96dd3c4292dc563cc38cbd5d2cfde076d25821cf) Felix Häcker: - [service: Use correct signal name for CollectionDeleted](https://togithub.com/bilelmoussaoui/oo7/commit/19499a649909ab67cf9ea435d004ebbc334788df) - [service: Add signals for collection create/delete/change](https://togithub.com/bilelmoussaoui/oo7/commit/c4e68b8e765ec22288dcb85806b178c2d32021ec) - [collection: Add path to public api](https://togithub.com/bilelmoussaoui/oo7/commit/7effc007d4982d2fe4503750df6f7506259f6913) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:08:17 +03:00
"async-net 2.0.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"blocking",
"cbc",
"cipher",
"digest",
Update Rust crate oo7 to v0.3.3 (#15281) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [oo7](https://togithub.com/bilelmoussaoui/oo7) | dependencies | patch | `0.3.0` -> `0.3.3` | --- ### Release Notes <details> <summary>bilelmoussaoui/oo7 (oo7)</summary> ### [`v0.3.3`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.3) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.2...0.3.3) Bilal Elmoussaoui: - client/item: Force tuple usage when serializing - client: Use async UnixStream ### [`v0.3.2`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.2) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.1...0.3.2) Kévin Commaille: - [client: Fix compile issue with tracing feature](https://togithub.com/bilelmoussaoui/oo7/commit/8720514d5689bad8eed77869ccb64ccc8ea86bd9) - [client: Do not create features for optional deps already behind a feature](https://togithub.com/bilelmoussaoui/oo7/commit/c4cad3dbd4fb6d54dd27ac112ceae7cd1102594f) - Various clippy fixes ### [`v0.3.1`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.1) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.0...0.3.1) Daiki Ueno: - [portal: Support migration from legacy keyring format](https://togithub.com/bilelmoussaoui/oo7/commit/0e4d7873720c71a280a2ba8f07fd979957f3c4cb) Dhanuka Warusadura: - [portal: Add rekeying support for oo7::portal::Keyring](https://togithub.com/bilelmoussaoui/oo7/commit/96dd3c4292dc563cc38cbd5d2cfde076d25821cf) Felix Häcker: - [service: Use correct signal name for CollectionDeleted](https://togithub.com/bilelmoussaoui/oo7/commit/19499a649909ab67cf9ea435d004ebbc334788df) - [service: Add signals for collection create/delete/change](https://togithub.com/bilelmoussaoui/oo7/commit/c4e68b8e765ec22288dcb85806b178c2d32021ec) - [collection: Add path to public api](https://togithub.com/bilelmoussaoui/oo7/commit/7effc007d4982d2fe4503750df6f7506259f6913) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:08:17 +03:00
"endi",
"futures-lite 2.3.0",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"futures-util",
"hkdf",
"hmac",
Update Rust crate oo7 to v0.3.3 (#15281) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [oo7](https://togithub.com/bilelmoussaoui/oo7) | dependencies | patch | `0.3.0` -> `0.3.3` | --- ### Release Notes <details> <summary>bilelmoussaoui/oo7 (oo7)</summary> ### [`v0.3.3`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.3) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.2...0.3.3) Bilal Elmoussaoui: - client/item: Force tuple usage when serializing - client: Use async UnixStream ### [`v0.3.2`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.2) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.1...0.3.2) Kévin Commaille: - [client: Fix compile issue with tracing feature](https://togithub.com/bilelmoussaoui/oo7/commit/8720514d5689bad8eed77869ccb64ccc8ea86bd9) - [client: Do not create features for optional deps already behind a feature](https://togithub.com/bilelmoussaoui/oo7/commit/c4cad3dbd4fb6d54dd27ac112ceae7cd1102594f) - Various clippy fixes ### [`v0.3.1`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.1) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.0...0.3.1) Daiki Ueno: - [portal: Support migration from legacy keyring format](https://togithub.com/bilelmoussaoui/oo7/commit/0e4d7873720c71a280a2ba8f07fd979957f3c4cb) Dhanuka Warusadura: - [portal: Add rekeying support for oo7::portal::Keyring](https://togithub.com/bilelmoussaoui/oo7/commit/96dd3c4292dc563cc38cbd5d2cfde076d25821cf) Felix Häcker: - [service: Use correct signal name for CollectionDeleted](https://togithub.com/bilelmoussaoui/oo7/commit/19499a649909ab67cf9ea435d004ebbc334788df) - [service: Add signals for collection create/delete/change](https://togithub.com/bilelmoussaoui/oo7/commit/c4e68b8e765ec22288dcb85806b178c2d32021ec) - [collection: Add path to public api](https://togithub.com/bilelmoussaoui/oo7/commit/7effc007d4982d2fe4503750df6f7506259f6913) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:08:17 +03:00
"md-5",
"num",
"num-bigint-dig",
"pbkdf2",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"rand 0.8.5",
"serde",
"sha2",
Update Rust crate oo7 to v0.3.3 (#15281) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [oo7](https://togithub.com/bilelmoussaoui/oo7) | dependencies | patch | `0.3.0` -> `0.3.3` | --- ### Release Notes <details> <summary>bilelmoussaoui/oo7 (oo7)</summary> ### [`v0.3.3`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.3) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.2...0.3.3) Bilal Elmoussaoui: - client/item: Force tuple usage when serializing - client: Use async UnixStream ### [`v0.3.2`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.2) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.1...0.3.2) Kévin Commaille: - [client: Fix compile issue with tracing feature](https://togithub.com/bilelmoussaoui/oo7/commit/8720514d5689bad8eed77869ccb64ccc8ea86bd9) - [client: Do not create features for optional deps already behind a feature](https://togithub.com/bilelmoussaoui/oo7/commit/c4cad3dbd4fb6d54dd27ac112ceae7cd1102594f) - Various clippy fixes ### [`v0.3.1`](https://togithub.com/bilelmoussaoui/oo7/releases/tag/0.3.1) [Compare Source](https://togithub.com/bilelmoussaoui/oo7/compare/0.3.0...0.3.1) Daiki Ueno: - [portal: Support migration from legacy keyring format](https://togithub.com/bilelmoussaoui/oo7/commit/0e4d7873720c71a280a2ba8f07fd979957f3c4cb) Dhanuka Warusadura: - [portal: Add rekeying support for oo7::portal::Keyring](https://togithub.com/bilelmoussaoui/oo7/commit/96dd3c4292dc563cc38cbd5d2cfde076d25821cf) Felix Häcker: - [service: Use correct signal name for CollectionDeleted](https://togithub.com/bilelmoussaoui/oo7/commit/19499a649909ab67cf9ea435d004ebbc334788df) - [service: Add signals for collection create/delete/change](https://togithub.com/bilelmoussaoui/oo7/commit/c4e68b8e765ec22288dcb85806b178c2d32021ec) - [collection: Add path to public api](https://togithub.com/bilelmoussaoui/oo7/commit/7effc007d4982d2fe4503750df6f7506259f6913) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:08:17 +03:00
"subtle",
"zbus",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"zeroize",
"zvariant",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "oorandom"
version = "11.1.4"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "open"
version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61a877bf6abd716642a53ef1b89fb498923a4afca5c754f9050b4d081c05c4b3"
dependencies = [
"is-wsl",
"libc",
"pathdiff",
]
[[package]]
name = "open_ai"
version = "0.1.0"
dependencies = [
"anyhow",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"http_client",
"isahc",
"schemars",
"serde",
"serde_json",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
]
[[package]]
name = "opener"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0812e5e4df08da354c851a3376fead46db31c2214f849d3de356d774d057681"
dependencies = [
"bstr",
"dbus",
"normpath",
"windows-sys 0.59.0",
]
[[package]]
name = "openssl"
version = "0.10.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
dependencies = [
"bitflags 2.6.0",
"cfg-if",
"foreign-types 0.3.2",
"libc",
"once_cell",
"openssl-macros",
"openssl-sys",
]
[[package]]
name = "openssl-macros"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "openssl-probe"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
version = "300.3.1+3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
version = "0.9.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6"
dependencies = [
"cc",
"libc",
"openssl-src",
"pkg-config",
"vcpkg",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "option-ext"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
2021-03-10 07:00:51 +03:00
[[package]]
name = "ordered-float"
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
version = "2.10.1"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
2021-03-10 07:00:51 +03:00
dependencies = [
"num-traits",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "ordered-float"
version = "3.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
dependencies = [
"num-traits",
]
[[package]]
name = "ordered-stream"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
dependencies = [
"futures-core",
"pin-project-lite",
]
[[package]]
name = "ouroboros"
version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2ba07320d39dfea882faa70554b4bd342a5f273ed59ba7c1c6b4c840492c954"
dependencies = [
"aliasable",
"ouroboros_macro",
"static_assertions",
]
[[package]]
name = "ouroboros_macro"
version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec4c6225c69b4ca778c0aea097321a64c421cf4577b331c61b229267edabb6f8"
dependencies = [
"heck 0.4.1",
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "outline"
version = "0.1.0"
2023-12-04 19:44:32 +03:00
dependencies = [
"editor",
"fuzzy",
"gpui",
"indoc",
"language",
"menu",
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
"ordered-float 2.10.1",
"picker",
"project",
"rope",
"serde_json",
2023-12-04 19:44:32 +03:00
"smol",
"theme",
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
2023-12-04 19:44:32 +03:00
"util",
"workspace",
2023-12-04 19:44:32 +03:00
]
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
[[package]]
name = "outline_panel"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"db",
"editor",
"file_icons",
"fuzzy",
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
"gpui",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
"language",
"log",
"menu",
"pretty_assertions",
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
"project",
"schemars",
Display buffer/project search entries in the outline panel (#16589) Prototypes a way to display new entities in the outline panel, making it less outline. The design is not final and might be adjusted, but the workflow seems to be solid enough to keep and iron it out. * Now, when any project search buffer is activated (multi buffer mode), or buffer search is open (singleton buffer mode, but is available for search usages multi buffer too — in that case buffer search overrides multi buffer's contents display), outline panel displays all search matches instead of the outline items. Outline items are not displayed at all during those cases, unless the buffer search is closed, or a new buffer gets opened, of an active buffer search matches zero items. https://github.com/user-attachments/assets/4a3e4faa-7f75-4522-96bb-3761872c753a * For the multi buffer mode, search matches are grouped under directories and files, same as outline items ![Screenshot 2024-08-21 at 14 55 01](https://github.com/user-attachments/assets/6dac75e4-be4e-4338-917b-37a32c285b71) * For buffer search , search matches are displayed one under another ![image](https://github.com/user-attachments/assets/9efcff85-d4c7-4462-9ef5-f76b08e59f20) For both cases, the entire match line is taken and rendered, with the hover tooltip showing the line number. So far it does not look very bad, but I am certain there are bad cases with long lines and bad indents where it looks not optimal — this part most probably will be redesigned after some trial. Or, maybe, it's ok to leave the current state if the horizontal scrollbar is added? Clicking the item navigates to the item's position in the editor. Search item lines are also possible to filter with the outline panel's filter input. * Inline panel is now possible to "pin" to track a currently active editor, to display outlines/search results for that editor even if another item is activated afterwards: ![image](https://github.com/user-attachments/assets/75fb78c3-0e5f-47b4-ba3a-485c71d7e342) This is useful in combination with project search results display: now it's possible to leave the search results pinned in the outline panel and jump to every search result and back. If the item the panel was pinned to gets closed, the panel gets back to its regular state, showing outlines/search results for a currently active editor. Release Notes: - Added a way to display buffer/project search entries in the outline panel
2024-08-25 21:40:02 +03:00
"search",
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
"serde",
"serde_json",
"settings",
"smol",
Display buffer/project search entries in the outline panel (#16589) Prototypes a way to display new entities in the outline panel, making it less outline. The design is not final and might be adjusted, but the workflow seems to be solid enough to keep and iron it out. * Now, when any project search buffer is activated (multi buffer mode), or buffer search is open (singleton buffer mode, but is available for search usages multi buffer too — in that case buffer search overrides multi buffer's contents display), outline panel displays all search matches instead of the outline items. Outline items are not displayed at all during those cases, unless the buffer search is closed, or a new buffer gets opened, of an active buffer search matches zero items. https://github.com/user-attachments/assets/4a3e4faa-7f75-4522-96bb-3761872c753a * For the multi buffer mode, search matches are grouped under directories and files, same as outline items ![Screenshot 2024-08-21 at 14 55 01](https://github.com/user-attachments/assets/6dac75e4-be4e-4338-917b-37a32c285b71) * For buffer search , search matches are displayed one under another ![image](https://github.com/user-attachments/assets/9efcff85-d4c7-4462-9ef5-f76b08e59f20) For both cases, the entire match line is taken and rendered, with the hover tooltip showing the line number. So far it does not look very bad, but I am certain there are bad cases with long lines and bad indents where it looks not optimal — this part most probably will be redesigned after some trial. Or, maybe, it's ok to leave the current state if the horizontal scrollbar is added? Clicking the item navigates to the item's position in the editor. Search item lines are also possible to filter with the outline panel's filter input. * Inline panel is now possible to "pin" to track a currently active editor, to display outlines/search results for that editor even if another item is activated afterwards: ![image](https://github.com/user-attachments/assets/75fb78c3-0e5f-47b4-ba3a-485c71d7e342) This is useful in combination with project search results display: now it's possible to leave the search results pinned in the outline panel and jump to every search result and back. If the item the panel was pinned to gets closed, the panel gets back to its regular state, showing outlines/search results for a currently active editor. Release Notes: - Added a way to display buffer/project search entries in the outline panel
2024-08-25 21:40:02 +03:00
"theme",
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
"util",
"workspace",
"worktree",
]
[[package]]
name = "outref"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a"
2022-10-13 01:39:04 +03:00
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "p256"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594"
dependencies = [
"ecdsa",
"elliptic-curve",
"sha2",
]
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "page_size"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da"
dependencies = [
"libc",
"winapi",
]
[[package]]
name = "palette"
Update Rust crate palette to v0.7.6 (#15307) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [palette](https://togithub.com/Ogeon/palette) | workspace.dependencies | patch | `0.7.5` -> `0.7.6` | --- ### Release Notes <details> <summary>Ogeon/palette (palette)</summary> ### [`v0.7.6`](https://togithub.com/Ogeon/palette/blob/HEAD/CHANGELOG.md#Version-076---2024-04-28) [Compare Source](https://togithub.com/Ogeon/palette/compare/0.7.5...0.7.6) - \[[#&#8203;390](https://togithub.com/Ogeon/palette/issues/390)]\[390]: Add `From` implementations for changing `Rgb` component types between `u8`, `f32` and `f64`. - \[[#&#8203;342](https://togithub.com/Ogeon/palette/issues/342)]\[342]: Implement CAM16. Closes \[[#&#8203;199](https://togithub.com/Ogeon/palette/issues/199)]\[199]. - \[[#&#8203;386](https://togithub.com/Ogeon/palette/issues/386)]\[386]: Fix angle conversion from `f32` to `u8`. Closes \[[#&#8203;385](https://togithub.com/Ogeon/palette/issues/385)]\[385]. - \[[#&#8203;384](https://togithub.com/Ogeon/palette/issues/384)]\[384]: Add traits for color schemes from traditional color theory. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 01:20:59 +03:00
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate palette to v0.7.6 (#15307) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [palette](https://togithub.com/Ogeon/palette) | workspace.dependencies | patch | `0.7.5` -> `0.7.6` | --- ### Release Notes <details> <summary>Ogeon/palette (palette)</summary> ### [`v0.7.6`](https://togithub.com/Ogeon/palette/blob/HEAD/CHANGELOG.md#Version-076---2024-04-28) [Compare Source](https://togithub.com/Ogeon/palette/compare/0.7.5...0.7.6) - \[[#&#8203;390](https://togithub.com/Ogeon/palette/issues/390)]\[390]: Add `From` implementations for changing `Rgb` component types between `u8`, `f32` and `f64`. - \[[#&#8203;342](https://togithub.com/Ogeon/palette/issues/342)]\[342]: Implement CAM16. Closes \[[#&#8203;199](https://togithub.com/Ogeon/palette/issues/199)]\[199]. - \[[#&#8203;386](https://togithub.com/Ogeon/palette/issues/386)]\[386]: Fix angle conversion from `f32` to `u8`. Closes \[[#&#8203;385](https://togithub.com/Ogeon/palette/issues/385)]\[385]. - \[[#&#8203;384](https://togithub.com/Ogeon/palette/issues/384)]\[384]: Add traits for color schemes from traditional color theory. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 01:20:59 +03:00
checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6"
dependencies = [
"approx",
"fast-srgb8",
"palette_derive",
]
[[package]]
name = "palette_derive"
Update Rust crate palette to v0.7.6 (#15307) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [palette](https://togithub.com/Ogeon/palette) | workspace.dependencies | patch | `0.7.5` -> `0.7.6` | --- ### Release Notes <details> <summary>Ogeon/palette (palette)</summary> ### [`v0.7.6`](https://togithub.com/Ogeon/palette/blob/HEAD/CHANGELOG.md#Version-076---2024-04-28) [Compare Source](https://togithub.com/Ogeon/palette/compare/0.7.5...0.7.6) - \[[#&#8203;390](https://togithub.com/Ogeon/palette/issues/390)]\[390]: Add `From` implementations for changing `Rgb` component types between `u8`, `f32` and `f64`. - \[[#&#8203;342](https://togithub.com/Ogeon/palette/issues/342)]\[342]: Implement CAM16. Closes \[[#&#8203;199](https://togithub.com/Ogeon/palette/issues/199)]\[199]. - \[[#&#8203;386](https://togithub.com/Ogeon/palette/issues/386)]\[386]: Fix angle conversion from `f32` to `u8`. Closes \[[#&#8203;385](https://togithub.com/Ogeon/palette/issues/385)]\[385]. - \[[#&#8203;384](https://togithub.com/Ogeon/palette/issues/384)]\[384]: Add traits for color schemes from traditional color theory. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 01:20:59 +03:00
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate palette to v0.7.6 (#15307) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [palette](https://togithub.com/Ogeon/palette) | workspace.dependencies | patch | `0.7.5` -> `0.7.6` | --- ### Release Notes <details> <summary>Ogeon/palette (palette)</summary> ### [`v0.7.6`](https://togithub.com/Ogeon/palette/blob/HEAD/CHANGELOG.md#Version-076---2024-04-28) [Compare Source](https://togithub.com/Ogeon/palette/compare/0.7.5...0.7.6) - \[[#&#8203;390](https://togithub.com/Ogeon/palette/issues/390)]\[390]: Add `From` implementations for changing `Rgb` component types between `u8`, `f32` and `f64`. - \[[#&#8203;342](https://togithub.com/Ogeon/palette/issues/342)]\[342]: Implement CAM16. Closes \[[#&#8203;199](https://togithub.com/Ogeon/palette/issues/199)]\[199]. - \[[#&#8203;386](https://togithub.com/Ogeon/palette/issues/386)]\[386]: Fix angle conversion from `f32` to `u8`. Closes \[[#&#8203;385](https://togithub.com/Ogeon/palette/issues/385)]\[385]. - \[[#&#8203;384](https://togithub.com/Ogeon/palette/issues/384)]\[384]: Add traits for color schemes from traditional color theory. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 01:20:59 +03:00
checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30"
dependencies = [
Update Rust crate palette to v0.7.6 (#15307) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [palette](https://togithub.com/Ogeon/palette) | workspace.dependencies | patch | `0.7.5` -> `0.7.6` | --- ### Release Notes <details> <summary>Ogeon/palette (palette)</summary> ### [`v0.7.6`](https://togithub.com/Ogeon/palette/blob/HEAD/CHANGELOG.md#Version-076---2024-04-28) [Compare Source](https://togithub.com/Ogeon/palette/compare/0.7.5...0.7.6) - \[[#&#8203;390](https://togithub.com/Ogeon/palette/issues/390)]\[390]: Add `From` implementations for changing `Rgb` component types between `u8`, `f32` and `f64`. - \[[#&#8203;342](https://togithub.com/Ogeon/palette/issues/342)]\[342]: Implement CAM16. Closes \[[#&#8203;199](https://togithub.com/Ogeon/palette/issues/199)]\[199]. - \[[#&#8203;386](https://togithub.com/Ogeon/palette/issues/386)]\[386]: Fix angle conversion from `f32` to `u8`. Closes \[[#&#8203;385](https://togithub.com/Ogeon/palette/issues/385)]\[385]. - \[[#&#8203;384](https://togithub.com/Ogeon/palette/issues/384)]\[384]: Add traits for color schemes from traditional color theory. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 01:20:59 +03:00
"by_address",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "parity-tokio-ipc"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6"
dependencies = [
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"libc",
"log",
"rand 0.7.3",
"tokio",
"winapi",
]
[[package]]
name = "parking"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
[[package]]
name = "parking_lot"
Update Rust crate parking_lot to v0.12.3 (#15934) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [parking_lot](https://togithub.com/Amanieu/parking_lot) | workspace.dependencies | patch | `0.12.1` -> `0.12.3` | --- ### Release Notes <details> <summary>Amanieu/parking_lot (parking_lot)</summary> ### [`v0.12.3`](https://togithub.com/Amanieu/parking_lot/blob/HEAD/CHANGELOG.md#parkinglot-0123-2024-05-24) [Compare Source](https://togithub.com/Amanieu/parking_lot/compare/0.12.2...0.12.3) - Export types provided by arc_lock feature ([#&#8203;442](https://togithub.com/Amanieu/parking_lot/issues/442)) ### [`v0.12.2`](https://togithub.com/Amanieu/parking_lot/blob/HEAD/CHANGELOG.md#parkinglot-0122-parkinglotcore-0910-lockapi-0412-2024-04-15) [Compare Source](https://togithub.com/Amanieu/parking_lot/compare/0.12.1...0.12.2) - Fixed panic when calling `with_upgraded` twice on a `ArcRwLockUpgradableReadGuard` ([#&#8203;431](https://togithub.com/Amanieu/parking_lot/issues/431)) - Fixed `RwLockUpgradeableReadGuard::with_upgraded` - Added lock_api::{Mutex, ReentrantMutex, RwLock}::from_raw methods ([#&#8203;429](https://togithub.com/Amanieu/parking_lot/issues/429)) - Added Apple visionOS support ([#&#8203;433](https://togithub.com/Amanieu/parking_lot/issues/433)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 18:22:26 +03:00
version = "0.12.3"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate parking_lot to v0.12.3 (#15934) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [parking_lot](https://togithub.com/Amanieu/parking_lot) | workspace.dependencies | patch | `0.12.1` -> `0.12.3` | --- ### Release Notes <details> <summary>Amanieu/parking_lot (parking_lot)</summary> ### [`v0.12.3`](https://togithub.com/Amanieu/parking_lot/blob/HEAD/CHANGELOG.md#parkinglot-0123-2024-05-24) [Compare Source](https://togithub.com/Amanieu/parking_lot/compare/0.12.2...0.12.3) - Export types provided by arc_lock feature ([#&#8203;442](https://togithub.com/Amanieu/parking_lot/issues/442)) ### [`v0.12.2`](https://togithub.com/Amanieu/parking_lot/blob/HEAD/CHANGELOG.md#parkinglot-0122-parkinglotcore-0910-lockapi-0412-2024-04-15) [Compare Source](https://togithub.com/Amanieu/parking_lot/compare/0.12.1...0.12.2) - Fixed panic when calling `with_upgraded` twice on a `ArcRwLockUpgradableReadGuard` ([#&#8203;431](https://togithub.com/Amanieu/parking_lot/issues/431)) - Fixed `RwLockUpgradeableReadGuard::with_upgraded` - Added lock_api::{Mutex, ReentrantMutex, RwLock}::from_raw methods ([#&#8203;429](https://togithub.com/Amanieu/parking_lot/issues/429)) - Added Apple visionOS support ([#&#8203;433](https://togithub.com/Amanieu/parking_lot/issues/433)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 18:22:26 +03:00
checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
2021-03-10 07:00:51 +03:00
dependencies = [
"lock_api",
"parking_lot_core",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "parking_lot_core"
version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
dependencies = [
"cfg-if",
"libc",
"redox_syscall 0.5.3",
"smallvec",
"windows-targets 0.52.6",
]
[[package]]
name = "password-hash"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
dependencies = [
"base64ct",
2022-10-13 01:39:04 +03:00
"rand_core 0.6.4",
"subtle",
]
[[package]]
name = "paste"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]]
name = "pathdiff"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
[[package]]
name = "pathfinder_geometry"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b7e7b4ea703700ce73ebf128e1450eb69c3a8329199ffbfb9b2a0418e5ad3"
dependencies = [
"log",
"pathfinder_simd",
]
[[package]]
name = "pathfinder_simd"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cf07ef4804cfa9aea3b04a7bbdd5a40031dbb6b4f2cbaf2b011666c80c5b4f2"
dependencies = [
2023-09-22 04:54:59 +03:00
"rustc_version",
]
[[package]]
name = "paths"
version = "0.1.0"
dependencies = [
"dirs 4.0.0",
"util",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "pbkdf2"
version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
dependencies = [
"digest",
"hmac",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
[[package]]
name = "pem"
version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae"
dependencies = [
"base64 0.22.1",
"serde",
]
[[package]]
name = "pem-rfc7468"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
dependencies = [
"base64ct",
]
[[package]]
name = "percent-encoding"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "perplexity"
version = "0.1.0"
dependencies = [
"serde",
"zed_extension_api 0.1.0",
]
[[package]]
name = "pest"
version = "2.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95"
dependencies = [
"memchr",
"thiserror",
"ucd-trie",
]
[[package]]
name = "pest_derive"
version = "2.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a"
dependencies = [
"pest",
"pest_generator",
]
[[package]]
name = "pest_generator"
version = "2.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "pest_meta"
version = "2.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f"
dependencies = [
"once_cell",
"pest",
"sha2",
]
[[package]]
name = "petgraph"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
dependencies = [
"fixedbitset",
"indexmap 2.4.0",
]
2024-03-07 06:55:34 +03:00
[[package]]
name = "phf"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
dependencies = [
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"phf_macros",
"phf_shared 0.11.2",
]
[[package]]
name = "phf_codegen"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
dependencies = [
"phf_generator 0.11.2",
"phf_shared 0.11.2",
]
[[package]]
name = "phf_generator"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
dependencies = [
"phf_shared 0.10.0",
"rand 0.8.5",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
]
[[package]]
name = "phf_generator"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
dependencies = [
"phf_shared 0.11.2",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"rand 0.8.5",
]
[[package]]
name = "phf_macros"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
dependencies = [
"phf_generator 0.11.2",
"phf_shared 0.11.2",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"proc-macro2",
"quote",
"syn 2.0.76",
2024-03-07 06:55:34 +03:00
]
[[package]]
name = "phf_shared"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
dependencies = [
"siphasher 0.3.11",
]
2024-03-07 06:55:34 +03:00
[[package]]
name = "phf_shared"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
dependencies = [
"siphasher 0.3.11",
2024-03-07 06:55:34 +03:00
]
[[package]]
name = "picker"
version = "0.1.0"
2023-11-06 23:33:20 +03:00
dependencies = [
"anyhow",
2023-11-06 23:33:20 +03:00
"ctor",
"editor",
"env_logger",
"gpui",
"menu",
"serde",
2023-11-06 23:33:20 +03:00
"serde_json",
"ui",
"workspace",
2023-11-06 23:33:20 +03:00
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "pico-args"
version = "0.5.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
2021-04-06 14:44:38 +03:00
2021-04-13 23:51:49 +03:00
[[package]]
name = "pin-project"
version = "1.1.5"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
2021-04-13 23:51:49 +03:00
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
version = "1.1.5"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
2021-04-13 23:51:49 +03:00
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
2021-04-13 23:51:49 +03:00
]
[[package]]
name = "pin-project-lite"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "piper"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
dependencies = [
"atomic-waker",
"fastrand 2.1.1",
"futures-io",
]
[[package]]
name = "pkcs1"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
dependencies = [
"der 0.7.9",
"pkcs8 0.10.2",
"spki 0.7.3",
]
[[package]]
name = "pkcs8"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
dependencies = [
"der 0.6.1",
"spki 0.6.0",
]
[[package]]
name = "pkcs8"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
"der 0.7.9",
"spki 0.7.3",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "pkg-config"
version = "0.3.30"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
2021-03-10 07:00:51 +03:00
[[package]]
name = "plist"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
dependencies = [
"base64 0.22.1",
"indexmap 2.4.0",
"quick-xml 0.32.0",
"serde",
"time",
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "plotters"
version = "0.3.6"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
dependencies = [
"num-traits",
"plotters-backend",
"plotters-svg",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "plotters-backend"
version = "0.3.6"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "plotters-svg"
version = "0.3.6"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705"
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
dependencies = [
"plotters-backend",
]
[[package]]
name = "png"
version = "0.17.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
dependencies = [
"bitflags 1.3.2",
"crc32fast",
"fdeflate",
"flate2",
"miniz_oxide 0.7.4",
]
[[package]]
name = "polling"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"cfg-if",
"concurrent-queue",
"libc",
"log",
"pin-project-lite",
"windows-sys 0.48.0",
]
[[package]]
name = "polling"
version = "3.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511"
dependencies = [
"cfg-if",
"concurrent-queue",
"hermit-abi 0.4.0",
"pin-project-lite",
"rustix 0.38.35",
"tracing",
"windows-sys 0.59.0",
]
2021-04-13 23:51:49 +03:00
[[package]]
name = "pollster"
version = "0.2.5"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7"
2021-04-13 23:51:49 +03:00
[[package]]
name = "postage"
version = "0.5.0"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af3fb618632874fb76937c2361a7f22afd393c982a2165595407edc75b06d3c1"
2021-04-13 23:51:49 +03:00
dependencies = [
"atomic",
"crossbeam-queue",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
2021-04-13 23:51:49 +03:00
"log",
"parking_lot",
2021-04-13 23:51:49 +03:00
"pin-project",
"pollster",
"static_assertions",
"thiserror",
]
[[package]]
name = "postcard"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e"
dependencies = [
"cobs",
"embedded-io 0.4.0",
"embedded-io 0.6.1",
"serde",
]
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
2021-03-10 07:00:51 +03:00
[[package]]
name = "ppv-lite86"
version = "0.2.20"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
dependencies = [
"zerocopy",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "precomputed-hash"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
name = "prettier"
version = "0.1.0"
2023-09-01 18:31:16 +03:00
dependencies = [
"anyhow",
2023-09-22 18:40:12 +03:00
"collections",
2023-09-01 18:31:16 +03:00
"fs",
"gpui",
"language",
2023-10-24 11:01:19 +03:00
"log",
"lsp",
2023-10-24 11:01:19 +03:00
"node_runtime",
"parking_lot",
"paths",
2023-10-24 11:01:19 +03:00
"serde",
"serde_json",
"util",
]
[[package]]
name = "pretty_assertions"
2023-07-07 21:24:29 +03:00
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
dependencies = [
"diff",
"yansi",
]
2023-06-05 06:34:22 +03:00
[[package]]
name = "prettyplease"
version = "0.2.22"
2023-06-05 06:34:22 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
2023-06-05 06:34:22 +03:00
dependencies = [
"proc-macro2",
"syn 2.0.76",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "proc-macro-crate"
version = "3.2.0"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"toml_edit 0.22.20",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn 1.0.109",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
Update Rust crate proc-macro2 to v1.0.86 (#15940) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [proc-macro2](https://togithub.com/dtolnay/proc-macro2) | dependencies | patch | `1.0.81` -> `1.0.86` | --- ### Release Notes <details> <summary>dtolnay/proc-macro2 (proc-macro2)</summary> ### [`v1.0.86`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.86) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.85...1.0.86) - Documentation improvements ### [`v1.0.85`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.85) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.84...1.0.85) - Mark some tests as only for 64-bit targets ([#&#8203;463](https://togithub.com/dtolnay/proc-macro2/issues/463)) ### [`v1.0.84`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.84) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.83...1.0.84) - Documentation improvements ([#&#8203;455](https://togithub.com/dtolnay/proc-macro2/issues/455), thanks [@&#8203;CensoredUsername](https://togithub.com/CensoredUsername)) ### [`v1.0.83`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.83) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.82...1.0.83) - Optimize the representation of `Ident` ([#&#8203;462](https://togithub.com/dtolnay/proc-macro2/issues/462)) ### [`v1.0.82`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.82) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82) - Resolve unexpected_cfgs warning ([#&#8203;456](https://togithub.com/dtolnay/proc-macro2/issues/456)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 19:04:26 +03:00
version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate proc-macro2 to v1.0.86 (#15940) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [proc-macro2](https://togithub.com/dtolnay/proc-macro2) | dependencies | patch | `1.0.81` -> `1.0.86` | --- ### Release Notes <details> <summary>dtolnay/proc-macro2 (proc-macro2)</summary> ### [`v1.0.86`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.86) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.85...1.0.86) - Documentation improvements ### [`v1.0.85`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.85) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.84...1.0.85) - Mark some tests as only for 64-bit targets ([#&#8203;463](https://togithub.com/dtolnay/proc-macro2/issues/463)) ### [`v1.0.84`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.84) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.83...1.0.84) - Documentation improvements ([#&#8203;455](https://togithub.com/dtolnay/proc-macro2/issues/455), thanks [@&#8203;CensoredUsername](https://togithub.com/CensoredUsername)) ### [`v1.0.83`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.83) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.82...1.0.83) - Optimize the representation of `Ident` ([#&#8203;462](https://togithub.com/dtolnay/proc-macro2/issues/462)) ### [`v1.0.82`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.82) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82) - Resolve unexpected_cfgs warning ([#&#8203;456](https://togithub.com/dtolnay/proc-macro2/issues/456)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 19:04:26 +03:00
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
dependencies = [
"unicode-ident",
]
[[package]]
name = "profiling"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
dependencies = [
"profiling-procmacros",
]
[[package]]
name = "profiling-procmacros"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd"
dependencies = [
"quote",
"syn 2.0.76",
]
[[package]]
name = "project"
version = "0.1.0"
2023-10-24 17:15:01 +03:00
dependencies = [
"aho-corasick",
"anyhow",
"async-trait",
"client",
2023-10-24 17:15:01 +03:00
"clock",
"collections",
"dev_server_projects",
"env_logger",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
Add `git blame` (#8889) This adds a new action to the editor: `editor: toggle git blame`. When used it turns on a sidebar containing `git blame` information for the currently open buffer. The git blame information is updated when the buffer changes. It handles additions, deletions, modifications, changes to the underlying git data (new commits, changed commits, ...), file saves. It also handles folding and wrapping lines correctly. When the user hovers over a commit, a tooltip displays information for the commit that introduced the line. If the repository has a remote with the name `origin` configured, then clicking on a blame entry opens the permalink to the commit on the code host. Users can right-click on a blame entry to get a context menu which allows them to copy the SHA of the commit. The feature also works on shared projects, e.g. when collaborating a peer can request `git blame` data. As of this PR, Zed now comes bundled with a `git` binary so that users don't have to have `git` installed locally to use this feature. ### Screenshots ![screenshot-2024-03-28-13 57 43@2x](https://github.com/zed-industries/zed/assets/1185253/ee8ec55d-3b5e-4d63-a85a-852da914f5ba) ![screenshot-2024-03-28-14 01 23@2x](https://github.com/zed-industries/zed/assets/1185253/2ba8efd7-e887-4076-a87a-587a732b9e9a) ![screenshot-2024-03-28-14 01 32@2x](https://github.com/zed-industries/zed/assets/1185253/496f4a06-b189-4881-b427-2289ae6e6075) ### TODOs - [x] Bundling `git` binary ### Release Notes Release Notes: - Added `editor: toggle git blame` command that toggles a sidebar with git blame information for the current buffer. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-03-28 20:32:11 +03:00
"git",
2023-10-24 17:15:01 +03:00
"git2",
"globset",
"gpui",
"http_client",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"language",
2023-10-24 17:15:01 +03:00
"log",
"lsp",
2023-10-24 17:15:01 +03:00
"node_runtime",
"parking_lot",
"pathdiff",
"paths",
2023-10-24 17:15:01 +03:00
"postage",
"prettier",
2023-10-24 17:15:01 +03:00
"pretty_assertions",
"rand 0.8.5",
"regex",
"release_channel",
"remote",
"rpc",
"schemars",
2023-10-24 17:15:01 +03:00
"serde",
"serde_json",
"settings",
"sha2",
"shellexpand 2.1.2",
"shlex",
2023-10-24 17:15:01 +03:00
"similar",
"smol",
"snippet",
"snippet_provider",
"task",
"tempfile",
"terminal",
"text",
2023-10-24 17:15:01 +03:00
"unindent",
"util",
"which 6.0.3",
"windows 0.58.0",
"worktree",
]
[[package]]
name = "project_panel"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"collections",
"db",
"editor",
File context for assistant panel (#9712) Introducing the Active File Context portion of #9705. When someone is in the assistant panel it now includes the active file as a system message on send while showing them a nice little display in the lower right: ![image](https://github.com/zed-industries/zed/assets/836375/9abc56e0-e8f2-45ee-9e7e-b83b28b483ea) For this iteration, I'd love to see the following before we land this: * [x] Toggle-able context - user should be able to disable sending this context * [x] Show nothing if there is no context coming in * [x] Update token count as we change items * [x] Listen for a more finely scoped event for when the active item changes * [x] Create a global for pulling a file icon based on a path. Zed's main way to do this is nested within project panel's `FileAssociation`s. * [x] Get the code fence name for a Language for the system prompt * [x] Update the token count when the buffer content changes I'm seeing this PR as the foundation for providing other kinds of context -- diagnostic summaries, failing tests, additional files, etc. Release Notes: - Added file context to assistant chat panel ([#9705](https://github.com/zed-industries/zed/issues/9705)). <img width="1558" alt="image" src="https://github.com/zed-industries/zed/assets/836375/86eb7e50-3e28-4754-9c3f-895be588616d"> --------- Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-29 23:55:01 +03:00
"file_icons",
"git",
"gpui",
"indexmap 1.9.3",
"language",
"menu",
"pretty_assertions",
"project",
"schemars",
"search",
"serde",
"serde_derive",
"serde_json",
"settings",
"theme",
"ui",
"util",
"workspace",
"worktree",
]
2022-02-22 10:42:12 +03:00
[[package]]
name = "project_symbols"
version = "0.1.0"
2023-12-13 23:35:49 +03:00
dependencies = [
"anyhow",
"editor",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"gpui",
"language",
"lsp",
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
"ordered-float 2.10.1",
"picker",
"project",
"release_channel",
"serde_json",
"settings",
"theme",
2023-12-13 23:35:49 +03:00
"util",
"workspace",
2023-12-13 23:35:49 +03:00
]
[[package]]
name = "prometheus"
Update Rust crate prometheus to v0.13.4 (#15941) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [prometheus](https://togithub.com/tikv/rust-prometheus) | dependencies | patch | `0.13.3` -> `0.13.4` | --- ### Release Notes <details> <summary>tikv/rust-prometheus (prometheus)</summary> ### [`v0.13.4`](https://togithub.com/tikv/rust-prometheus/blob/HEAD/CHANGELOG.md#0134) [Compare Source](https://togithub.com/tikv/rust-prometheus/compare/v0.13.3...v0.13.4) - Improvement: Add PullingGauge ([#&#8203;405](https://togithub.com/tikv/rust-prometheus/issues/405)) - Improvement: Let cargo know which example requires which features ([#&#8203;511](https://togithub.com/tikv/rust-prometheus/issues/511)) - Bug fix: Prevent `clippy::ignored_unit_patterns` in macro expansions ([#&#8203;497](https://togithub.com/tikv/rust-prometheus/issues/497)) - Internal change: Add CI job for minimum toolchain (MSRV) ([#&#8203;467](https://togithub.com/tikv/rust-prometheus/issues/467)) - Internal change: Update CI to `actions/checkout@v4` ([#&#8203;499](https://togithub.com/tikv/rust-prometheus/issues/499)) - Internal change: Update dependencies </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-09 18:54:08 +03:00
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate prometheus to v0.13.4 (#15941) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [prometheus](https://togithub.com/tikv/rust-prometheus) | dependencies | patch | `0.13.3` -> `0.13.4` | --- ### Release Notes <details> <summary>tikv/rust-prometheus (prometheus)</summary> ### [`v0.13.4`](https://togithub.com/tikv/rust-prometheus/blob/HEAD/CHANGELOG.md#0134) [Compare Source](https://togithub.com/tikv/rust-prometheus/compare/v0.13.3...v0.13.4) - Improvement: Add PullingGauge ([#&#8203;405](https://togithub.com/tikv/rust-prometheus/issues/405)) - Improvement: Let cargo know which example requires which features ([#&#8203;511](https://togithub.com/tikv/rust-prometheus/issues/511)) - Bug fix: Prevent `clippy::ignored_unit_patterns` in macro expansions ([#&#8203;497](https://togithub.com/tikv/rust-prometheus/issues/497)) - Internal change: Add CI job for minimum toolchain (MSRV) ([#&#8203;467](https://togithub.com/tikv/rust-prometheus/issues/467)) - Internal change: Update CI to `actions/checkout@v4` ([#&#8203;499](https://togithub.com/tikv/rust-prometheus/issues/499)) - Internal change: Update dependencies </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-09 18:54:08 +03:00
checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1"
dependencies = [
"cfg-if",
"fnv",
"lazy_static",
"memchr",
"parking_lot",
"protobuf",
"thiserror",
]
[[package]]
name = "prost"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
dependencies = [
"bytes 1.7.1",
"prost-derive",
]
[[package]]
name = "prost-build"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
dependencies = [
"bytes 1.7.1",
"heck 0.3.3",
2023-09-15 16:31:33 +03:00
"itertools 0.10.5",
"lazy_static",
"log",
"multimap",
"petgraph",
"prost",
"prost-types",
"regex",
"tempfile",
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
"which 4.4.2",
]
[[package]]
name = "prost-derive"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
dependencies = [
"anyhow",
2023-09-15 16:31:33 +03:00
"itertools 0.10.5",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "prost-types"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
dependencies = [
"bytes 1.7.1",
"prost",
]
[[package]]
name = "proto"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"parking_lot",
"prost",
"prost-build",
"serde",
]
[[package]]
name = "protobuf"
2022-10-13 01:39:04 +03:00
version = "2.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
[[package]]
name = "protols-tree-sitter-proto"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bac092da66e21a71eb832925de7b542f8ac34f75fd05cd2fc3e272863e3fd2b"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "psm"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
dependencies = [
"cc",
]
[[package]]
name = "ptr_meta"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
dependencies = [
"ptr_meta_derive",
]
[[package]]
name = "ptr_meta_derive"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "pulldown-cmark"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76979bea66e7875e7509c4ec5300112b316af87fa7a252ca91c448b32dfe3993"
dependencies = [
"bitflags 2.6.0",
"memchr",
"pulldown-cmark-escape",
"unicase",
]
Upgrade `pulldown_cmark` to v0.12 (#17418) This PR upgrades `pulldown_cmark` to v0.12. There were a few breaking changes that needed to be accounted for: - The `BlockQuote` variant now has a `kind` attached. Right now we're ignoring it. - `pulldown_cmark` now emits tags for definition lists. This codepath has been left unimplemented, for now. ### Release Notes <details> <summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary> ### [`v0.12.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.1): 0.12.1 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.0...v0.12.1) ##### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/941](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/941) ##### New features - impl From<CowStr> for String by [@&#8203;oconnor663](https://redirect.github.com/oconnor663) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) ##### Developers - Make dos-fuzzer part of the workspace by [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) ##### New Contributors - [@&#8203;oconnor663](https://redirect.github.com/oconnor663) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) - [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.0...v0.12.1 ### [`v0.12.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.0): 0.12.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.3...v0.12.0) Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in `TagEnd` reverted in 0.11.2. #### Breaking changes - feat: re-add kind for BlockQuote in TagEnd by [@&#8203;Martin1887](https://redirect.github.com/Martin1887) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/940](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/940) - Refactor TextMergeStream by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/931](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/931) #### New features - Implement commonmark-hs compatible definition lists by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/915](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/915) #### Other changes - Rename superlinear time fuzzer to `dos-fuzzer` by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/938](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/938) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.12.0 ### [`v0.11.3`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.3): 0.11.3 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.2...v0.11.3) #### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/944](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/944) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.11.3 ### [`v0.11.2`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.2) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.1...v0.11.2) Revert BlockQuote kind to avoid breaking change. ### [`v0.11.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.1) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.11.1) Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation. #### Breaking changes - Add BlockQuoteKind to BlockQuote TagEnd by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/926](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/926) (reverted in v0.11.2) #### What's Changed - fix: CowStr deserialization when escaping by [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - fix(test): fix generating spec tests doesn't work on Windows due to line-endings by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/903](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/903) - feat: add `-G` CLI option to enable GFM support by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/905](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/905) - feat: set `DefaultBrokenLinkCallback` as the default broken link callback of `OffsetIter` by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/901](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/901) - chore(doc): use `cargo add` to instruct how to install this crate as dependency by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/904](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/904) - fix typo by [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - Fix parsing blocks inside alert body by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/908](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/908) - fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/910](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/910) - fix: fix warnings reported from nightly rustc by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/911](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/911) - fix: fix infinite loop when metadata delimiter is indented by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/913](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/913) - Raise the link cutoff from 5 to 32 by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/917](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/917) - Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/916](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/916) - Add guide book and deploy script for it by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/883](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/883) - ci: fix deploying the document to GitHub Pages and make the deploy job faster by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/920](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/920) - Fix lone task list item bug by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/924](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/924) - Fix offset range around footnotes that look like images by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/925](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/925) - Update old footnote format to interrupt paragraph by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/928](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/928) - Fix confusing bug with back-to-back footnotes by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/930](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/930) - Add reproduction cases for [#&#8203;927](https://redirect.github.com/raphlinus/pulldown-cmark/issues/927) by [@&#8203;zoni](https://redirect.github.com/zoni) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) - Add regression test for [#&#8203;655](https://redirect.github.com/raphlinus/pulldown-cmark/issues/655) by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/932](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/932) - Renovate the superlinear time fuzzer by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/935](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/935) #### New Contributors - [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - [@&#8203;zoni](https://redirect.github.com/zoni) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.0...v0.11.1 ### [`v0.11.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.0): 0.11.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0) ##### Finally, the so long awaited math mode is here! Enable the option to use it. This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release! #### Breaking changes - Change `write_to_html` to allow `fmt::Write` by [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) #### New features - Math mode #### Bugfixes - \[0.11] Don't exit `scan_attribute` with the ix pointing at block quote by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/873](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/873) - (Re)introduce simd feature to pulldown-cmark-escape by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/880](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/880) - fix: remove unnecessary end_newline set by [@&#8203;tomcur](https://redirect.github.com/tomcur) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) #### New Contributors - [@&#8203;duskmoon314](https://redirect.github.com/duskmoon314) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/874](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/874) - [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) - [@&#8203;tomcur](https://redirect.github.com/tomcur) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.3...v0.11.0 </details> Release Notes: - N/A
2024-09-05 17:46:51 +03:00
[[package]]
name = "pulldown-cmark"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "666f0f59e259aea2d72e6012290c09877a780935cc3c18b1ceded41f3890d59c"
dependencies = [
"bitflags 2.6.0",
"memchr",
"unicase",
]
[[package]]
name = "pulldown-cmark-escape"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd348ff538bc9caeda7ee8cad2d1d48236a1f443c1fa3913c6a02fe0043b1dd3"
[[package]]
name = "qoi"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
dependencies = [
"bytemuck",
]
[[package]]
name = "quick-error"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
[[package]]
name = "quick-xml"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
dependencies = [
"memchr",
]
[[package]]
name = "quick-xml"
version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4"
dependencies = [
"memchr",
]
[[package]]
name = "quick_action_bar"
version = "0.1.0"
dependencies = [
"assistant",
"editor",
"gpui",
"markdown_preview",
"repl",
"search",
"settings",
"ui",
"util",
"workspace",
"zed_actions",
]
[[package]]
name = "quote"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
dependencies = [
"proc-macro2",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "radium"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
"getrandom 0.1.16",
"libc",
"rand_chacha 0.2.2",
"rand_core 0.5.1",
"rand_hc",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "rand"
version = "0.8.5"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
2021-03-10 07:00:51 +03:00
dependencies = [
"libc",
"rand_chacha 0.3.1",
2022-10-13 01:39:04 +03:00
"rand_core 0.6.4",
]
[[package]]
name = "rand_chacha"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
dependencies = [
"ppv-lite86",
"rand_core 0.5.1",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "rand_chacha"
version = "0.3.1"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
2021-03-10 07:00:51 +03:00
dependencies = [
"ppv-lite86",
2022-10-13 01:39:04 +03:00
"rand_core 0.6.4",
2021-03-19 00:52:46 +03:00
]
[[package]]
name = "rand_core"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
dependencies = [
"getrandom 0.1.16",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "rand_core"
2022-10-13 01:39:04 +03:00
version = "0.6.4"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
2021-03-10 07:00:51 +03:00
dependencies = [
"getrandom 0.2.15",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
"rand_core 0.5.1",
]
[[package]]
name = "rangemap"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684"
[[package]]
name = "rav1e"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9"
dependencies = [
"arbitrary",
"arg_enum_proc_macro",
"arrayvec",
"av1-grain",
"bitstream-io",
"built",
"cfg-if",
"interpolate_name",
"itertools 0.12.1",
"libc",
"libfuzzer-sys",
"log",
"maybe-rayon",
"new_debug_unreachable",
"noop_proc_macro",
"num-derive",
"num-traits",
"once_cell",
"paste",
"profiling",
"rand 0.8.5",
"rand_chacha 0.3.1",
"simd_helpers",
"system-deps",
"thiserror",
"v_frame",
"wasm-bindgen",
]
[[package]]
name = "ravif"
version = "0.11.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f0bfd976333248de2078d350bfdf182ff96e168a24d23d2436cef320dd4bdd"
dependencies = [
"avif-serialize",
"imgref",
"loop9",
"quick-error",
"rav1e",
"rgb",
]
[[package]]
name = "raw-window-handle"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539"
[[package]]
name = "raw-window-metal"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76e8caa82e31bb98fee12fa8f051c94a6aa36b07cddb03f0d4fc558988360ff1"
dependencies = [
"cocoa 0.25.0",
"core-graphics 0.23.2",
"objc",
"raw-window-handle",
]
[[package]]
name = "rayon"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
dependencies = [
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
dependencies = [
"crossbeam-deque",
2023-07-07 21:24:29 +03:00
"crossbeam-utils",
]
[[package]]
name = "read-fonts"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c141b9980e1150201b2a3a32879001c8f975fe313ec3df5471a9b5c79a880cd"
dependencies = [
"bytemuck",
"font-types",
]
2022-12-15 02:59:50 +03:00
[[package]]
name = "recent_projects"
version = "0.1.0"
dependencies = [
"anyhow",
"auto_update",
"client",
"dev_server_projects",
"editor",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"gpui",
"language",
"log",
"markdown",
"menu",
Update Rust crate ordered-float to v2.10.1 (#15933) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ordered-float](https://togithub.com/reem/rust-ordered-float) | workspace.dependencies | patch | `2.10.0` -> `2.10.1` | --- ### Release Notes <details> <summary>reem/rust-ordered-float (ordered-float)</summary> ### [`v2.10.1`](https://togithub.com/reem/rust-ordered-float/releases/tag/v2.10.1) [Compare Source](https://togithub.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1) #### What's Changed - Refactor Hash implementation by [@&#8203;jogru0](https://togithub.com/jogru0) in [https://github.com/reem/rust-ordered-float/pull/129](https://togithub.com/reem/rust-ordered-float/pull/129) - Optimize Ord implementation by [@&#8203;orlp](https://togithub.com/orlp) in [https://github.com/reem/rust-ordered-float/pull/144](https://togithub.com/reem/rust-ordered-float/pull/144) **Full Changelog**: https://github.com/reem/rust-ordered-float/compare/v2.10.0...v2.10.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 14:48:43 +03:00
"ordered-float 2.10.1",
"picker",
"project",
"release_channel",
"remote",
"rpc",
"schemars",
"serde",
"serde_json",
Restore unsaved buffers on restart (#13546) This adds the ability for Zed to restore unsaved buffers on restart. The user is no longer prompted to save/discard/cancel when trying to close a Zed window with dirty buffers in it. Instead those dirty buffers are stored and restored on restart. It does this by saving the contents of dirty buffers to the internal SQLite database in which Zed stores other data too. On restart, if there are dirty buffers in the database, they are restored. On certain events (buffer changed, file saved, ...) Zed will serialize these buffers, throttled to a 100ms, so that we don't overload the machine by saving on every keystroke. When Zed quits, it waits until all the buffers are serialized. ### Current limitations - It does not persist undo-history (right now we don't persist/restore undo-history regardless of dirty buffers or not) - It does not restore buffers in windows without projects/worktrees. Example: if you open a new window with `cmd-shift-n` and type something in a buffer, this will _not_ be stored and you will be asked whether to save/discard on quit. In the future, we want to fix this by also restoring windows without projects/worktrees. ### Demo https://github.com/user-attachments/assets/45c63237-8848-471f-8575-ac05496bba19 ### Related tickets I'm unsure about closing them, without also fixing the 2nd limitation: restoring of worktree-less windows. So let's wait until that. - https://github.com/zed-industries/zed/issues/4985 - https://github.com/zed-industries/zed/issues/4683 ### Note on performance - Serializing editing buffer (asynchronously on background thread) with 500k lines takes ~200ms on M3 Max. That's an extreme case and that performance seems acceptable. Release Notes: - Added automatic restoring of unsaved buffers. Zed can now be closed even if there are unsaved changes in buffers. One current limitation is that this only works when having projects open, not single files or empty windows with unsaved buffers. The feature can be turned off by setting `{"session": {"restore_unsaved_buffers": false}}`. --------- Co-authored-by: Bennet <bennet@zed.dev> Co-authored-by: Antonio <antonio@zed.dev>
2024-07-17 19:10:20 +03:00
"settings",
"smol",
"task",
"terminal_view",
"ui",
"ui_input",
"util",
"workspace",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "redox_syscall"
2022-10-13 01:39:04 +03:00
version = "0.2.16"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
2021-03-10 07:00:51 +03:00
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "redox_syscall"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
]
2024-01-24 20:58:09 +03:00
[[package]]
name = "redox_syscall"
version = "0.5.3"
2024-01-24 20:58:09 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4"
2024-01-24 20:58:09 +03:00
dependencies = [
"bitflags 2.6.0",
2024-01-24 20:58:09 +03:00
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "redox_users"
version = "0.4.6"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
2021-03-10 07:00:51 +03:00
dependencies = [
"getrandom 0.2.15",
"libredox",
"thiserror",
2021-03-10 07:00:51 +03:00
]
[[package]]
name = "refineable"
version = "0.1.0"
dependencies = [
"derive_refineable",
]
[[package]]
name = "regalloc2"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
dependencies = [
"hashbrown 0.13.2",
"log",
"rustc-hash",
"slice-group-by",
"smallvec",
]
[[package]]
name = "regex"
version = "1.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata 0.4.7",
"regex-syntax 0.8.4",
]
[[package]]
name = "regex-automata"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
dependencies = [
"regex-syntax 0.6.29",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "regex-automata"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax 0.8.4",
]
[[package]]
name = "regex-lite"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
[[package]]
name = "regex-syntax"
version = "0.6.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
[[package]]
name = "release_channel"
version = "0.1.0"
dependencies = [
"gpui",
"once_cell",
]
[[package]]
name = "remote"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"log",
"parking_lot",
"prost",
"rpc",
"serde",
"serde_json",
"smol",
"tempfile",
"util",
]
[[package]]
name = "remote_server"
version = "0.1.0"
dependencies = [
"anyhow",
"cargo_toml",
"client",
"clock",
"env_logger",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"language",
"log",
"node_runtime",
"project",
"remote",
"rpc",
"serde",
"serde_json",
"settings",
"shellexpand 2.1.2",
"smol",
"toml 0.8.19",
"worktree",
]
[[package]]
name = "rend"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
dependencies = [
"bytecheck",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "repl"
version = "0.1.0"
dependencies = [
"alacritty_terminal",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"anyhow",
"async-dispatcher",
"base64 0.22.1",
"client",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"collections",
"command_palette_hooks",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"editor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"gpui",
"http_client",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"image",
"indoc",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"language",
"languages",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"log",
"markdown_preview",
"multi_buffer",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"project",
"runtimelib",
"schemars",
"serde",
"serde_json",
"settings",
"smol",
"terminal",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"terminal_view",
"theme",
"tree-sitter-md",
"tree-sitter-python",
"tree-sitter-typescript",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"ui",
"util",
"uuid",
"windows 0.58.0",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"workspace",
]
[[package]]
name = "reqwest"
version = "0.11.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
dependencies = [
"base64 0.21.7",
"bytes 1.7.1",
"encoding_rs",
"futures-core",
"futures-util",
"h2",
"http 0.2.12",
"http-body 0.4.6",
"hyper",
"hyper-tls",
"ipnet",
"js-sys",
"log",
"mime",
"native-tls",
2022-10-13 01:39:04 +03:00
"once_cell",
"percent-encoding",
"pin-project-lite",
"rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper",
"system-configuration",
"tokio",
"tokio-native-tls",
2022-06-02 11:51:27 +03:00
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"winreg 0.50.0",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "resvg"
version = "0.41.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2327ced609dadeed3e9702fec3e6b2ddd208758a9268d13e06566c6101ba533"
2021-04-06 14:44:38 +03:00
dependencies = [
"log",
"pico-args",
"rgb",
"svgtypes",
2021-04-06 14:44:38 +03:00
"tiny-skia",
"usvg",
]
[[package]]
name = "rfc6979"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb"
dependencies = [
"crypto-bigint 0.4.9",
"hmac",
"zeroize",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "rgb"
version = "0.8.49"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cd5a1e95672f201913966f39baf355b53b5d92833431847295ae0346a5b939"
2021-04-06 14:44:38 +03:00
dependencies = [
"bytemuck",
]
[[package]]
name = "rich_text"
version = "0.1.0"
2023-11-03 04:30:33 +03:00
dependencies = [
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"linkify",
Upgrade `pulldown_cmark` to v0.12 (#17418) This PR upgrades `pulldown_cmark` to v0.12. There were a few breaking changes that needed to be accounted for: - The `BlockQuote` variant now has a `kind` attached. Right now we're ignoring it. - `pulldown_cmark` now emits tags for definition lists. This codepath has been left unimplemented, for now. ### Release Notes <details> <summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary> ### [`v0.12.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.1): 0.12.1 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.0...v0.12.1) ##### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/941](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/941) ##### New features - impl From<CowStr> for String by [@&#8203;oconnor663](https://redirect.github.com/oconnor663) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) ##### Developers - Make dos-fuzzer part of the workspace by [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) ##### New Contributors - [@&#8203;oconnor663](https://redirect.github.com/oconnor663) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/943](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/943) - [@&#8203;kdarkhan](https://redirect.github.com/kdarkhan) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/945](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/945) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.0...v0.12.1 ### [`v0.12.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.12.0): 0.12.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.3...v0.12.0) Thanks to all contributors! This release mainly adds the long awaited commonmark-hs description lists (under a flag) and enables the blockquote kind in `TagEnd` reverted in 0.11.2. #### Breaking changes - feat: re-add kind for BlockQuote in TagEnd by [@&#8203;Martin1887](https://redirect.github.com/Martin1887) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/940](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/940) - Refactor TextMergeStream by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/931](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/931) #### New features - Implement commonmark-hs compatible definition lists by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/915](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/915) #### Other changes - Rename superlinear time fuzzer to `dos-fuzzer` by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/938](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/938) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.12.0 ### [`v0.11.3`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.3): 0.11.3 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.2...v0.11.3) #### Security - Fix O(n\*\*2) comment parser by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/944](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/944) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.2...v0.11.3 ### [`v0.11.2`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.2) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.1...v0.11.2) Revert BlockQuote kind to avoid breaking change. ### [`v0.11.1`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.1) [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.11.1) Thanks to all people involved in this release! The main change of this release is the reduction of the MSRV to 1.71.1, but it also includes a lot of bug fixes and a new mdBook for user-friendly documentation. #### Breaking changes - Add BlockQuoteKind to BlockQuote TagEnd by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/926](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/926) (reverted in v0.11.2) #### What's Changed - fix: CowStr deserialization when escaping by [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - fix(test): fix generating spec tests doesn't work on Windows due to line-endings by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/903](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/903) - feat: add `-G` CLI option to enable GFM support by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/905](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/905) - feat: set `DefaultBrokenLinkCallback` as the default broken link callback of `OffsetIter` by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/901](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/901) - chore(doc): use `cargo add` to instruct how to install this crate as dependency by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/904](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/904) - fix typo by [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - Fix parsing blocks inside alert body by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/908](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/908) - fuzz: fix building fuzzer and improve fuzzing coverage by enabling more parse options by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/910](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/910) - fix: fix warnings reported from nightly rustc by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/911](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/911) - fix: fix infinite loop when metadata delimiter is indented by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/913](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/913) - Raise the link cutoff from 5 to 32 by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/917](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/917) - Reduce MSRV to 1.71.1 by separating benchmarks into a new crate with CI enhancements by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/916](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/916) - Add guide book and deploy script for it by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/883](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/883) - ci: fix deploying the document to GitHub Pages and make the deploy job faster by [@&#8203;rhysd](https://redirect.github.com/rhysd) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/920](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/920) - Fix lone task list item bug by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/924](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/924) - Fix offset range around footnotes that look like images by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/925](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/925) - Update old footnote format to interrupt paragraph by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/928](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/928) - Fix confusing bug with back-to-back footnotes by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/930](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/930) - Add reproduction cases for [#&#8203;927](https://redirect.github.com/raphlinus/pulldown-cmark/issues/927) by [@&#8203;zoni](https://redirect.github.com/zoni) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) - Add regression test for [#&#8203;655](https://redirect.github.com/raphlinus/pulldown-cmark/issues/655) by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/932](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/932) - Renovate the superlinear time fuzzer by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/935](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/935) #### New Contributors - [@&#8203;aatifsyed](https://redirect.github.com/aatifsyed) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/895](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/895) - [@&#8203;jmbhughes](https://redirect.github.com/jmbhughes) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/909](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/909) - [@&#8203;zoni](https://redirect.github.com/zoni) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/929](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/929) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.11.0...v0.11.1 ### [`v0.11.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.11.0): 0.11.0 [Compare Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0) ##### Finally, the so long awaited math mode is here! Enable the option to use it. This release also includes other improvements and bugfixes, please see the changelog below for more details. Thanks to all contributors that has made possible this release! #### Breaking changes - Change `write_to_html` to allow `fmt::Write` by [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) #### New features - Math mode #### Bugfixes - \[0.11] Don't exit `scan_attribute` with the ix pointing at block quote by [@&#8203;notriddle](https://redirect.github.com/notriddle) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/873](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/873) - (Re)introduce simd feature to pulldown-cmark-escape by [@&#8203;ollpu](https://redirect.github.com/ollpu) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/880](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/880) - fix: remove unnecessary end_newline set by [@&#8203;tomcur](https://redirect.github.com/tomcur) in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) #### New Contributors - [@&#8203;duskmoon314](https://redirect.github.com/duskmoon314) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/874](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/874) - [@&#8203;stepantubanov](https://redirect.github.com/stepantubanov) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/870](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/870) - [@&#8203;tomcur](https://redirect.github.com/tomcur) made their first contribution in [https://github.com/pulldown-cmark/pulldown-cmark/pull/885](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/885) **Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.3...v0.11.0 </details> Release Notes: - N/A
2024-09-05 17:46:51 +03:00
"pulldown-cmark 0.12.1",
"theme",
2024-01-20 02:59:17 +03:00
"ui",
2023-11-03 04:30:33 +03:00
"util",
]
[[package]]
name = "ring"
version = "0.17.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
dependencies = [
"cc",
"cfg-if",
"getrandom 0.2.15",
"libc",
"spin",
"untrusted",
"windows-sys 0.52.0",
]
[[package]]
name = "rkyv"
version = "0.7.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b"
dependencies = [
2023-07-07 21:24:29 +03:00
"bitvec",
"bytecheck",
"bytes 1.7.1",
"hashbrown 0.12.3",
"ptr_meta",
"rend",
"rkyv_derive",
"seahash",
2023-07-07 21:24:29 +03:00
"tinyvec",
"uuid",
]
[[package]]
name = "rkyv_derive"
version = "0.7.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "rmp"
version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
dependencies = [
"byteorder",
"num-traits",
"paste",
]
[[package]]
name = "rmpv"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9"
dependencies = [
"num-traits",
"rmp",
]
[[package]]
name = "rodio"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611"
dependencies = [
"cpal",
"hound",
]
2022-10-12 01:25:54 +03:00
[[package]]
name = "rope"
version = "0.1.0"
2023-11-03 19:15:23 +03:00
dependencies = [
"arrayvec",
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
"criterion",
"ctor",
"env_logger",
"gpui",
2023-11-03 19:15:23 +03:00
"log",
"rand 0.8.5",
"smallvec",
"sum_tree",
Fix caret movement issue for some special characters (#10198) Currently in Zed, certain characters require pressing the key twice to move the caret through that character. For example: "❤️" and "y̆". The reason for this is as follows: Currently, Zed uses `chars` to distinguish different characters, and calling `chars` on `y̆` will yield two `char` values: `y` and `\u{306}`, and calling `chars` on `❤️` will yield two `char` values: `❤` and `\u{fe0f}`. Therefore, consider the following scenario (where ^ represents the caret): - what we see: ❤️ ^ - the actual buffer: ❤ \u{fe0f} ^ After pressing the left arrow key once: - what we see: ❤️ ^ - the actual buffer: ❤ ^ \u{fe0f} After pressing the left arrow key again: - what we see: ^ ❤️ - the actual buffer: ^ ❤ \u{fe0f} Thus, two left arrow key presses are needed to move the caret, and this PR fixes this bug (or this is actually a feature?). I have tried to keep the scope of code modifications as minimal as possible. In this PR, Zed handles such characters as follows: - what we see: ❤️ ^ - the actual buffer: ❤ \u{fe0f} ^ After pressing the left arrow key once: - what we see: ^ ❤️ - the actual buffer: ^ ❤ \u{fe0f} Or after pressing the delete key: - what we see: ^ - the actual buffer: ^ Please note that currently, different platforms and software handle these special characters differently, and even the same software may handle these characters differently in different situations. For example, in my testing on Chrome on macOS, GitHub treats `y̆` as a single character, just like in this PR; however, in Rust Playground, `y̆` is treated as two characters, and pressing the delete key does not delete the entire `y̆` character, but instead deletes `\u{306}` to yield the character `y`. And they both treat `❤️` as a single character, pressing the delete key will delete the entire `❤️` character. This PR is based on the principle of making changes with the smallest impact on the code, and I think that deleting the entire character with the delete key is more intuitive. Release Notes: - Fix caret movement issue for some special characters --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Thorsten <thorsten@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de>
2024-04-10 22:01:25 +03:00
"unicode-segmentation",
2023-11-03 19:15:23 +03:00
"util",
]
[[package]]
name = "roxmltree"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
[[package]]
name = "roxmltree"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
[[package]]
name = "rpc"
version = "0.1.0"
dependencies = [
"anyhow",
"async-tungstenite",
"base64 0.22.1",
"chrono",
"collections",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"parking_lot",
"proto",
"rand 0.8.5",
"rsa",
"serde",
2023-11-04 04:01:06 +03:00
"serde_json",
"sha2",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"tracing",
"util",
"zstd",
]
[[package]]
name = "rsa"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
dependencies = [
"const-oid",
"digest",
"num-bigint-dig",
"num-integer",
"num-traits",
"pkcs1",
"pkcs8 0.10.2",
"rand_core 0.6.4",
"signature 2.2.0",
"spki 0.7.3",
"subtle",
"zeroize",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "runtimelib"
version = "0.15.0"
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7d76d28b882a7b889ebb04e79bc2b160b3061821ea596ff0f4a838fc7a76db0"
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
dependencies = [
"anyhow",
"async-dispatcher",
"async-std",
"base64 0.22.1",
"bytes 1.7.1",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"chrono",
"data-encoding",
"dirs 5.0.1",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"glob",
"rand 0.8.5",
"ring",
"serde",
"serde_json",
"shellexpand 3.1.0",
"smol",
"uuid",
"zeromq",
]
[[package]]
name = "rust-embed"
version = "8.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa66af4a4fdd5e7ebc276f115e895611a34739a9c1c01028383d612d550953c0"
dependencies = [
"rust-embed-impl",
"rust-embed-utils",
"walkdir",
]
[[package]]
name = "rust-embed-impl"
version = "8.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6125dbc8867951125eec87294137f4e9c2c96566e61bf72c45095a7c77761478"
dependencies = [
"proc-macro2",
"quote",
"rust-embed-utils",
"syn 2.0.76",
"walkdir",
]
[[package]]
name = "rust-embed-utils"
version = "8.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e5347777e9aacb56039b0e1f28785929a8a3b709e87482e7442c72e7c12529d"
dependencies = [
"globset",
"sha2",
"walkdir",
]
[[package]]
name = "rust_decimal"
version = "1.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555"
dependencies = [
"arrayvec",
"borsh",
"bytes 1.7.1",
"num-traits",
"rand 0.8.5",
"rkyv",
"serde",
"serde_json",
]
[[package]]
name = "rustc-demangle"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate backtrace to v0.3.73 (#15275) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3.69` -> `0.3.73` | | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dev-dependencies | patch | `0.3.69` -> `0.3.73` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.73`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.73) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73) This basically just is bugfixes so that backtrace works on Windows 7 again. #### What's Changed - Fix signature of resolve_legacy for Windows 7 target by [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - Update some comments by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/630](https://togithub.com/rust-lang/backtrace-rs/pull/630) - Update object to 0.36.0. by [@&#8203;afranchuk](https://togithub.com/afranchuk) in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) #### New Contributors - [@&#8203;aapanfilovv](https://togithub.com/aapanfilovv) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/631](https://togithub.com/rust-lang/backtrace-rs/pull/631) - [@&#8203;afranchuk](https://togithub.com/afranchuk) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/633](https://togithub.com/rust-lang/backtrace-rs/pull/633) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.72...0.3.73 ### [`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72) This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72. If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies. #### What's Changed - Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603) - Remove dead code by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605) - Fix CI and remove rustc-serialize by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596) - Use correct base address and update comment by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604) - Windows AArch64: Break out of tracing when no longer making progress by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610) - Remove obsolete rustc-serialize references by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614) - Update `object` and `addr2line` dependencies by [@&#8203;a1phyr](https://togithub.com/a1phyr) in [https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612) - Fix tests for rust 1.79 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621) - Remove unused `libbacktrace` and `gimli-symbolize` features by [@&#8203;Enselic](https://togithub.com/Enselic) in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - remove some instances of dead_code by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619) - Reduce panics in dbghelp by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608) - Add Apple visionOS support by [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - Update cc crate to v1.0.97 by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623) - chore: add docs for the global re-entrant lock by [@&#8203;Gankra](https://togithub.com/Gankra) in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) - Test with lld-compatible args by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627) - Bump rustc-demangle version by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624) - cleanup dead_code around cpp_demangle feature by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622) - Cut backtrace 0.3.72 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628) #### New Contributors - [@&#8203;Enselic](https://togithub.com/Enselic) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615) - [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613) - [@&#8203;Gankra](https://togithub.com/Gankra) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72 ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. #### What's Changed - Make sgx functions exist with cfg(miri) by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@&#8203;jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) #### New Contributors - [@&#8203;jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) #### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@&#8203;fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) #### Platform Support We added support for new platforms in this release! - Thanks to [@&#8203;bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@&#8203;sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@&#8203;wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@&#8203;kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@&#8203;roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@&#8203;klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@&#8203;mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) #### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@&#8203;detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@&#8203;bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@&#8203;pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@&#8203;saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@&#8203;nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) #### New Contributors - [@&#8203;nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@&#8203;bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@&#8203;bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@&#8203;sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@&#8203;mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@&#8203;wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@&#8203;kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@&#8203;roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@&#8203;dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@&#8203;GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@&#8203;fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@&#8203;onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:43:39 +03:00
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
2021-02-21 02:05:36 +03:00
[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
2023-07-26 21:54:23 +03:00
[[package]]
name = "rustc_version"
version = "0.4.1"
2023-07-26 21:54:23 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
2023-07-26 21:54:23 +03:00
dependencies = [
2023-09-22 04:54:59 +03:00
"semver",
]
[[package]]
name = "rustix"
version = "0.37.27"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
2023-07-07 21:24:29 +03:00
dependencies = [
"bitflags 1.3.2",
"errno 0.3.9",
"io-lifetimes 1.0.11",
2023-07-07 21:24:29 +03:00
"libc",
"linux-raw-sys 0.3.8",
"windows-sys 0.48.0",
2023-07-07 21:24:29 +03:00
]
[[package]]
name = "rustix"
version = "0.38.35"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f"
2023-07-07 21:24:29 +03:00
dependencies = [
"bitflags 2.6.0",
"errno 0.3.9",
"itoa",
2023-07-07 21:24:29 +03:00
"libc",
"linux-raw-sys 0.4.14",
"once_cell",
2024-01-24 20:58:09 +03:00
"windows-sys 0.52.0",
]
[[package]]
name = "rustix-openpty"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a25c3aad9fc1424eb82c88087789a7d938e1829724f3e4043163baf0d13cfc12"
dependencies = [
"errno 0.3.9",
"libc",
"rustix 0.38.35",
]
[[package]]
name = "rustls"
version = "0.21.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
dependencies = [
"log",
"ring",
"rustls-webpki",
"sct",
]
[[package]]
name = "rustls-native-certs"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
dependencies = [
"openssl-probe",
"rustls-pemfile",
"schannel",
"security-framework",
]
[[package]]
name = "rustls-pemfile"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
"base64 0.21.7",
]
[[package]]
name = "rustls-webpki"
version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
"ring",
"untrusted",
]
[[package]]
name = "rustversion"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
2021-04-06 14:44:38 +03:00
[[package]]
name = "rustybuzz"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c"
dependencies = [
"bitflags 2.6.0",
"bytemuck",
"libm",
"smallvec",
"ttf-parser",
"unicode-bidi-mirroring",
"unicode-ccc",
"unicode-properties",
"unicode-script",
]
2021-03-19 00:52:46 +03:00
[[package]]
name = "ryu"
version = "1.0.18"
2021-03-19 00:52:46 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
2021-03-19 00:52:46 +03:00
[[package]]
name = "salsa20"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
dependencies = [
"cipher",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
"winapi-util",
]
[[package]]
name = "schannel"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "schemars"
version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92"
dependencies = [
"dyn-clone",
"indexmap 1.9.3",
"schemars_derive",
"serde",
"serde_json",
]
[[package]]
name = "schemars_derive"
version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals 0.29.1",
"syn 2.0.76",
]
[[package]]
name = "scoped-tls"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
2021-03-10 07:00:51 +03:00
[[package]]
name = "scopeguard"
version = "1.2.0"
2022-10-13 01:39:04 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
2022-10-13 01:39:04 +03:00
[[package]]
name = "scrypt"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f"
dependencies = [
"password-hash",
"pbkdf2",
"salsa20",
"sha2",
]
[[package]]
name = "sct"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
dependencies = [
"ring",
"untrusted",
]
[[package]]
name = "sea-bae"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3bd3534a9978d0aa7edd2808dc1f8f31c4d0ecd31ddf71d997b3c98e9f3c9114"
dependencies = [
"heck 0.4.1",
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "sea-orm"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "1.1.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "1ef282b794f7d3426f61f530854705963b1941e7584ea84fb98528e504fac7c7"
dependencies = [
"async-stream",
"async-trait",
"bigdecimal",
"chrono",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"log",
"ouroboros",
"rust_decimal",
"sea-orm-macros",
"sea-query",
"sea-query-binder",
"serde",
"serde_json",
"sqlx",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.26.3",
"thiserror",
2023-09-15 16:31:33 +03:00
"time",
"tracing",
"url",
"uuid",
]
[[package]]
name = "sea-orm-macros"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "1.1.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "07aadcb2ee9fad78a3bf74f6430ba94865ab4d8ad237f978e99dafa97ee0df57"
dependencies = [
"heck 0.4.1",
"proc-macro2",
"quote",
"sea-bae",
"syn 2.0.76",
"unicode-ident",
]
[[package]]
name = "sea-query"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.32.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "6fba498acd58ce434669f273505cd07737065472eb541c3f813c7f4ce33993f5"
dependencies = [
"bigdecimal",
"chrono",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"educe",
"inherent",
"ordered-float 3.9.2",
"rust_decimal",
"serde_json",
2023-09-15 16:31:33 +03:00
"time",
"uuid",
]
[[package]]
name = "sea-query-binder"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.7.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "edc3296903e60ddc7c9f4601cd6ef31a4b1584bf22480587e00b9ef743071b57"
dependencies = [
"bigdecimal",
"chrono",
"rust_decimal",
"sea-query",
"serde_json",
"sqlx",
2023-09-15 16:31:33 +03:00
"time",
"uuid",
]
[[package]]
name = "seahash"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
[[package]]
name = "sealed"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b5e421024b5e5edfbaa8e60ecf90bda9dbffc602dbb230e6028763f85f0c68c"
dependencies = [
"heck 0.3.3",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "search"
version = "0.1.0"
2023-11-13 22:38:37 +03:00
dependencies = [
"any_vec",
2023-11-13 22:38:37 +03:00
"anyhow",
"bitflags 2.6.0",
"client",
2023-11-13 22:38:37 +03:00
"collections",
"editor",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"language",
"menu",
"project",
2023-11-13 22:38:37 +03:00
"serde",
"serde_json",
"settings",
2023-11-13 22:38:37 +03:00
"smol",
"theme",
"ui",
2023-11-13 22:38:37 +03:00
"unindent",
"util",
"workspace",
2023-11-13 22:38:37 +03:00
]
[[package]]
name = "sec1"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
dependencies = [
"base16ct",
"der 0.6.1",
"generic-array",
"pkcs8 0.9.0",
"subtle",
"zeroize",
]
[[package]]
name = "security-framework"
version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
dependencies = [
"bitflags 2.6.0",
"core-foundation 0.9.4",
"core-foundation-sys",
"libc",
"security-framework-sys",
]
[[package]]
name = "security-framework-sys"
version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
name = "self_cell"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "semantic_index"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"clock",
"collections",
"env_logger",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"futures-batch",
"gpui",
"heed",
"http_client",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"language",
"languages",
"log",
"open_ai",
"parking_lot",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"project",
"serde",
"serde_json",
"settings",
"sha2",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"smol",
"tempfile",
"theme",
"tree-sitter",
"ui",
"unindent",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"util",
"workspace",
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
"worktree",
]
[[package]]
name = "semantic_version"
version = "0.1.0"
dependencies = [
"anyhow",
"serde",
]
2023-07-26 21:54:23 +03:00
[[package]]
name = "semver"
Update Rust crate semver to v1.0.23 (#15277) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [semver](https://togithub.com/dtolnay/semver) | workspace.dependencies | patch | `1.0.18` -> `1.0.23` | --- ### Release Notes <details> <summary>dtolnay/semver (semver)</summary> ### [`v1.0.23`](https://togithub.com/dtolnay/semver/releases/tag/1.0.23) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.22...1.0.23) - Resolve unexpected_cfgs warning ([#&#8203;318](https://togithub.com/dtolnay/semver/issues/318)) ### [`v1.0.22`](https://togithub.com/dtolnay/semver/releases/tag/1.0.22) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.21...1.0.22) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v1.0.21`](https://togithub.com/dtolnay/semver/releases/tag/1.0.21) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.20...1.0.21) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache ### [`v1.0.20`](https://togithub.com/dtolnay/semver/releases/tag/1.0.20) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.19...1.0.20) - Add a method for comparing versions by precedence ([#&#8203;305](https://togithub.com/dtolnay/semver/issues/305)) ### [`v1.0.19`](https://togithub.com/dtolnay/semver/releases/tag/1.0.19) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.18...1.0.19) - Improve test coverage ([#&#8203;299](https://togithub.com/dtolnay/semver/issues/299), thanks [@&#8203;CXWorks](https://togithub.com/CXWorks)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 17:36:41 +03:00
version = "1.0.23"
2023-07-26 21:54:23 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate semver to v1.0.23 (#15277) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [semver](https://togithub.com/dtolnay/semver) | workspace.dependencies | patch | `1.0.18` -> `1.0.23` | --- ### Release Notes <details> <summary>dtolnay/semver (semver)</summary> ### [`v1.0.23`](https://togithub.com/dtolnay/semver/releases/tag/1.0.23) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.22...1.0.23) - Resolve unexpected_cfgs warning ([#&#8203;318](https://togithub.com/dtolnay/semver/issues/318)) ### [`v1.0.22`](https://togithub.com/dtolnay/semver/releases/tag/1.0.22) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.21...1.0.22) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v1.0.21`](https://togithub.com/dtolnay/semver/releases/tag/1.0.21) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.20...1.0.21) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache ### [`v1.0.20`](https://togithub.com/dtolnay/semver/releases/tag/1.0.20) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.19...1.0.20) - Add a method for comparing versions by precedence ([#&#8203;305](https://togithub.com/dtolnay/semver/issues/305)) ### [`v1.0.19`](https://togithub.com/dtolnay/semver/releases/tag/1.0.19) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.18...1.0.19) - Improve test coverage ([#&#8203;299](https://togithub.com/dtolnay/semver/issues/299), thanks [@&#8203;CXWorks](https://togithub.com/CXWorks)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 17:36:41 +03:00
checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
dependencies = [
"serde",
]
2023-07-26 21:54:23 +03:00
2021-03-19 00:52:46 +03:00
[[package]]
name = "serde"
version = "1.0.209"
2021-03-19 00:52:46 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.209"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
2021-03-19 00:52:46 +03:00
[[package]]
name = "serde_derive_internals"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "serde_derive_internals"
version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "serde_fmt"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4"
dependencies = [
"serde",
]
2021-03-19 00:52:46 +03:00
[[package]]
name = "serde_json"
version = "1.0.127"
2021-03-19 00:52:46 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad"
2021-03-19 00:52:46 +03:00
dependencies = [
"indexmap 2.4.0",
2023-08-21 17:35:57 +03:00
"itoa",
Update Rust crate serde_json to v1.0.121 (#15425) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [serde_json](https://togithub.com/serde-rs/json) | dependencies | patch | `1.0.120` -> `1.0.121` | | [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.120` -> `1.0.121` | --- ### Release Notes <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.121`](https://togithub.com/serde-rs/json/releases/tag/v1.0.121) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.120...v1.0.121) - Optimize position search in error path ([#&#8203;1160](https://togithub.com/serde-rs/json/issues/1160), thanks [@&#8203;purplesyringa](https://togithub.com/purplesyringa)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 16:07:55 +03:00
"memchr",
"ryu",
"serde",
]
[[package]]
name = "serde_json_lenient"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc61c66b53a4035fcce237ef38043f4b2f0ebf918fd0e69541a5166104065581"
dependencies = [
"indexmap 2.4.0",
2023-08-21 17:35:57 +03:00
"itoa",
2021-03-19 00:52:46 +03:00
"ryu",
"serde",
2021-03-19 00:52:46 +03:00
]
[[package]]
name = "serde_path_to_error"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6"
dependencies = [
"itoa",
"serde",
]
[[package]]
name = "serde_qs"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
dependencies = [
"percent-encoding",
"serde",
"thiserror",
]
[[package]]
name = "serde_qs"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cac3f1e2ca2fe333923a1ae72caca910b98ed0630bb35ef6f8c8517d6e81afa"
dependencies = [
"percent-encoding",
"serde",
"thiserror",
]
[[package]]
name = "serde_repr"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "serde_spanned"
Update Rust crate cargo_toml to v0.20.4 (#15276) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cargo_toml](https://lib.rs/cargo_toml) ([source](https://gitlab.com/lib.rs/cargo_toml)) | workspace.dependencies | patch | `0.20.2` -> `0.20.4` | --- ### Release Notes <details> <summary>lib.rs/cargo_toml (cargo_toml)</summary> ### [`v0.20.4`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) ### [`v0.20.3`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:40:57 +03:00
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate cargo_toml to v0.20.4 (#15276) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cargo_toml](https://lib.rs/cargo_toml) ([source](https://gitlab.com/lib.rs/cargo_toml)) | workspace.dependencies | patch | `0.20.2` -> `0.20.4` | --- ### Release Notes <details> <summary>lib.rs/cargo_toml (cargo_toml)</summary> ### [`v0.20.4`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.3...v0.20.4) ### [`v0.20.3`](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) [Compare Source](https://gitlab.com/lib.rs/cargo_toml/compare/v0.20.2...v0.20.3) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:40:57 +03:00
checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
2023-08-21 17:35:57 +03:00
"itoa",
"ryu",
"serde",
]
[[package]]
name = "session"
version = "0.1.0"
dependencies = [
"db",
"gpui",
"serde_json",
"util",
"uuid",
]
[[package]]
name = "settings"
version = "0.1.0"
2023-10-21 18:52:47 +03:00
dependencies = [
"anyhow",
"collections",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
2023-10-21 18:52:47 +03:00
"indoc",
"log",
"paths",
2023-10-21 18:52:47 +03:00
"pretty_assertions",
"release_channel",
2023-10-21 18:52:47 +03:00
"rust-embed",
"schemars",
"serde",
"serde_derive",
"serde_json",
"serde_json_lenient",
"smallvec",
"tree-sitter",
"tree-sitter-json",
2023-10-21 18:52:47 +03:00
"unindent",
"util",
]
[[package]]
name = "settings_ui"
version = "0.1.0"
dependencies = [
"command_palette_hooks",
"editor",
"feature_flags",
"gpui",
"settings",
"theme",
"ui",
"workspace",
]
2022-10-13 01:39:04 +03:00
[[package]]
name = "sha1"
2023-09-22 04:54:59 +03:00
version = "0.10.6"
2022-10-13 01:39:04 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-22 04:54:59 +03:00
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
2022-10-13 01:39:04 +03:00
dependencies = [
"cfg-if",
2022-10-13 01:39:04 +03:00
"cpufeatures",
"digest",
]
[[package]]
name = "sha1_smol"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
[[package]]
name = "sha2"
version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
"digest",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
[[package]]
name = "shell-words"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
2022-06-06 09:40:56 +03:00
[[package]]
name = "shellexpand"
2022-10-13 01:39:04 +03:00
version = "2.1.2"
2022-06-06 09:40:56 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-10-13 01:39:04 +03:00
checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
2022-06-06 09:40:56 +03:00
dependencies = [
2022-10-13 01:39:04 +03:00
"dirs 4.0.0",
2022-06-06 09:40:56 +03:00
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "shellexpand"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
dependencies = [
"dirs 5.0.1",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "shlex"
version = "1.3.0"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
2021-02-21 02:05:36 +03:00
[[package]]
name = "signal-hook"
2023-07-26 16:50:38 +03:00
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-26 16:50:38 +03:00
checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
dependencies = [
"libc",
"signal-hook-registry",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
dependencies = [
"libc",
]
[[package]]
name = "signature"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
dependencies = [
"digest",
"rand_core 0.6.4",
]
[[package]]
name = "signature"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest",
"rand_core 0.6.4",
]
[[package]]
name = "simd-adler32"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
[[package]]
name = "simd_helpers"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6"
dependencies = [
"quote",
]
[[package]]
name = "simdutf8"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
[[package]]
name = "similar"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ad1d488a557b235fc46dae55512ffbfc429d2482b08b4d9435ab07384ca8aec"
[[package]]
name = "simple_asn1"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085"
dependencies = [
"num-bigint",
"num-traits",
"thiserror",
"time",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "simplecss"
version = "0.2.1"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d"
2021-04-06 14:44:38 +03:00
dependencies = [
"log",
]
[[package]]
name = "simplelog"
version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
dependencies = [
"log",
"termcolor",
"time",
]
[[package]]
name = "siphasher"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
2024-03-07 06:55:34 +03:00
[[package]]
name = "siphasher"
version = "1.0.1"
2024-03-07 06:55:34 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
2024-03-07 06:55:34 +03:00
[[package]]
name = "skrifa"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abea4738067b1e628c6ce28b2c216c19e9ea95715cdb332680e821c3bec2ef23"
dependencies = [
"bytemuck",
"read-fonts",
]
[[package]]
name = "slab"
2023-08-23 23:31:39 +03:00
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-23 23:31:39 +03:00
checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
2022-10-13 01:39:04 +03:00
dependencies = [
2023-07-11 21:50:48 +03:00
"autocfg",
2022-10-13 01:39:04 +03:00
]
[[package]]
name = "slash_commands_example"
version = "0.1.0"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "slice-group-by"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
2023-07-27 19:19:07 +03:00
[[package]]
name = "slotmap"
version = "1.0.7"
2023-07-27 19:19:07 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
2023-07-27 19:19:07 +03:00
dependencies = [
"version_check",
]
[[package]]
name = "sluice"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
dependencies = [
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-channel 1.9.0",
"futures-core",
"futures-io",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "smallvec"
Update Rust crate smallvec to v1.13.2 (#15179) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [smallvec](https://togithub.com/servo/rust-smallvec) | workspace.dependencies | minor | `1.11.1` -> `1.13.2` | --- ### Release Notes <details> <summary>servo/rust-smallvec (smallvec)</summary> ### [`v1.13.2`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.13.2) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2) #### What's Changed - Add more tests for UB by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/servo/rust-smallvec/pull/346](https://togithub.com/servo/rust-smallvec/pull/346) - Fix UB on out-of-bounds insert() by [@&#8203;mbrubeck](https://togithub.com/mbrubeck) in [https://github.com/servo/rust-smallvec/pull/345](https://togithub.com/servo/rust-smallvec/pull/345) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2 ### [`v1.13.1`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.13.1) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.13.0...v1.13.1) - Remove the optional `get-size` feature, to avoid a cyclic dependency ([#&#8203;335](https://togithub.com/servo/rust-smallvec/issues/335)). **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.13.0...v1.13.1 ### [`v1.13.0`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.13.0) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.12.0...v1.13.0) #### What's Changed - Impl get_size::GetSize (behind feature flag) by [@&#8203;amandasaurus](https://togithub.com/amandasaurus) in [https://github.com/servo/rust-smallvec/pull/335](https://togithub.com/servo/rust-smallvec/pull/335) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.12.0...v1.13.0 ### [`v1.12.0`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.12.0) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.11.2...v1.12.0) #### What's Changed - Add `from_const_with_len_unchecked` by [@&#8203;Expyron](https://togithub.com/Expyron) in [https://github.com/servo/rust-smallvec/pull/329](https://togithub.com/servo/rust-smallvec/pull/329) #### New Contributors - [@&#8203;Expyron](https://togithub.com/Expyron) made their first contribution in [https://github.com/servo/rust-smallvec/pull/329](https://togithub.com/servo/rust-smallvec/pull/329) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.11.2...v1.12.0 ### [`v1.11.2`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.11.2) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.11.1...v1.11.2) #### What's Changed - Automated testing improvements by [@&#8203;waywardmonkeys](https://togithub.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/322](https://togithub.com/servo/rust-smallvec/pull/322) and [https://github.com/servo/rust-smallvec/pull/326](https://togithub.com/servo/rust-smallvec/pull/326) - fix: don't special-case `doc` for `feature = "const_generics"` by [@&#8203;mkroening](https://togithub.com/mkroening) in [https://github.com/servo/rust-smallvec/pull/328](https://togithub.com/servo/rust-smallvec/pull/328) - Code cleanup by [@&#8203;emilio](https://togithub.com/emilio) in [https://github.com/servo/rust-smallvec/pull/316](https://togithub.com/servo/rust-smallvec/pull/316) and [@&#8203;waywardmonkeys](https://togithub.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/323](https://togithub.com/servo/rust-smallvec/pull/323) - Minor tweaks to doc formatting. by [@&#8203;waywardmonkeys](https://togithub.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/318](https://togithub.com/servo/rust-smallvec/pull/318) #### New Contributors - [@&#8203;mkroening](https://togithub.com/mkroening) made their first contribution in [https://github.com/servo/rust-smallvec/pull/328](https://togithub.com/servo/rust-smallvec/pull/328) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.11.1...v1.11.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 15:48:56 +03:00
version = "1.13.2"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate smallvec to v1.13.2 (#15179) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [smallvec](https://togithub.com/servo/rust-smallvec) | workspace.dependencies | minor | `1.11.1` -> `1.13.2` | --- ### Release Notes <details> <summary>servo/rust-smallvec (smallvec)</summary> ### [`v1.13.2`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.13.2) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2) #### What's Changed - Add more tests for UB by [@&#8203;workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/servo/rust-smallvec/pull/346](https://togithub.com/servo/rust-smallvec/pull/346) - Fix UB on out-of-bounds insert() by [@&#8203;mbrubeck](https://togithub.com/mbrubeck) in [https://github.com/servo/rust-smallvec/pull/345](https://togithub.com/servo/rust-smallvec/pull/345) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2 ### [`v1.13.1`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.13.1) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.13.0...v1.13.1) - Remove the optional `get-size` feature, to avoid a cyclic dependency ([#&#8203;335](https://togithub.com/servo/rust-smallvec/issues/335)). **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.13.0...v1.13.1 ### [`v1.13.0`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.13.0) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.12.0...v1.13.0) #### What's Changed - Impl get_size::GetSize (behind feature flag) by [@&#8203;amandasaurus](https://togithub.com/amandasaurus) in [https://github.com/servo/rust-smallvec/pull/335](https://togithub.com/servo/rust-smallvec/pull/335) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.12.0...v1.13.0 ### [`v1.12.0`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.12.0) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.11.2...v1.12.0) #### What's Changed - Add `from_const_with_len_unchecked` by [@&#8203;Expyron](https://togithub.com/Expyron) in [https://github.com/servo/rust-smallvec/pull/329](https://togithub.com/servo/rust-smallvec/pull/329) #### New Contributors - [@&#8203;Expyron](https://togithub.com/Expyron) made their first contribution in [https://github.com/servo/rust-smallvec/pull/329](https://togithub.com/servo/rust-smallvec/pull/329) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.11.2...v1.12.0 ### [`v1.11.2`](https://togithub.com/servo/rust-smallvec/releases/tag/v1.11.2) [Compare Source](https://togithub.com/servo/rust-smallvec/compare/v1.11.1...v1.11.2) #### What's Changed - Automated testing improvements by [@&#8203;waywardmonkeys](https://togithub.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/322](https://togithub.com/servo/rust-smallvec/pull/322) and [https://github.com/servo/rust-smallvec/pull/326](https://togithub.com/servo/rust-smallvec/pull/326) - fix: don't special-case `doc` for `feature = "const_generics"` by [@&#8203;mkroening](https://togithub.com/mkroening) in [https://github.com/servo/rust-smallvec/pull/328](https://togithub.com/servo/rust-smallvec/pull/328) - Code cleanup by [@&#8203;emilio](https://togithub.com/emilio) in [https://github.com/servo/rust-smallvec/pull/316](https://togithub.com/servo/rust-smallvec/pull/316) and [@&#8203;waywardmonkeys](https://togithub.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/323](https://togithub.com/servo/rust-smallvec/pull/323) - Minor tweaks to doc formatting. by [@&#8203;waywardmonkeys](https://togithub.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/318](https://togithub.com/servo/rust-smallvec/pull/318) #### New Contributors - [@&#8203;mkroening](https://togithub.com/mkroening) made their first contribution in [https://github.com/servo/rust-smallvec/pull/328](https://togithub.com/servo/rust-smallvec/pull/328) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.11.1...v1.11.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 15:48:56 +03:00
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
dependencies = [
"serde",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "smart-default"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "smol"
2022-11-01 23:15:58 +03:00
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-11-01 23:15:58 +03:00
checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1"
dependencies = [
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-channel 1.9.0",
"async-executor",
"async-fs 1.6.0",
"async-io 1.13.0",
"async-lock 2.8.0",
"async-net 1.8.0",
"async-process 1.8.1",
"blocking",
"futures-lite 1.13.0",
]
[[package]]
name = "smol_str"
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9"
dependencies = [
"serde",
]
[[package]]
name = "snippet"
version = "0.1.0"
dependencies = [
"anyhow",
"smallvec",
]
[[package]]
name = "snippet_provider"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"parking_lot",
"serde",
"serde_json",
"snippet",
"util",
]
[[package]]
name = "socket2"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
"winapi",
]
2023-08-21 17:35:57 +03:00
[[package]]
name = "socket2"
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
version = "0.5.7"
2023-08-21 17:35:57 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
2023-08-21 17:35:57 +03:00
dependencies = [
"libc",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"windows-sys 0.52.0",
2023-08-21 17:35:57 +03:00
]
[[package]]
name = "spdx"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47317bbaf63785b53861e1ae2d11b80d6b624211d42cb20efcd210ee6f8a14bc"
dependencies = [
"smallvec",
]
2022-11-10 06:15:05 +03:00
[[package]]
name = "spin"
version = "0.9.8"
2022-11-10 06:15:05 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
2022-11-10 06:15:05 +03:00
dependencies = [
"lock_api",
]
[[package]]
name = "spirv"
version = "0.3.0+sdk-1.3.268.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
dependencies = [
"bitflags 2.6.0",
]
[[package]]
name = "spki"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
dependencies = [
"base64ct",
"der 0.6.1",
]
[[package]]
name = "spki"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
dependencies = [
"base64ct",
"der 0.7.9",
]
[[package]]
name = "sptr"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
2022-11-01 23:15:58 +03:00
[[package]]
name = "sqlez"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
2022-11-01 23:15:58 +03:00
"indoc",
"libsqlite3-sys",
"parking_lot",
"smol",
2022-11-01 23:15:58 +03:00
"thread_local",
"util",
"uuid",
2022-11-01 23:15:58 +03:00
]
[[package]]
name = "sqlez_macros"
version = "0.1.0"
dependencies = [
"sqlez",
"sqlformat",
"syn 1.0.109",
]
[[package]]
name = "sqlformat"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f"
dependencies = [
"nom",
"unicode_categories",
]
[[package]]
name = "sqlx"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "27144619c6e5802f1380337a209d2ac1c431002dd74c6e60aebff3c506dc4f0c"
dependencies = [
"sqlx-core",
"sqlx-macros",
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
]
[[package]]
name = "sqlx-core"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "a999083c1af5b5d6c071d34a708a19ba3e02106ad82ef7bbd69f5e48266b613b"
dependencies = [
"atoi",
"bigdecimal",
"byteorder",
"bytes 1.7.1",
"chrono",
"crc",
"crossbeam-queue",
"either",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"event-listener 5.3.1",
"futures-channel",
"futures-core",
"futures-intrusive",
"futures-io",
"futures-util",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"hashbrown 0.14.5",
"hashlink",
"hex",
"indexmap 2.4.0",
"log",
"memchr",
"once_cell",
"paste",
"percent-encoding",
"rust_decimal",
"rustls",
"rustls-pemfile",
"serde",
"serde_json",
"sha2",
"smallvec",
"sqlformat",
"thiserror",
2023-09-15 16:31:33 +03:00
"time",
"tokio",
"tokio-stream",
"tracing",
"url",
"uuid",
"webpki-roots",
]
[[package]]
name = "sqlx-macros"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "a23217eb7d86c584b8cbe0337b9eacf12ab76fe7673c513141ec42565698bb88"
dependencies = [
"proc-macro2",
"quote",
"sqlx-core",
"sqlx-macros-core",
"syn 2.0.76",
]
[[package]]
name = "sqlx-macros-core"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "1a099220ae541c5db479c6424bdf1b200987934033c2584f79a0e1693601e776"
dependencies = [
2022-10-13 01:39:04 +03:00
"dotenvy",
"either",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"heck 0.5.0",
"hex",
"once_cell",
"proc-macro2",
"quote",
"serde",
2022-11-10 06:15:05 +03:00
"serde_json",
"sha2",
"sqlx-core",
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
"syn 2.0.76",
"tempfile",
"tokio",
"url",
]
[[package]]
name = "sqlx-mysql"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "5afe4c38a9b417b6a9a5eeffe7235d0a106716495536e7727d1c7f4b1ff3eba6"
dependencies = [
"atoi",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"base64 0.22.1",
"bigdecimal",
"bitflags 2.6.0",
"byteorder",
"bytes 1.7.1",
"chrono",
"crc",
"digest",
"dotenvy",
"either",
"futures-channel",
"futures-core",
"futures-io",
"futures-util",
"generic-array",
"hex",
"hkdf",
"hmac",
"itoa",
"log",
"md-5",
"memchr",
"once_cell",
"percent-encoding",
"rand 0.8.5",
"rsa",
"rust_decimal",
"serde",
"sha1",
"sha2",
"smallvec",
"sqlx-core",
"stringprep",
"thiserror",
"time",
"tracing",
"uuid",
"whoami",
]
[[package]]
name = "sqlx-postgres"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "b1dbb157e65f10dbe01f729339c06d239120221c9ad9fa0ba8408c4cc18ecf21"
dependencies = [
"atoi",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"base64 0.22.1",
"bigdecimal",
"bitflags 2.6.0",
"byteorder",
"chrono",
"crc",
"dotenvy",
"etcetera",
"futures-channel",
"futures-core",
"futures-io",
"futures-util",
"hex",
"hkdf",
"hmac",
"home",
"itoa",
"log",
"md-5",
"memchr",
"num-bigint",
"once_cell",
"rand 0.8.5",
"rust_decimal",
"serde",
"serde_json",
"sha2",
"smallvec",
"sqlx-core",
"stringprep",
"thiserror",
"time",
"tracing",
"uuid",
"whoami",
]
[[package]]
name = "sqlx-sqlite"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "9b2cdd83c008a622d94499c0006d8ee5f821f36c89b7d625c900e5dc30b5c5ee"
dependencies = [
"atoi",
"chrono",
"flume",
"futures-channel",
"futures-core",
"futures-executor",
"futures-intrusive",
"futures-util",
"libsqlite3-sys",
"log",
"percent-encoding",
"serde",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"serde_urlencoded",
"sqlx-core",
"time",
"tracing",
"url",
"uuid",
]
[[package]]
name = "stable_deref_trait"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
2021-04-13 23:51:49 +03:00
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "story"
version = "0.1.0"
dependencies = [
"gpui",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"smallvec",
]
[[package]]
name = "storybook"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"collab_ui",
"ctrlc",
"dialoguer",
"editor",
"fuzzy",
"gpui",
"indoc",
"language",
"log",
"menu",
"picker",
"project",
"rust-embed",
"settings",
"simplelog",
"story",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"theme",
"title_bar",
"ui",
]
[[package]]
name = "strict-num"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
dependencies = [
"float-cmp",
]
[[package]]
name = "string_cache"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
dependencies = [
"new_debug_unreachable",
"once_cell",
"parking_lot",
"phf_shared 0.10.0",
"precomputed-hash",
"serde",
]
[[package]]
name = "string_cache_codegen"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
dependencies = [
"phf_generator 0.10.0",
"phf_shared 0.10.0",
"proc-macro2",
"quote",
]
[[package]]
name = "stringprep"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"
dependencies = [
"unicode-bidi",
"unicode-normalization",
"unicode-properties",
]
[[package]]
name = "strsim"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
dependencies = [
"strum_macros",
]
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
[[package]]
name = "strum"
version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
[[package]]
name = "strum_macros"
version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
dependencies = [
"heck 0.4.1",
"proc-macro2",
"quote",
"rustversion",
"syn 2.0.76",
]
[[package]]
name = "subtle"
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "sum_tree"
version = "0.1.0"
dependencies = [
"arrayvec",
"ctor",
"env_logger",
"log",
"rand 0.8.5",
"rayon",
]
[[package]]
name = "supermaven"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"collections",
"editor",
"env_logger",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"http_client",
"language",
"log",
"postage",
"project",
"serde",
"serde_json",
"settings",
"smol",
"supermaven_api",
"text",
"theme",
"ui",
"util",
"windows 0.58.0",
]
[[package]]
name = "supermaven_api"
version = "0.1.0"
dependencies = [
"anyhow",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"http_client",
"paths",
"serde",
"serde_json",
"smol",
]
[[package]]
name = "sval"
version = "2.13.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53eb957fbc79a55306d5d25d87daf3627bc3800681491cda0709eef36c748bfe"
2023-07-07 21:24:29 +03:00
[[package]]
name = "sval_buffer"
version = "2.13.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96e860aef60e9cbf37888d4953a13445abf523c534640d1f6174d310917c410d"
2023-07-07 21:24:29 +03:00
dependencies = [
"sval",
"sval_ref",
]
[[package]]
name = "sval_dynamic"
version = "2.13.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea3f2b07929a1127d204ed7cb3905049381708245727680e9139dac317ed556f"
2023-07-07 21:24:29 +03:00
dependencies = [
"sval",
]
[[package]]
name = "sval_fmt"
version = "2.13.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4e188677497de274a1367c4bda15bd2296de4070d91729aac8f0a09c1abf64d"
2023-07-07 21:24:29 +03:00
dependencies = [
2023-08-21 17:35:57 +03:00
"itoa",
2023-07-07 21:24:29 +03:00
"ryu",
"sval",
]
[[package]]
name = "sval_json"
version = "2.13.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32f456c07dae652744781f2245d5e3b78e6a9ebad70790ac11eb15dbdbce5282"
2023-07-07 21:24:29 +03:00
dependencies = [
2023-08-21 17:35:57 +03:00
"itoa",
2023-07-07 21:24:29 +03:00
"ryu",
"sval",
]
[[package]]
name = "sval_nested"
version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "886feb24709f0476baaebbf9ac10671a50163caa7e439d7a7beb7f6d81d0a6fb"
dependencies = [
"sval",
"sval_buffer",
"sval_ref",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "sval_ref"
version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be2e7fc517d778f44f8cb64140afa36010999565528d48985f55e64d45f369ce"
2023-07-07 21:24:29 +03:00
dependencies = [
"sval",
]
[[package]]
name = "sval_serde"
version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79bf66549a997ff35cd2114a27ac4b0c2843280f2cfa84b240d169ecaa0add46"
dependencies = [
"serde",
2023-07-07 21:24:29 +03:00
"sval",
"sval_nested",
]
[[package]]
name = "svg_fmt"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca"
2021-04-06 14:44:38 +03:00
[[package]]
name = "svgtypes"
version = "0.15.2"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "794de53cc48eaabeed0ab6a3404a65f40b3e38c067e4435883a65d2aa4ca000e"
2021-04-06 14:44:38 +03:00
dependencies = [
"kurbo",
"siphasher 1.0.1",
2021-04-06 14:44:38 +03:00
]
[[package]]
name = "swash"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93cdc334a50fcc2aa3f04761af3b28196280a6aaadb1ef11215c478ae32615ac"
dependencies = [
"skrifa",
"yazi",
"zeno",
]
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
2022-04-24 20:08:25 +03:00
[[package]]
name = "syn"
version = "2.0.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn_derive"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "sync_wrapper"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
Semantic Index (#10329) This introduces semantic indexing in Zed based on chunking text from files in the developer's workspace and creating vector embeddings using an embedding model. As part of this, we've created an embeddings provider trait that allows us to work with OpenAI, a local Ollama model, or a Zed hosted embedding. The semantic index is built by breaking down text for known (programming) languages into manageable chunks that are smaller than the max token size. Each chunk is then fed to a language model to create a high dimensional vector which is then normalized to a unit vector to allow fast comparison with other vectors with a simple dot product. Alongside the vector, we store the path of the file and the range within the document where the vector was sourced from. Zed will soon grok contextual similarity across different text snippets, allowing for natural language search beyond keyword matching. This is being put together both for human-based search as well as providing results to Large Language Models to allow them to refine how they help developers. Remaining todo: * [x] Change `provider` to `model` within the zed hosted embeddings database (as its currently a combo of the provider and the model in one name) Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com> Co-authored-by: Antonio <antonio@zed.dev>
2024-04-12 20:40:59 +03:00
[[package]]
name = "synchronoise"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dbc01390fc626ce8d1cffe3376ded2b72a11bb70e1c75f404a210e4daa4def2"
dependencies = [
"crossbeam-queue",
]
[[package]]
name = "sys-locale"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0"
dependencies = [
"libc",
]
2022-12-23 02:10:49 +03:00
[[package]]
name = "sysinfo"
version = "0.30.13"
2022-12-23 02:10:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3"
2022-12-23 02:10:49 +03:00
dependencies = [
"cfg-if",
"core-foundation-sys",
2022-12-23 02:10:49 +03:00
"libc",
"ntapi",
2022-12-23 02:10:49 +03:00
"once_cell",
"rayon",
"windows 0.52.0",
2022-12-23 02:10:49 +03:00
]
[[package]]
name = "system-configuration"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
dependencies = [
"bitflags 1.3.2",
"core-foundation 0.9.4",
"system-configuration-sys",
]
[[package]]
name = "system-configuration-sys"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
name = "system-deps"
version = "6.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
dependencies = [
"cfg-expr",
"heck 0.5.0",
"pkg-config",
"toml 0.8.19",
"version-compare",
]
[[package]]
name = "system-interface"
version = "0.27.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b858526d22750088a9b3cf2e3c2aacebd5377f13adeec02860c30d09113010a6"
dependencies = [
"bitflags 2.6.0",
"cap-fs-ext",
"cap-std",
"fd-lock",
"io-lifetimes 2.0.3",
"rustix 0.38.35",
"windows-sys 0.52.0",
"winx",
]
Add tab switcher (#7987) The Tab Switcher implementation (#7653): - `ctrl-tab` opens the Tab Switcher and moves selection to the previously selcted tab. It also cycles selection forward. - `ctrl-shift-tab` opens the Tab Switcher and moves selection to the last tab in the list. It also cycles selection backward. - Tab is selected and the Tab Switcher is closed on the shortcut modifier key (`ctrl` by default) release. - List items are in reverse activation history order. - The list reacts to the item changes in background (new tab, tab closed, tab title changed etc.) Intentionally not in scope of this PR: - File icons - Close buttons I will come back to these features. I think they need to be implemented in separate PRs, and be synchronized with changes in how tabs are rendered, to reuse the code as it's done in the current implementation. The Tab Switcher looks usable even without them. Known Issues: Tab Switcher doesn't react to mouse click on a list item. It's not a tab switcher specific problem, it looks like ctrl-clicks are not handled the same way in Zed as cmd-clicks. For instance, menu items can be activated with cmd-click, but don't react to ctrl-click. Since the Tab Switcher's default keybinding is `ctrl-tab`, the user can only click an item with `ctrl` pushed down, thus preventing `on_click()` from firing. fixes #7653, #7321 Release Notes: - Added Tab Switcher which is accessible via `ctrl-tab` and `ctrl-shift-tab` (#7653) (#7321) Related issues: - Unblocks #7356, I hope 😄 How it looks and works (it's only `ctrl-tab`'s and `ctrl-shift-tab`'s, no `enter`'s or mouse clicks): https://github.com/zed-industries/zed/assets/2101250/4ad4ec6a-5314-481b-8b35-7ac85e43eb92 --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-27 21:15:08 +03:00
[[package]]
name = "tab_switcher"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"ctor",
"editor",
"env_logger",
"gpui",
"language",
"menu",
"picker",
"project",
"serde",
"serde_json",
"theme",
"ui",
"util",
"workspace",
]
2023-11-19 07:30:33 +03:00
[[package]]
name = "taffy"
version = "0.4.4"
gpui: Bump taffy to 0.4.3 again (#11655) We reverted bump to taffy 0.4.3 following an issue spotted by @maxdeviant where chat text input was not being rendered correctly: ![image](https://github.com/zed-industries/zed/assets/24362066/9d7e6444-47b1-4ac2-808f-bf10404377c0) This was an issue with the previous attempt to upgrade to taffy 0.4.0 as well. We bail early in `compute_auto_height_layout` due to a missing width: https://github.com/zed-industries/zed/blob/df190ea84621837c44fa50c62837bdbea04b9e22/crates/editor/src/element.rs#L5266 The same issue is visible in story for auto-height editor (or rather, the breakage is visible - the editor simply does not render at all there). I tracked down the breakage to https://github.com/DioxusLabs/taffy/pull/573 ; it looks like it specifically affects editors with auto-height. In taffy <0.4 which we were using previously, we'd eventually get a proper width for auto-height EditorElement after having initially computed the size. With taffy 0.4 however (and specifically that PR mentioned earlier), we're getting `Size::NONE` in layout phase [^1]. I've noticed though that even with taffy <0.3, the `known_dimensions.width` was always equal to `available_space.width` in layout phase. Hence, I went with falling back to `available_space.width` when it is a definite value and we don't have a `known_dimensions.width`. Done this way, both chat input and auto-height story render correctly. /cc @as-cii Related: https://github.com/zed-industries/zed/pull/11606 https://github.com/zed-industries/zed/pull/11622 https://github.com/zed-industries/zed/pull/7868 https://github.com/zed-industries/zed/pull/7896 [^1]: This could possibly be related to change in what gets passed in https://github.com/DioxusLabs/taffy/pull/573/files#diff-60c916e9b0c507925f032cecdde6ae163e41b84b8e4bc0a6c04f7d846b0aad9eR133 , though I'm not sure if editor is a leaf node in this case Release Notes: - N/A
2024-05-10 16:05:50 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ec17858c2d465b2f734b798b920818a974faf0babb15d7fef81818a4b2d16f1"
2023-11-19 07:30:33 +03:00
dependencies = [
"arrayvec",
"grid",
2023-08-12 09:56:34 +03:00
"num-traits",
gpui: Bump taffy to 0.4.3 again (#11655) We reverted bump to taffy 0.4.3 following an issue spotted by @maxdeviant where chat text input was not being rendered correctly: ![image](https://github.com/zed-industries/zed/assets/24362066/9d7e6444-47b1-4ac2-808f-bf10404377c0) This was an issue with the previous attempt to upgrade to taffy 0.4.0 as well. We bail early in `compute_auto_height_layout` due to a missing width: https://github.com/zed-industries/zed/blob/df190ea84621837c44fa50c62837bdbea04b9e22/crates/editor/src/element.rs#L5266 The same issue is visible in story for auto-height editor (or rather, the breakage is visible - the editor simply does not render at all there). I tracked down the breakage to https://github.com/DioxusLabs/taffy/pull/573 ; it looks like it specifically affects editors with auto-height. In taffy <0.4 which we were using previously, we'd eventually get a proper width for auto-height EditorElement after having initially computed the size. With taffy 0.4 however (and specifically that PR mentioned earlier), we're getting `Size::NONE` in layout phase [^1]. I've noticed though that even with taffy <0.3, the `known_dimensions.width` was always equal to `available_space.width` in layout phase. Hence, I went with falling back to `available_space.width` when it is a definite value and we don't have a `known_dimensions.width`. Done this way, both chat input and auto-height story render correctly. /cc @as-cii Related: https://github.com/zed-industries/zed/pull/11606 https://github.com/zed-industries/zed/pull/11622 https://github.com/zed-industries/zed/pull/7868 https://github.com/zed-industries/zed/pull/7896 [^1]: This could possibly be related to change in what gets passed in https://github.com/DioxusLabs/taffy/pull/573/files#diff-60c916e9b0c507925f032cecdde6ae163e41b84b8e4bc0a6c04f7d846b0aad9eR133 , though I'm not sure if editor is a leaf node in this case Release Notes: - N/A
2024-05-10 16:05:50 +03:00
"serde",
2023-08-12 09:56:34 +03:00
"slotmap",
]
2023-05-11 22:01:42 +03:00
[[package]]
name = "take-until"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bdb6fa0dfa67b38c1e66b7041ba9dcf23b99d8121907cd31c807a332f7a0bbb"
2023-07-07 21:24:29 +03:00
[[package]]
name = "tap"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "target-lexicon"
version = "0.12.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]]
name = "task"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
Rework task modal (#10341) New list (used tasks are above the separator line, sorted by the usage recency), then all language tasks, then project-local and global tasks are listed. Note that there are two test tasks (for `test_name_1` and `test_name_2` functions) that are created from the same task template: <img width="563" alt="Screenshot 2024-04-10 at 01 00 46" src="https://github.com/zed-industries/zed/assets/2690773/7455a82f-2af2-47bf-99bd-d9c5a36e64ab"> Tasks are deduplicated by labels, with the used tasks left in case of the conflict with the new tasks from the template: <img width="555" alt="Screenshot 2024-04-10 at 01 01 06" src="https://github.com/zed-industries/zed/assets/2690773/8f5a249e-abec-46ef-a991-08c6d0348648"> Regular recent tasks can be now removed too: <img width="565" alt="Screenshot 2024-04-10 at 01 00 55" src="https://github.com/zed-industries/zed/assets/2690773/0976b8fe-b5d7-4d2a-953d-1d8b1f216192"> When the caret is in the place where no function symbol could be retrieved, no cargo tests for function are listed in tasks: <img width="556" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/df30feba-fe27-4645-8be9-02afc70f02da"> Part of https://github.com/zed-industries/zed/issues/10132 Reworks the task code to simplify it and enable proper task labels. * removes `trait Task`, renames `Definition` into `TaskTemplate` and use that instead of `Arc<dyn Task>` everywhere * implement more generic `TaskId` generation that depends on the `TaskContext` and `TaskTemplate` * remove `TaskId` out of the template and only create it after "resolving" the template into the `ResolvedTask`: this way, task templates, task state (`TaskContext`) and task "result" (resolved state) are clearly separated and are not mixed * implement the logic for filtering out non-related language tasks and tasks that have non-resolved Zed task variables * rework Zed template-vs-resolved-task display in modal: now all reruns and recently used tasks are resolved tasks with "fixed" context (unless configured otherwise in the task json) that are always shown, and Zed can add on top tasks with different context that are derived from the same template as the used, resolved tasks * sort the tasks list better, showing more specific and least recently used tasks higher * shows a separator between used and unused tasks, allow removing the used tasks same as the oneshot ones * remote the Oneshot task source as redundant: all oneshot tasks are now stored in the inventory's history * when reusing the tasks as query in the modal, paste the expanded task label now, show trimmed resolved label in the modal * adjusts Rust and Elixir task labels to be more descriptive and closer to bash scripts Release Notes: - Improved task modal ordering, run and deletion capabilities
2024-04-11 02:02:04 +03:00
"hex",
"parking_lot",
"schemars",
"serde",
"serde_json_lenient",
"sha2",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"shellexpand 2.1.2",
"util",
]
[[package]]
name = "tasks_ui"
version = "0.1.0"
dependencies = [
"anyhow",
"editor",
"file_icons",
"fuzzy",
"gpui",
"language",
"menu",
"picker",
"project",
"schemars",
"serde",
"serde_json",
"settings",
"task",
task: Add task contexts (#8675) This PR supplements tasks with additional environment variables; ideally we'll be able to write a task like: `cargo test -p $ZED_CURRENT_PACKAGE -- $ZED_CURRENT_FUNCTION` - [x] Flesh out multibuffer interactions - [x] Add ZED_SYMBOL detection based on tree-sitter queries - [ ] Add release note and demo - [x] Figure out a solution for rerun dilemma - should `task: rerun` reevaluate contexts for tasks? This PR introduced the following variables: - ZED_COLUMN - current line column - ZED_ROW - current line row and the following, which are available for buffers with associated files: - ZED_WORKTREE_ROOT - absolute path to the root of the current worktree. - ZED_FILE - absolute path to the file - ZED_SYMBOL - currently selected symbol; should match the last symbol shown in a symbol breadcrumb (e.g. `mod tests > fn test_task_contexts` should be equal to ZED_SYMBOL of `test_task_contexts`). Note that this isn't necessarily a test function or a function at all. Also, you can use them in `cwd` field of definitions (note though that we're using https://docs.rs/subst/latest/subst/#features for that, so don't expect a full shell functionality to work); the syntax should match up with your typical Unix shell. Release Notes: - Added task contexts, which are additional environment variables set by Zed for task execution; task content is dependent on the state of the editor at the time the task is spawned. --------- Co-authored-by: Anthony <anthonyeid7@protonmail.com>
2024-03-04 23:04:53 +03:00
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
"util",
"workspace",
]
[[package]]
name = "telemetry_events"
version = "0.1.0"
dependencies = [
"semantic_version",
"serde",
]
[[package]]
name = "tempfile"
version = "3.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
dependencies = [
"cfg-if",
"fastrand 2.1.1",
"once_cell",
"rustix 0.38.35",
"windows-sys 0.59.0",
]
[[package]]
name = "tendril"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
dependencies = [
"futf",
"mac",
"utf-8",
]
[[package]]
name = "termcolor"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
dependencies = [
"winapi-util",
]
[[package]]
name = "terminal"
version = "0.1.0"
2023-10-24 16:18:42 +03:00
dependencies = [
"alacritty_terminal",
2023-10-24 16:18:42 +03:00
"anyhow",
"collections",
2023-10-24 16:18:42 +03:00
"dirs 4.0.0",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
2023-10-24 16:18:42 +03:00
"libc",
"rand 0.8.5",
"release_channel",
2023-10-24 16:18:42 +03:00
"schemars",
"serde",
"serde_derive",
"settings",
2023-10-24 16:18:42 +03:00
"smol",
"sysinfo",
"task",
"theme",
2023-10-24 16:18:42 +03:00
"thiserror",
"util",
"windows 0.58.0",
2023-10-24 16:18:42 +03:00
]
[[package]]
name = "terminal_size"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
dependencies = [
"rustix 0.38.35",
"windows-sys 0.48.0",
]
[[package]]
name = "terminal_view"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
"collections",
"db",
"dirs 4.0.0",
"editor",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"language",
"project",
"rand 0.8.5",
"search",
"serde",
"serde_json",
"settings",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"shellexpand 2.1.2",
"smol",
"task",
"tasks_ui",
"terminal",
"theme",
"ui",
"util",
"workspace",
"zed_actions",
]
[[package]]
name = "text"
version = "0.1.0"
2023-11-01 23:13:53 +03:00
dependencies = [
"anyhow",
"clock",
"collections",
"ctor",
"env_logger",
"gpui",
"http_client",
2023-11-01 23:13:53 +03:00
"log",
"parking_lot",
2023-11-01 23:13:53 +03:00
"postage",
"rand 0.8.5",
"regex",
"rope",
2023-11-01 23:13:53 +03:00
"smallvec",
"sum_tree",
"util",
]
2021-10-05 12:14:30 +03:00
[[package]]
name = "theme"
version = "0.1.0"
2023-10-23 11:59:29 +03:00
dependencies = [
"anyhow",
"collections",
"derive_more",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
2023-10-23 11:59:29 +03:00
"indexmap 1.9.3",
"log",
"palette",
"parking_lot",
"refineable",
2023-10-24 17:59:24 +03:00
"schemars",
2023-10-23 11:59:29 +03:00
"serde",
"serde_derive",
"serde_json",
"serde_json_lenient",
"serde_repr",
"settings",
"story",
2023-10-23 11:59:29 +03:00
"util",
"uuid",
2023-10-23 11:59:29 +03:00
]
[[package]]
name = "theme_importer"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"gpui",
"indexmap 1.9.3",
"log",
"palette",
"rust-embed",
"schemars",
"serde",
"serde_json",
"serde_json_lenient",
"simplelog",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"theme",
"vscode_theme",
2023-10-23 11:59:29 +03:00
]
[[package]]
name = "theme_selector"
version = "0.1.0"
2023-11-21 23:40:00 +03:00
dependencies = [
"client",
"feature_flags",
"fs",
"fuzzy",
"gpui",
2023-11-21 23:40:00 +03:00
"log",
"picker",
"serde",
"settings",
"theme",
"ui",
2023-11-21 23:40:00 +03:00
"util",
"workspace",
2023-11-21 23:40:00 +03:00
]
2021-04-13 23:51:49 +03:00
[[package]]
name = "thiserror"
version = "1.0.63"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
2021-04-13 23:51:49 +03:00
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.63"
2021-04-13 23:51:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
2021-04-13 23:51:49 +03:00
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
2021-04-13 23:51:49 +03:00
]
[[package]]
name = "thread_local"
version = "1.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
dependencies = [
"cfg-if",
"once_cell",
]
2021-09-14 17:48:44 +03:00
[[package]]
name = "tiff"
version = "0.9.1"
2021-09-14 17:48:44 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
2021-09-14 17:48:44 +03:00
dependencies = [
"flate2",
"jpeg-decoder",
2021-09-14 17:48:44 +03:00
"weezl",
]
[[package]]
name = "tiktoken-rs"
version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c314e7ce51440f9e8f5a497394682a57b7c323d0f4d0a6b1b13c429056e0e234"
dependencies = [
"anyhow",
"base64 0.21.7",
2023-06-02 18:21:18 +03:00
"bstr",
"fancy-regex",
"lazy_static",
"parking_lot",
2023-06-02 18:21:18 +03:00
"rustc-hash",
]
[[package]]
name = "time"
version = "0.3.36"
2021-08-26 01:22:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
2021-08-26 01:22:14 +03:00
dependencies = [
2023-08-01 17:40:38 +03:00
"deranged",
2023-08-21 17:35:57 +03:00
"itoa",
"libc",
"num-conv",
"num_threads",
"powerfmt",
"serde",
2022-11-01 23:15:58 +03:00
"time-core",
"time-macros",
2021-08-26 01:22:14 +03:00
]
2022-11-01 23:15:58 +03:00
[[package]]
name = "time-core"
version = "0.1.2"
2022-11-01 23:15:58 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
2022-11-01 23:15:58 +03:00
[[package]]
name = "time-macros"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
2022-11-01 23:15:58 +03:00
dependencies = [
"num-conv",
2022-11-01 23:15:58 +03:00
"time-core",
]
[[package]]
name = "time_format"
version = "0.1.0"
dependencies = [
"core-foundation 0.9.4",
"core-foundation-sys",
"sys-locale",
"time",
]
[[package]]
name = "tiny-keccak"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
dependencies = [
"crunchy",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "tiny-skia"
version = "0.11.4"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
2021-04-06 14:44:38 +03:00
dependencies = [
"arrayref",
"arrayvec",
2021-04-06 14:44:38 +03:00
"bytemuck",
"cfg-if",
"log",
"png",
"tiny-skia-path",
]
[[package]]
name = "tiny-skia-path"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
dependencies = [
"arrayref",
"bytemuck",
"strict-num",
2021-04-06 14:44:38 +03:00
]
[[package]]
name = "tiny_http"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ce51b50006056f590c9b7c3808c3bd70f0d1101666629713866c227d6e58d39"
dependencies = [
"ascii",
"chrono",
"chunked_transfer",
"log",
"url",
]
Reduce memory usage to represent buffers by up to 50% (#10321) This should help with some of the memory problems reported in https://github.com/zed-industries/zed/issues/8436, especially the ones related to large files (see: https://github.com/zed-industries/zed/issues/8436#issuecomment2037442695), by **reducing the memory required to represent a buffer in Zed by ~50%.** ### How? Zed's memory consumption is dominated by the in-memory representation of buffer contents. On the lowest level, the buffer is represented as a [Rope](https://en.wikipedia.org/wiki/Rope_(data_structure)) and that's where the most memory is used. The layers above — buffer, syntax map, fold map, display map, ... — basically use "no memory" compared to the Rope. Zed's `Rope` data structure is itself implemented as [a `SumTree` of `Chunks`](https://github.com/zed-industries/zed/blob/8205c52d2bc204b8234f9306562d9000b1691857/crates/rope/src/rope.rs#L35-L38). An important constant at play here is `CHUNK_BASE`: `CHUNK_BASE` is the maximum length of a single text `Chunk` in the `SumTree` underlying the `Rope`. In other words: It determines into how many pieces a given buffer is split up. By changing `CHUNK_BASE` we can adjust the level of granularity withwhich we index a given piece of text. Theoretical maximum is the length of the text, theoretical minimum is 1. Sweet spot is somewhere inbetween, where memory use and performance of write & read access are optimal. We started with `16` as the `CHUNK_BASE`, but that wasn't the result of extensive benchmarks, more the first reasonable number that came to mind. ### What This changes `CHUNK_BASE` from `16` to `64`. That reduces the memory usage, trading it in for slight reduction in performance in certain benchmarks. ### Benchmarks I added a benchmark suite for `Rope` to determine whether we'd regress in performance as `CHUNK_BASE` goes up. I went from `16` to `32` and then to `64`. While `32` increased performance and reduced memory usage, `64` had one slight drop in performance, increases in other benchmarks and substantial memory savings. | `CHUNK_BASE` from `16` to `32` | `CHUNK_BASE` from `16` to `64` | |-------------------|--------------------| | ![chunk_base_16_to_32](https://github.com/zed-industries/zed/assets/1185253/fcf1f9c6-4f43-4e44-8ef5-29c1e5d8e2b9) | ![chunk_base_16_to_64](https://github.com/zed-industries/zed/assets/1185253/d82a0478-eeef-43d0-9240-e0aa9df8d946) | ### Real World Results We tested this by loading a 138 MB `*.tex` file (parsed as plain text) into Zed and measuring in `Instruments.app` the allocation. #### standard allocator Before, with `CHUNK_BASE: 16`, the memory usage was ~827MB after loading the buffer. | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c1e04c34-7d1a-49fa-bb3c-6ad10aec6e26) | After, with `CHUNK_BASE: 64`, the memory usage was ~396MB after loading the buffer. | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_std_alloc](https://github.com/zed-industries/zed/assets/1185253/c728e134-1846-467f-b20f-114a582c7b5a) | #### `mimalloc` `MiMalloc` by default and that seems to be pretty aggressive when it comes to growing memory. Whereas the std allocator would go up to ~800mb, MiMalloc would jump straight to 1024MB. I also can't get `MiMalloc` to work properly with `Instruments.app` (it always shows 15MB of memory usage) so I had to use these `Activity Monitor` screenshots: | `CHUNK_BASE: 16` | |---------------------| | ![memory_consumption_chunk_base_16_mimalloc](https://github.com/zed-industries/zed/assets/1185253/1e6e05e9-80c2-4ec7-9b0e-8a6fa78836eb) | | `CHUNK_BASE: 64` | |---------------------| | ![memory_consumption_chunk_base_64_mimalloc](https://github.com/zed-industries/zed/assets/1185253/8a47e982-a675-4db0-b690-d60f1ff9acc8) | ### Release Notes Release Notes: - Reduced memory usage for files by up to 50%. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-04-09 19:07:53 +03:00
[[package]]
name = "tinytemplate"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
"serde",
"serde_json",
]
[[package]]
name = "tinyvec"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
dependencies = [
"tinyvec_macros",
]
[[package]]
name = "tinyvec_macros"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "title_bar"
version = "0.1.0"
dependencies = [
"auto_update",
"call",
"client",
"collections",
"command_palette",
"dev_server_projects",
"editor",
"extensions_ui",
"feature_flags",
"feedback",
"gpui",
"http_client",
"notifications",
"pretty_assertions",
"project",
"recent_projects",
"rpc",
"serde",
"settings",
"smallvec",
"story",
"theme",
"theme_selector",
"tree-sitter-md",
"ui",
"util",
"vcs_menu",
"windows 0.58.0",
"workspace",
"zed_actions",
]
[[package]]
name = "tokio"
version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998"
dependencies = [
2023-07-07 21:24:29 +03:00
"backtrace",
"bytes 1.7.1",
"libc",
"mio 1.0.2",
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"socket2 0.5.7",
"tokio-macros",
"windows-sys 0.52.0",
]
[[package]]
name = "tokio-io"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
dependencies = [
"bytes 0.4.12",
"futures 0.1.31",
"log",
]
[[package]]
name = "tokio-macros"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "tokio-native-tls"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
dependencies = [
"native-tls",
"tokio",
]
[[package]]
name = "tokio-rustls"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls",
"tokio",
]
[[package]]
name = "tokio-socks"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f"
dependencies = [
"either",
"futures-io",
"futures-util",
"thiserror",
]
[[package]]
name = "tokio-stream"
version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af"
dependencies = [
"futures-core",
"pin-project-lite",
"tokio",
]
[[package]]
name = "tokio-tungstenite"
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
dependencies = [
"futures-util",
"log",
"tokio",
"tungstenite 0.20.1",
]
[[package]]
name = "tokio-tungstenite"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
dependencies = [
"futures-util",
"log",
"tokio",
"tungstenite 0.21.0",
]
[[package]]
name = "tokio-util"
version = "0.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
dependencies = [
"bytes 1.7.1",
"futures-core",
"futures-io",
"futures-sink",
"pin-project-lite",
"tokio",
]
[[package]]
name = "toml"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
dependencies = [
"serde",
]
[[package]]
name = "toml"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit 0.19.15",
]
[[package]]
name = "toml"
version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit 0.22.20",
]
[[package]]
name = "toml_datetime"
version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
2023-09-15 16:31:33 +03:00
version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-15 16:31:33 +03:00
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
"indexmap 2.4.0",
"serde",
"serde_spanned",
"toml_datetime",
"winnow 0.5.40",
]
[[package]]
name = "toml_edit"
version = "0.22.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
dependencies = [
"indexmap 2.4.0",
"serde",
"serde_spanned",
"toml_datetime",
"winnow 0.6.18",
]
[[package]]
name = "topological-sort"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d"
2022-04-24 20:08:25 +03:00
[[package]]
name = "tower"
2022-06-02 11:51:27 +03:00
version = "0.4.13"
2022-04-24 20:08:25 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-06-02 11:51:27 +03:00
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
2022-04-24 20:08:25 +03:00
dependencies = [
"futures-core",
"futures-util",
"pin-project",
"pin-project-lite",
2022-04-24 20:08:25 +03:00
"tokio",
"tower-layer",
"tower-service",
"tracing",
2022-04-24 20:08:25 +03:00
]
[[package]]
name = "tower-http"
2022-11-01 23:15:58 +03:00
version = "0.3.5"
2022-04-24 20:08:25 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-11-01 23:15:58 +03:00
checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
2022-04-24 20:08:25 +03:00
dependencies = [
2023-07-07 21:24:29 +03:00
"bitflags 1.3.2",
"bytes 1.7.1",
2022-04-24 20:08:25 +03:00
"futures-core",
"futures-util",
"http 0.2.12",
"http-body 0.4.6",
2022-04-24 20:08:25 +03:00
"http-range-header",
"pin-project-lite",
2022-04-24 20:08:25 +03:00
"tower-layer",
"tower-service",
]
[[package]]
name = "tower-http"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
dependencies = [
"bitflags 2.6.0",
"bytes 1.7.1",
"futures-core",
"futures-util",
"http 0.2.12",
"http-body 0.4.6",
"http-range-header",
"pin-project-lite",
"tower-layer",
"tower-service",
"tracing",
]
2022-04-24 20:08:25 +03:00
[[package]]
name = "tower-layer"
version = "0.3.3"
2022-04-24 20:08:25 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
2022-04-24 20:08:25 +03:00
[[package]]
name = "tower-service"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
"log",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "tracing-core"
version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [
2022-06-02 11:51:27 +03:00
"once_cell",
"valuable",
]
[[package]]
name = "tracing-futures"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
dependencies = [
"pin-project",
"tracing",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-serde"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
dependencies = [
"serde",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
dependencies = [
"matchers",
2022-10-13 01:39:04 +03:00
"nu-ansi-term",
2022-06-02 11:51:27 +03:00
"once_cell",
"regex",
"serde",
"serde_json",
"sharded-slab",
"smallvec",
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
"tracing-serde",
]
[[package]]
name = "tree-sitter"
version = "0.22.6"
source = "git+https://github.com/tree-sitter/tree-sitter?rev=7f4a57817d58a2f134fe863674acad6bbf007228#7f4a57817d58a2f134fe863674acad6bbf007228"
dependencies = [
"cc",
"regex",
"tree-sitter-language",
"wasmtime-c-api-impl",
]
2023-07-13 18:56:53 +03:00
[[package]]
name = "tree-sitter-bash"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5244703ad2e08a616d859a0557d7aa290adcd5e0990188a692e628ffe9dce40"
2023-07-13 18:56:53 +03:00
dependencies = [
"cc",
"tree-sitter",
]
2022-02-22 20:07:28 +03:00
[[package]]
name = "tree-sitter-c"
version = "0.21.4"
2022-02-22 20:07:28 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f956d5351d62652864a4ff3ae861747e7a1940dc96c9998ae400ac0d3ce30427"
2022-02-22 20:07:28 +03:00
dependencies = [
"cc",
"tree-sitter",
]
2022-06-03 11:44:42 +03:00
[[package]]
name = "tree-sitter-cpp"
version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d509a22a992790d38f2c291961ff8a1ff016c437c7ec6befc9220b8eec8918c"
2022-06-03 11:44:42 +03:00
dependencies = [
"cc",
"tree-sitter",
]
2022-08-31 21:53:52 +03:00
[[package]]
name = "tree-sitter-css"
version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e08e324b1cf60fd3291774b49724c66de2ce8fcf4d358d0b4b82e37b41b1c9b"
2022-08-31 21:53:52 +03:00
dependencies = [
"cc",
"tree-sitter",
]
2022-08-19 13:05:08 +03:00
[[package]]
name = "tree-sitter-elixir"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df94bf7f057768b1cab2ee1f14812ed4ae33f9e04d09254043eeaa797db4ef70"
2022-08-19 13:05:08 +03:00
dependencies = [
"cc",
"tree-sitter",
]
2022-11-04 02:02:29 +03:00
[[package]]
name = "tree-sitter-embedded-template"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33817ade928c73a32d4f904a602321e09de9fc24b71d106f3b4b3f8ab30dcc38"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-go"
Update Rust crate tree-sitter-go to v0.21.2 (#16641) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tree-sitter-go](https://togithub.com/tree-sitter/tree-sitter-go) | workspace.dependencies | patch | `0.21.0` -> `0.21.2` | --- ### Release Notes <details> <summary>tree-sitter/tree-sitter-go (tree-sitter-go)</summary> ### [`v0.21.2`](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.1...v0.21.2) [Compare Source](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.1...v0.21.2) ### [`v0.21.1`](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.0...v0.21.1) [Compare Source](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.0...v0.21.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 17:49:34 +03:00
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate tree-sitter-go to v0.21.2 (#16641) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tree-sitter-go](https://togithub.com/tree-sitter/tree-sitter-go) | workspace.dependencies | patch | `0.21.0` -> `0.21.2` | --- ### Release Notes <details> <summary>tree-sitter/tree-sitter-go (tree-sitter-go)</summary> ### [`v0.21.2`](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.1...v0.21.2) [Compare Source](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.1...v0.21.2) ### [`v0.21.1`](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.0...v0.21.1) [Compare Source](https://togithub.com/tree-sitter/tree-sitter-go/compare/v0.21.0...v0.21.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 17:49:34 +03:00
checksum = "b8d702a98d3c7e70e466456e58ff2b1ac550bf1e29b97e5770676d2fdabec00d"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-gomod"
version = "1.0.2"
source = "git+https://github.com/camdencheek/tree-sitter-go-mod?rev=1f55029bacd0a6a11f6eb894c4312d429dcf735c#1f55029bacd0a6a11f6eb894c4312d429dcf735c"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-gowork"
version = "0.0.1"
source = "git+https://github.com/d1y/tree-sitter-go-work?rev=dcbabff454703c3a4bc98a23cf8778d4be46fd22#dcbabff454703c3a4bc98a23cf8778d4be46fd22"
dependencies = [
"cc",
"tree-sitter",
]
2023-06-13 02:29:59 +03:00
[[package]]
name = "tree-sitter-heex"
version = "0.0.1"
source = "git+https://github.com/phoenixframework/tree-sitter-heex?rev=6dd0303acf7138dd2b9b432a229e16539581c701#6dd0303acf7138dd2b9b432a229e16539581c701"
2023-06-13 02:29:59 +03:00
dependencies = [
"cc",
"tree-sitter",
]
2022-07-22 13:25:07 +03:00
[[package]]
name = "tree-sitter-html"
version = "0.20.4"
2022-07-22 13:25:07 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8766b5ad3721517f8259e6394aefda9c686aebf7a8c74ab8624f2c3b46902fd5"
2022-07-22 13:25:07 +03:00
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-jsdoc"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d07920101ff12a59574890318a37fa7e18d9c06d9aa4be334aa24adbb480f18"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-json"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b737dcb73c35d74b7d64a5f3dde158113c86a012bf3cee2bfdf2150d23b05db"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-language"
version = "0.1.0"
source = "git+https://github.com/tree-sitter/tree-sitter?rev=7f4a57817d58a2f134fe863674acad6bbf007228#7f4a57817d58a2f134fe863674acad6bbf007228"
[[package]]
name = "tree-sitter-md"
version = "0.2.3"
source = "git+https://github.com/zed-industries/tree-sitter-markdown?rev=e3855e37f8f2c71aa7513c18a9c95fb7461b1b10#e3855e37f8f2c71aa7513c18a9c95fb7461b1b10"
dependencies = [
"cc",
"tree-sitter",
]
2022-06-22 03:04:54 +03:00
[[package]]
name = "tree-sitter-python"
version = "0.21.0"
2022-06-22 03:04:54 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4066c6cf678f962f8c2c4561f205945c84834cce73d981e71392624fdc390a9"
2022-06-22 03:04:54 +03:00
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-regex"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ff1286fe9651b2797484839ffa37aa76c8618d4ccb6836d7e31765dfd60c0d5"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-ruby"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0031f687c0772f2dad7b77104c43428611099a1804c81244ada21560f41f0b1"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-rust"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "277690f420bf90741dea984f3da038ace46c4fe6047cba57a66822226cde1c93"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-typescript"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecb35d98a688378e56c18c9c159824fd16f730ccbea19aacf4f206e5d5438ed9"
dependencies = [
"cc",
"tree-sitter",
]
2023-02-07 12:00:50 +03:00
[[package]]
name = "tree-sitter-yaml"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aad27ec46ad343d8b514f64dd3fdffb478c592ece561b6c935d90ef55589c6b6"
2023-02-07 12:00:50 +03:00
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "try-lock"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
[[package]]
name = "ttf-parser"
version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8"
[[package]]
name = "tungstenite"
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
dependencies = [
"byteorder",
"bytes 1.7.1",
"data-encoding",
"http 0.2.12",
"httparse",
"log",
"native-tls",
"rand 0.8.5",
"sha1",
"thiserror",
"url",
"utf-8",
]
[[package]]
name = "tungstenite"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
dependencies = [
"byteorder",
"bytes 1.7.1",
"data-encoding",
"http 1.1.0",
"httparse",
"log",
"rand 0.8.5",
"sha1",
"thiserror",
"url",
"utf-8",
]
[[package]]
name = "typeid"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e"
[[package]]
name = "typenum"
2023-09-19 18:44:51 +03:00
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-19 18:44:51 +03:00
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
[[package]]
name = "ucd-trie"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
[[package]]
name = "uds_windows"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
dependencies = [
"memoffset",
"tempfile",
"winapi",
]
2023-10-07 17:56:21 +03:00
[[package]]
name = "ui"
2023-10-07 17:56:21 +03:00
version = "0.1.0"
dependencies = [
"chrono",
"gpui",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"menu",
"serde",
"settings",
2023-10-07 17:56:21 +03:00
"smallvec",
"story",
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
"strum 0.25.0",
"theme",
"windows 0.58.0",
2023-10-07 17:56:21 +03:00
]
[[package]]
name = "ui_input"
version = "0.1.0"
dependencies = [
"editor",
"gpui",
"settings",
"theme",
"ui",
]
[[package]]
name = "unicase"
2023-08-23 23:31:39 +03:00
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-23 23:31:39 +03:00
checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
dependencies = [
"version_check",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "unicode-bidi"
version = "0.3.15"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
2021-04-06 14:44:38 +03:00
[[package]]
name = "unicode-bidi-mirroring"
version = "0.2.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86"
2021-04-06 14:44:38 +03:00
[[package]]
name = "unicode-ccc"
version = "0.2.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656"
2021-04-06 14:44:38 +03:00
[[package]]
name = "unicode-ident"
2023-09-15 16:31:33 +03:00
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-15 16:31:33 +03:00
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-linebreak"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
[[package]]
name = "unicode-normalization"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-properties"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524"
2021-04-06 14:44:38 +03:00
[[package]]
name = "unicode-script"
version = "0.5.6"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
2021-04-06 14:44:38 +03:00
[[package]]
name = "unicode-segmentation"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
2021-02-21 02:05:36 +03:00
[[package]]
name = "unicode-width"
version = "0.1.13"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
2021-02-21 02:05:36 +03:00
[[package]]
name = "unicode-xid"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a"
[[package]]
name = "unicode_categories"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
[[package]]
name = "unindent"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
[[package]]
name = "untrusted"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
Update Rust crate heed to v0.20.3 (#15169) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.1` -> `0.20.3` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.3`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.3): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.2...v0.20.3) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Update dependencies by @&#8203;irevoi[https://github.com/meilisearch/heed/pull/265](https://togithub.com/meilisearch/heed/pull/265)ll/265 ### [`v0.20.2`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.2): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.1...v0.20.2) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Introduce the `longer-keys` feature which sets `-DMDB_MAXKEYSIZE=0` by @&#8203;tpund[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 * Bump the internal LMDB version to v0.9.33 by @&#8203;Kerollmo[https://github.com/meilisearch/heed/pull/264](https://togithub.com/meilisearch/heed/pull/264)ll/264 ##### New Contributors * @&#8203;tpunder made their first contributi[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:55:15 +03:00
version = "2.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate heed to v0.20.3 (#15169) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies | patch | `0.20.1` -> `0.20.3` | --- ### Release Notes <details> <summary>Kerollmops/heed (heed)</summary> ### [`v0.20.3`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.3): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.2...v0.20.3) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Update dependencies by @&#8203;irevoi[https://github.com/meilisearch/heed/pull/265](https://togithub.com/meilisearch/heed/pull/265)ll/265 ### [`v0.20.2`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.2): 🛁 [Compare Source](https://togithub.com/Kerollmops/heed/compare/v0.20.1...v0.20.2) <p align="center"><img width="280px" src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p> <h1 align="center" >heed</h1> ##### What's Changed * Introduce the `longer-keys` feature which sets `-DMDB_MAXKEYSIZE=0` by @&#8203;tpund[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 * Bump the internal LMDB version to v0.9.33 by @&#8203;Kerollmo[https://github.com/meilisearch/heed/pull/264](https://togithub.com/meilisearch/heed/pull/264)ll/264 ##### New Contributors * @&#8203;tpunder made their first contributi[https://github.com/meilisearch/heed/pull/263](https://togithub.com/meilisearch/heed/pull/263)ll/263 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:55:15 +03:00
checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
dependencies = [
"form_urlencoded",
"idna",
"percent-encoding",
"serde",
]
[[package]]
name = "urlencoding"
2023-07-26 16:50:38 +03:00
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-26 16:50:38 +03:00
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
2021-04-06 14:44:38 +03:00
[[package]]
name = "usvg"
version = "0.41.0"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c704361d822337cfc00387672c7b59eaa72a1f0744f62b2a68aa228a0c6927d"
2021-04-06 14:44:38 +03:00
dependencies = [
"base64 0.22.1",
2021-04-06 14:44:38 +03:00
"data-url",
"flate2",
"imagesize",
"kurbo",
2021-04-06 14:44:38 +03:00
"log",
"pico-args",
"roxmltree 0.19.0",
2021-04-06 14:44:38 +03:00
"simplecss",
"siphasher 1.0.1",
"strict-num",
2021-04-06 14:44:38 +03:00
"svgtypes",
"tiny-skia-path",
2021-04-06 14:44:38 +03:00
"xmlwriter",
]
[[package]]
name = "utf-8"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
[[package]]
name = "utf8parse"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "util"
version = "0.1.0"
dependencies = [
"anyhow",
"async-fs 1.6.0",
"collections",
"dirs 4.0.0",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"futures-lite 1.13.0",
2022-09-26 17:59:51 +03:00
"git2",
2023-11-01 12:53:00 +03:00
"globset",
"log",
"rand 0.8.5",
"regex",
2023-06-06 21:46:46 +03:00
"rust-embed",
"serde",
"serde_json",
2023-05-11 22:01:42 +03:00
"take-until",
2024-01-24 20:58:09 +03:00
"tempfile",
"tendril",
"unicase",
]
[[package]]
name = "uuid"
Update Rust crate uuid to v1.10.0 (#15348) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [uuid](https://togithub.com/uuid-rs/uuid) | workspace.dependencies | minor | `1.8.0` -> `1.10.0` | --- ### Release Notes <details> <summary>uuid-rs/uuid (uuid)</summary> ### [`v1.10.0`](https://togithub.com/uuid-rs/uuid/releases/tag/1.10.0) [Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.9.1...1.10.0) #### Deprecations This release deprecates and renames the following functions: - `Builder::from_rfc4122_timestamp` -> `Builder::from_gregorian_timestamp` - `Builder::from_sorted_rfc4122_timestamp` -> `Builder::from_sorted_gregorian_timestamp` - `Timestamp::from_rfc4122` -> `Timestamp::from_gregorian` - `Timestamp::to_rfc4122` -> `Timestamp::to_gregorian` #### What's Changed - Use const identifier in uuid macro by [@&#8203;Vrajs16](https://togithub.com/Vrajs16) in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764) - Rename most methods referring to RFC4122 by [@&#8203;Mikopet](https://togithub.com/Mikopet) / [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/765](https://togithub.com/uuid-rs/uuid/pull/765) - prepare for 1.10.0 release by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/766](https://togithub.com/uuid-rs/uuid/pull/766) #### New Contributors - [@&#8203;Vrajs16](https://togithub.com/Vrajs16) made their first contribution in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764) **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0 ### [`v1.9.1`](https://togithub.com/uuid-rs/uuid/releases/tag/1.9.1) [Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.9.0...1.9.1) #### What's Changed - Add an example of generating bulk v7 UUIDs by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/761](https://togithub.com/uuid-rs/uuid/pull/761) - Avoid taking the shared lock when getting usable bits in Uuid::now_v7 by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/762](https://togithub.com/uuid-rs/uuid/pull/762) - Prepare for 1.9.1 release by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/763](https://togithub.com/uuid-rs/uuid/pull/763) **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.0...1.9.1 ### [`v1.9.0`](https://togithub.com/uuid-rs/uuid/releases/tag/1.9.0) [Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.8.0...1.9.0) #### `Uuid::now_v7()` is guaranteed to be monotonic Before this release, `Uuid::now_v7()` would only use the millisecond-precision timestamp for ordering. It now also uses a global 42-bit counter that's re-initialized each millisecond so that the following will always pass: ```rust let a = Uuid::now_v7(); let b = Uuid::now_v7(); assert!(a < b); ``` #### What's Changed - Add a get_node_id method for v1 and v6 UUIDs by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/748](https://togithub.com/uuid-rs/uuid/pull/748) - Update atomic and zerocopy to latest by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/750](https://togithub.com/uuid-rs/uuid/pull/750) - Add repository field to uuid-macro-internal crate by [@&#8203;paolobarbolini](https://togithub.com/paolobarbolini) in [https://github.com/uuid-rs/uuid/pull/752](https://togithub.com/uuid-rs/uuid/pull/752) - update docs to updated RFC (from 4122 to 9562) by [@&#8203;Mikopet](https://togithub.com/Mikopet) in [https://github.com/uuid-rs/uuid/pull/753](https://togithub.com/uuid-rs/uuid/pull/753) - Support counters in v7 UUIDs by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/755](https://togithub.com/uuid-rs/uuid/pull/755) #### New Contributors - [@&#8203;paolobarbolini](https://togithub.com/paolobarbolini) made their first contribution in [https://github.com/uuid-rs/uuid/pull/752](https://togithub.com/uuid-rs/uuid/pull/752) - [@&#8203;Mikopet](https://togithub.com/Mikopet) made their first contribution in [https://github.com/uuid-rs/uuid/pull/753](https://togithub.com/uuid-rs/uuid/pull/753) **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.8.0...1.9.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 21:19:34 +03:00
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate uuid to v1.10.0 (#15348) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [uuid](https://togithub.com/uuid-rs/uuid) | workspace.dependencies | minor | `1.8.0` -> `1.10.0` | --- ### Release Notes <details> <summary>uuid-rs/uuid (uuid)</summary> ### [`v1.10.0`](https://togithub.com/uuid-rs/uuid/releases/tag/1.10.0) [Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.9.1...1.10.0) #### Deprecations This release deprecates and renames the following functions: - `Builder::from_rfc4122_timestamp` -> `Builder::from_gregorian_timestamp` - `Builder::from_sorted_rfc4122_timestamp` -> `Builder::from_sorted_gregorian_timestamp` - `Timestamp::from_rfc4122` -> `Timestamp::from_gregorian` - `Timestamp::to_rfc4122` -> `Timestamp::to_gregorian` #### What's Changed - Use const identifier in uuid macro by [@&#8203;Vrajs16](https://togithub.com/Vrajs16) in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764) - Rename most methods referring to RFC4122 by [@&#8203;Mikopet](https://togithub.com/Mikopet) / [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/765](https://togithub.com/uuid-rs/uuid/pull/765) - prepare for 1.10.0 release by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/766](https://togithub.com/uuid-rs/uuid/pull/766) #### New Contributors - [@&#8203;Vrajs16](https://togithub.com/Vrajs16) made their first contribution in [https://github.com/uuid-rs/uuid/pull/764](https://togithub.com/uuid-rs/uuid/pull/764) **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0 ### [`v1.9.1`](https://togithub.com/uuid-rs/uuid/releases/tag/1.9.1) [Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.9.0...1.9.1) #### What's Changed - Add an example of generating bulk v7 UUIDs by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/761](https://togithub.com/uuid-rs/uuid/pull/761) - Avoid taking the shared lock when getting usable bits in Uuid::now_v7 by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/762](https://togithub.com/uuid-rs/uuid/pull/762) - Prepare for 1.9.1 release by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/763](https://togithub.com/uuid-rs/uuid/pull/763) **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.9.0...1.9.1 ### [`v1.9.0`](https://togithub.com/uuid-rs/uuid/releases/tag/1.9.0) [Compare Source](https://togithub.com/uuid-rs/uuid/compare/1.8.0...1.9.0) #### `Uuid::now_v7()` is guaranteed to be monotonic Before this release, `Uuid::now_v7()` would only use the millisecond-precision timestamp for ordering. It now also uses a global 42-bit counter that's re-initialized each millisecond so that the following will always pass: ```rust let a = Uuid::now_v7(); let b = Uuid::now_v7(); assert!(a < b); ``` #### What's Changed - Add a get_node_id method for v1 and v6 UUIDs by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/748](https://togithub.com/uuid-rs/uuid/pull/748) - Update atomic and zerocopy to latest by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/750](https://togithub.com/uuid-rs/uuid/pull/750) - Add repository field to uuid-macro-internal crate by [@&#8203;paolobarbolini](https://togithub.com/paolobarbolini) in [https://github.com/uuid-rs/uuid/pull/752](https://togithub.com/uuid-rs/uuid/pull/752) - update docs to updated RFC (from 4122 to 9562) by [@&#8203;Mikopet](https://togithub.com/Mikopet) in [https://github.com/uuid-rs/uuid/pull/753](https://togithub.com/uuid-rs/uuid/pull/753) - Support counters in v7 UUIDs by [@&#8203;KodrAus](https://togithub.com/KodrAus) in [https://github.com/uuid-rs/uuid/pull/755](https://togithub.com/uuid-rs/uuid/pull/755) #### New Contributors - [@&#8203;paolobarbolini](https://togithub.com/paolobarbolini) made their first contribution in [https://github.com/uuid-rs/uuid/pull/752](https://togithub.com/uuid-rs/uuid/pull/752) - [@&#8203;Mikopet](https://togithub.com/Mikopet) made their first contribution in [https://github.com/uuid-rs/uuid/pull/753](https://togithub.com/uuid-rs/uuid/pull/753) **Full Changelog**: https://github.com/uuid-rs/uuid/compare/1.8.0...1.9.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-27 21:19:34 +03:00
checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
dependencies = [
"getrandom 0.2.15",
"serde",
"sha1_smol",
]
[[package]]
name = "v_frame"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b"
dependencies = [
"aligned-vec",
"num-traits",
"wasm-bindgen",
]
[[package]]
name = "valuable"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "value-bag"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101"
2023-07-07 21:24:29 +03:00
dependencies = [
"value-bag-serde1",
"value-bag-sval2",
]
[[package]]
name = "value-bag-serde1"
version = "1.9.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccacf50c5cb077a9abb723c5bcb5e0754c1a433f1e1de89edc328e2760b6328b"
dependencies = [
"erased-serde",
"serde",
"serde_fmt",
2023-07-07 21:24:29 +03:00
]
[[package]]
name = "value-bag-sval2"
version = "1.9.0"
2023-07-07 21:24:29 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1785bae486022dfb9703915d42287dcb284c1ee37bd1080eeba78cc04721285b"
2023-07-07 21:24:29 +03:00
dependencies = [
"sval",
2023-07-07 21:24:29 +03:00
"sval_buffer",
"sval_dynamic",
"sval_fmt",
"sval_json",
"sval_ref",
"sval_serde",
]
[[package]]
name = "vcpkg"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "vcs_menu"
version = "0.1.0"
dependencies = [
"anyhow",
"fuzzy",
"git",
"gpui",
"picker",
"ui",
"util",
"workspace",
]
[[package]]
name = "version-compare"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
2021-02-21 02:05:36 +03:00
[[package]]
name = "version_check"
version = "0.9.5"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
2021-02-21 02:05:36 +03:00
[[package]]
name = "vim"
version = "0.1.0"
dependencies = [
"anyhow",
"async-compat",
"async-trait",
"collections",
"command_palette",
"command_palette_hooks",
"editor",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"gpui",
"indoc",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"language",
"log",
"lsp",
"multi_buffer",
"nvim-rs",
"parking_lot",
"regex",
"release_channel",
"schemars",
"search",
"serde",
"serde_derive",
"serde_json",
"settings",
"tokio",
"ui",
"util",
"workspace",
"zed_actions",
]
[[package]]
name = "vscode_theme"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b3666211944f2e6ba2c359bc9efc1891157e910b1b11c3900892ea9f18179d2"
dependencies = [
"serde",
]
[[package]]
name = "vsimd"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"
[[package]]
name = "vswhom"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
dependencies = [
"libc",
"vswhom-sys",
]
[[package]]
name = "vswhom-sys"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "vte"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40eb22ae96f050e0c0d6f7ce43feeae26c348fc4dea56928ca81537cfaa6188b"
dependencies = [
"bitflags 2.6.0",
"cursor-icon",
2023-07-27 19:19:07 +03:00
"log",
"serde",
"utf8parse",
"vte_generate_state_changes",
]
[[package]]
name = "vte_generate_state_changes"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e369bee1b05d510a7b4ed645f5faa90619e05437111783ea5848f28d97d3c2e"
dependencies = [
"proc-macro2",
"quote",
]
[[package]]
name = "waker-fn"
Update Rust crate waker-fn to v1.2.0 (#15289) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [waker-fn](https://togithub.com/smol-rs/waker-fn) | dependencies | minor | `1.1.0` -> `1.2.0` | --- ### Release Notes <details> <summary>smol-rs/waker-fn (waker-fn)</summary> ### [`v1.2.0`](https://togithub.com/smol-rs/waker-fn/blob/HEAD/CHANGELOG.md#Version-120) [Compare Source](https://togithub.com/smol-rs/waker-fn/compare/v1.1.1...v1.2.0) - Add a new `portable-atomic` feature that allows for the usage of the `portable-atomic` crate to implement `waker-fn`. ([#&#8203;10](https://togithub.com/smol-rs/waker-fn/issues/10)) ### [`v1.1.1`](https://togithub.com/smol-rs/waker-fn/blob/HEAD/CHANGELOG.md#Version-111) [Compare Source](https://togithub.com/smol-rs/waker-fn/compare/v1.1.0...v1.1.1) - Reimplement using 100% safe code. ([#&#8203;7](https://togithub.com/smol-rs/waker-fn/issues/7)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-26 20:05:29 +03:00
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate waker-fn to v1.2.0 (#15289) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [waker-fn](https://togithub.com/smol-rs/waker-fn) | dependencies | minor | `1.1.0` -> `1.2.0` | --- ### Release Notes <details> <summary>smol-rs/waker-fn (waker-fn)</summary> ### [`v1.2.0`](https://togithub.com/smol-rs/waker-fn/blob/HEAD/CHANGELOG.md#Version-120) [Compare Source](https://togithub.com/smol-rs/waker-fn/compare/v1.1.1...v1.2.0) - Add a new `portable-atomic` feature that allows for the usage of the `portable-atomic` crate to implement `waker-fn`. ([#&#8203;10](https://togithub.com/smol-rs/waker-fn/issues/10)) ### [`v1.1.1`](https://togithub.com/smol-rs/waker-fn/blob/HEAD/CHANGELOG.md#Version-111) [Compare Source](https://togithub.com/smol-rs/waker-fn/compare/v1.1.0...v1.1.1) - Reimplement using 100% safe code. ([#&#8203;7](https://togithub.com/smol-rs/waker-fn/issues/7)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-26 20:05:29 +03:00
checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7"
2021-03-10 07:00:51 +03:00
[[package]]
name = "walkdir"
version = "2.5.0"
2021-03-10 07:00:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
2021-03-10 07:00:51 +03:00
dependencies = [
"same-file",
"winapi-util",
]
[[package]]
name = "want"
2023-07-07 21:24:29 +03:00
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-07-07 21:24:29 +03:00
checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
dependencies = [
"try-lock",
]
[[package]]
name = "warp"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c"
dependencies = [
"bytes 1.7.1",
"futures-channel",
"futures-util",
"headers",
"http 0.2.12",
"hyper",
"log",
"mime",
"mime_guess",
"percent-encoding",
"pin-project",
"scoped-tls",
"serde",
"serde_json",
"serde_urlencoded",
"tokio",
"tokio-tungstenite 0.21.0",
"tokio-util",
"tower-service",
"tracing",
]
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasite"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
[[package]]
name = "wasm-bindgen"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
dependencies = [
"cfg-if",
"once_cell",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
dependencies = [
"bumpalo",
"log",
2022-10-13 01:39:04 +03:00
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.76",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed"
dependencies = [
"cfg-if",
"js-sys",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.93"
2022-06-02 11:51:27 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
2022-06-02 11:51:27 +03:00
[[package]]
name = "wasm-encoder"
version = "0.201.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9c7d2731df60006819b013f64ccc2019691deccf6e11a1804bc850cd6748f1a"
dependencies = [
"leb128",
]
[[package]]
name = "wasm-encoder"
version = "0.207.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d996306fb3aeaee0d9157adbe2f670df0236caf19f6728b221e92d0f27b3fe17"
dependencies = [
"leb128",
]
[[package]]
name = "wasm-metadata"
version = "0.201.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fd83062c17b9f4985d438603cde0a5e8c5c8198201a6937f778b607924c7da2"
dependencies = [
"anyhow",
"indexmap 2.4.0",
"serde",
"serde_derive",
"serde_json",
"spdx",
"wasm-encoder 0.201.0",
"wasmparser 0.201.0",
]
[[package]]
name = "wasmparser"
version = "0.201.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708"
dependencies = [
"bitflags 2.6.0",
"indexmap 2.4.0",
"semver",
]
[[package]]
name = "wasmparser"
version = "0.207.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e19bb9f8ab07616da582ef8adb24c54f1424c7ec876720b7da9db8ec0626c92c"
dependencies = [
"ahash 0.8.11",
"bitflags 2.6.0",
"hashbrown 0.14.5",
"indexmap 2.4.0",
"semver",
]
[[package]]
name = "wasmprinter"
version = "0.207.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c2d8a7b4dabb460208e6b4334d9db5766e84505038b2529e69c3d07ac619115"
dependencies = [
"anyhow",
"wasmparser 0.207.0",
]
[[package]]
name = "wasmtime"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f92a1370c66a0022e6d92dcc277e2c84f5dece19569670b8ce7db8162560d8b6"
dependencies = [
"anyhow",
"async-trait",
"bumpalo",
"cc",
"cfg-if",
"encoding_rs",
"hashbrown 0.14.5",
"indexmap 2.4.0",
"libc",
"libm",
"log",
"mach2",
"memfd",
"memoffset",
"object 0.33.0",
"once_cell",
"paste",
"postcard",
"psm",
"rustix 0.38.35",
"semver",
"serde",
"serde_derive",
"smallvec",
"sptr",
"target-lexicon",
"wasmparser 0.207.0",
"wasmtime-asm-macros",
"wasmtime-component-macro",
"wasmtime-component-util",
"wasmtime-cranelift",
"wasmtime-environ",
"wasmtime-fiber",
"wasmtime-jit-icache-coherence",
"wasmtime-slab",
"wasmtime-versioned-export-macros",
"wasmtime-winch",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-asm-macros"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6dee8679c974a7f258c03d60d3c747c426ed219945b6d08cbc77fd2eab15b2d1"
dependencies = [
"cfg-if",
]
[[package]]
name = "wasmtime-c-api-impl"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76af8b62c8d2814b7d5975c5dc140122e4c086150db6c15d25a4b76f11c929dd"
dependencies = [
"anyhow",
"log",
"once_cell",
"tracing",
"wasmtime",
"wasmtime-c-api-macros",
]
[[package]]
name = "wasmtime-c-api-macros"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d74b92f917c9ced9c6262a00e9cb982ebac183e6900b4d44e2480f936b9495eb"
dependencies = [
"proc-macro2",
"quote",
]
[[package]]
name = "wasmtime-component-macro"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32cae30035f1cf97dcc6657c979cf39f99ce6be93583675eddf4aeaa5548509c"
dependencies = [
"anyhow",
"proc-macro2",
"quote",
"syn 2.0.76",
"wasmtime-component-util",
"wasmtime-wit-bindgen",
"wit-parser 0.207.0",
]
[[package]]
name = "wasmtime-component-util"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7ae611f08cea620c67330925be28a96115bf01f8f393a6cbdf4856a86087134"
[[package]]
name = "wasmtime-cranelift"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2909406a6007e28be964067167890bca4574bd48a9ff18f1fa9f4856d89ea40"
dependencies = [
"anyhow",
"cfg-if",
"cranelift-codegen",
"cranelift-control",
"cranelift-entity",
"cranelift-frontend",
"cranelift-native",
"cranelift-wasm",
"gimli 0.28.1",
"log",
"object 0.33.0",
"target-lexicon",
"thiserror",
"wasmparser 0.207.0",
"wasmtime-environ",
"wasmtime-versioned-export-macros",
]
[[package]]
name = "wasmtime-environ"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40e227f9ed2f5421473723d6c0352b5986e6e6044fde5410a274a394d726108f"
dependencies = [
"anyhow",
"cpp_demangle",
"cranelift-entity",
"gimli 0.28.1",
"indexmap 2.4.0",
"log",
"object 0.33.0",
"postcard",
"rustc-demangle",
"serde",
"serde_derive",
"target-lexicon",
"wasm-encoder 0.207.0",
"wasmparser 0.207.0",
"wasmprinter",
"wasmtime-component-util",
"wasmtime-types",
]
[[package]]
name = "wasmtime-fiber"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42edb392586d07038c1638e854382db916b6ca7845a2e6a7f8dc49e08907acdd"
dependencies = [
"anyhow",
"cc",
"cfg-if",
"rustix 0.38.35",
"wasmtime-asm-macros",
"wasmtime-versioned-export-macros",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-jit-icache-coherence"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afe088f9b56bb353adaf837bf7e10f1c2e1676719dd5be4cac8e37f2ba1ee5bc"
dependencies = [
"anyhow",
"cfg-if",
"libc",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-slab"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ff75cafffe47b04b036385ce3710f209153525b0ed19d57b0cf44a22d446460"
[[package]]
name = "wasmtime-types"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f2fa462bfea3220711c84e2b549f147e4df89eeb49b8a2a3d89148f6cc4a8b1"
dependencies = [
"cranelift-entity",
"serde",
"serde_derive",
"smallvec",
"wasmparser 0.207.0",
]
[[package]]
name = "wasmtime-versioned-export-macros"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4cedc5bfef3db2a85522ee38564b47ef3b7fc7c92e94cacbce99808e63cdd47"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "wasmtime-wasi"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdbbe94245904d4c96c7c5f7b55bad896cc27908644efd9442063c0748b631fc"
dependencies = [
"anyhow",
"async-trait",
"bitflags 2.6.0",
"bytes 1.7.1",
"cap-fs-ext",
"cap-net-ext",
"cap-rand",
"cap-std",
"cap-time-ext",
"fs-set-times",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"io-extras",
"io-lifetimes 2.0.3",
"once_cell",
"rustix 0.38.35",
"system-interface",
"thiserror",
"tokio",
"tracing",
"url",
"wasmtime",
"wiggle",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-winch"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97b27054fed6be4f3800aba5766f7ef435d4220ce290788f021a08d4fa573108"
dependencies = [
"anyhow",
"cranelift-codegen",
"gimli 0.28.1",
"object 0.33.0",
"target-lexicon",
"wasmparser 0.207.0",
"wasmtime-cranelift",
"wasmtime-environ",
"winch-codegen",
]
[[package]]
name = "wasmtime-wit-bindgen"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c936a52ce69c28de2aa3b5fb4f2dbbb2966df304f04cccb7aca4ba56d915fda0"
dependencies = [
"anyhow",
"heck 0.4.1",
"indexmap 2.4.0",
"wit-parser 0.207.0",
]
[[package]]
name = "wast"
version = "35.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
dependencies = [
"leb128",
]
[[package]]
name = "wayland-backend"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f90e11ce2ca99c97b940ee83edbae9da2d56a08f9ea8158550fd77fa31722993"
dependencies = [
"cc",
"downcast-rs",
"rustix 0.38.35",
"scoped-tls",
"smallvec",
"wayland-sys",
]
[[package]]
name = "wayland-client"
version = "0.31.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943"
dependencies = [
"bitflags 2.6.0",
"rustix 0.38.35",
"wayland-backend",
"wayland-scanner",
]
[[package]]
name = "wayland-cursor"
version = "0.31.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ef9489a8df197ebf3a8ce8a7a7f0a2320035c3743f3c1bd0bdbccf07ce64f95"
dependencies = [
"rustix 0.38.35",
"wayland-client",
"xcursor",
]
[[package]]
name = "wayland-protocols"
version = "0.31.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
"wayland-client",
"wayland-scanner",
]
[[package]]
name = "wayland-protocols-plasma"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
"wayland-client",
"wayland-protocols",
"wayland-scanner",
]
[[package]]
name = "wayland-scanner"
version = "0.31.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6"
dependencies = [
"proc-macro2",
"quick-xml 0.34.0",
"quote",
]
[[package]]
name = "wayland-sys"
version = "0.31.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148"
dependencies = [
"dlib",
"log",
"once_cell",
"pkg-config",
]
[[package]]
name = "web-sys"
version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "webpki-roots"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
version = "0.25.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
Update Rust crate sqlx to 0.8 [SECURITY] (#16791) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sqlx](https://togithub.com/launchbadge/sqlx) | dev-dependencies | minor | `0.7` -> `0.8` | | [sqlx](https://togithub.com/launchbadge/sqlx) | dependencies | minor | `0.7` -> `0.8` | ### GitHub Vulnerability Alerts #### [GHSA-xmrp-424f-vfpx](https://togithub.com/launchbadge/sqlx/issues/3440) The following presentation at this year's DEF CON was brought to our attention on the SQLx Discord: > SQL Injection isn't Dead: Smuggling Queries at the Protocol Level > <http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn't%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf> > (Archive link for posterity.) Essentially, encoding a value larger than 4GiB can cause the length prefix in the protocol to overflow, causing the server to interpret the rest of the string as binary protocol commands or other data. It appears SQLx _does_ perform truncating casts in a way that could be problematic, for example: <https://github.com/launchbadge/sqlx/blob/6f2905695b9606b5f51b40ce10af63ac9e696bb8/sqlx-postgres/src/arguments.rs#L163> This code has existed essentially since the beginning, so it is reasonable to assume that all published versions `<= 0.8.0` are affected. ## Mitigation As always, you should make sure your application is validating untrustworthy user input. Reject any input over 4 GiB, or any input that could _encode_ to a string longer than 4 GiB. Dynamically built queries are also potentially problematic if it pushes the message size over this 4 GiB bound. [`Encode::size_hint()`](https://docs.rs/sqlx/latest/sqlx/trait.Encode.html#method.size_hint) can be used for sanity checks, but do not assume that the size returned is accurate. For example, the `Json<T>` and `Text<T>` adapters have no reasonable way to predict or estimate the final encoded size, so they just return `size_of::<T>()` instead. For web application backends, consider adding some middleware that limits the size of request bodies by default. ## Resolution Work has started on a branch to add `#[deny]` directives for the following Clippy lints: * [`cast_possible_truncation`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_truncation) * [`cast_possible_wrap`](https://rust-lang.github.io/rust-clippy/master/#/cast_possible_wrap) * [`cast_sign_loss`](https://rust-lang.github.io/rust-clippy/master/#/cast_sign_loss) and to manually audit the code that they flag. A fix is expected to be included in the `0.8.1` release (still WIP as of writing). --- ### Release Notes <details> <summary>launchbadge/sqlx (sqlx)</summary> ### [`v0.8.1`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#081---2024-08-23) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.8.0...v0.8.1) 16 pull requests were merged this release cycle. This release contains a fix for [RUSTSEC-2024-0363]. Postgres users are advised to upgrade ASAP as a possible exploit has been demonstrated: [#&#8203;3440 (comment)](https://togithub.com/launchbadge/sqlx/issues/3440#issuecomment-2307956901) MySQL and SQLite do not *appear* to be exploitable, but upgrading is recommended nonetheless. ##### Added - \[[#&#8203;3421]]: correct spelling of `MySqlConnectOptions::no_engine_substitution()` \[\[[@&#8203;kolinfluence](https://togithub.com/kolinfluence)]] - Deprecates `MySqlConnectOptions::no_engine_subsitution()` (oops) in favor of the correctly spelled version. ##### Changed - \[[#&#8203;3376]]: doc: hide `spec_error` module \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This is a helper module for the macros and was not meant to be exposed. - It is not expected to receive any breaking changes for the 0.8.x release, but is not designed as a public API. Use at your own risk. - \[[#&#8203;3382]]: feat: bumped to `libsqlite3-sys=0.30.1` to support sqlite 3.46 \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3385]]: chore(examples):Migrated the pg-chat example to ratatui \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3399]]: Upgrade to rustls 0.23 \[\[[@&#8203;djc](https://togithub.com/djc)]] - RusTLS now has pluggable cryptography providers: `ring` (the existing implementation), and `aws-lc-rs` which has optional FIPS certification. - The existing features activating RusTLS (`runtime-tokio-rustls`, `runtime-async-std-rustls`, `tls-rustls`) enable the `ring` provider of RusTLS to match the existing behavior so this *should not* be a breaking change. - Switch to the `tls-rustls-aws-lc-rs` feature to use the `aws-lc-rs` provider. - If using `runtime-tokio-rustls` or `runtime-async-std-rustls`, this will necessitate switching to the appropriate non-legacy runtime feature: `runtime-tokio` or `runtime-async-std` - See the RusTLS README for more details: <https://github.com/rustls/rustls?tab=readme-ov-file#cryptography-providers> ##### Fixed - \[[#&#8203;2786]]: fix(sqlx-cli): do not clean sqlx during prepare \[\[[@&#8203;cycraig](https://togithub.com/cycraig)]] - \[[#&#8203;3354]]: sqlite: fix inconsistent read-after-write \[\[[@&#8203;ckampfe](https://togithub.com/ckampfe)]] - \[[#&#8203;3371]]: Fix encoding and decoding of MySQL enums in `sqlx::Type` \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;3374]]: fix: usage of `node12` in `SQLx` action \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3380]]: chore: replace structopt with clap in examples \[\[[@&#8203;tottoto](https://togithub.com/tottoto)]] - \[[#&#8203;3381]]: Fix CI after Rust 1.80, remove dead feature references \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3384]]: chore(tests): fixed deprecation warnings \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3386]]: fix(dependencys):bumped cargo_metadata to `v0.18.1` to avoid yanked `v0.14.3` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3389]]: fix(cli): typo in error for required DB URL \[\[[@&#8203;ods](https://togithub.com/ods)]] - \[[#&#8203;3417]]: Update version to 0.8 in README \[\[[@&#8203;soucosmo](https://togithub.com/soucosmo)]] - \[[#&#8203;3441]]: fix: audit protocol handling \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This addresses [RUSTSEC-2024-0363] and includes regression tests for MySQL, Postgres and SQLite. [#&#8203;2786]: https://togithub.com/launchbadge/sqlx/pull/2786 [#&#8203;3354]: https://togithub.com/launchbadge/sqlx/pull/3354 [#&#8203;3371]: https://togithub.com/launchbadge/sqlx/pull/3371 [#&#8203;3374]: https://togithub.com/launchbadge/sqlx/pull/3374 [#&#8203;3376]: https://togithub.com/launchbadge/sqlx/pull/3376 [#&#8203;3380]: https://togithub.com/launchbadge/sqlx/pull/3380 [#&#8203;3381]: https://togithub.com/launchbadge/sqlx/pull/3381 [#&#8203;3382]: https://togithub.com/launchbadge/sqlx/pull/3382 [#&#8203;3384]: https://togithub.com/launchbadge/sqlx/pull/3384 [#&#8203;3385]: https://togithub.com/launchbadge/sqlx/pull/3385 [#&#8203;3386]: https://togithub.com/launchbadge/sqlx/pull/3386 [#&#8203;3389]: https://togithub.com/launchbadge/sqlx/pull/3389 [#&#8203;3399]: https://togithub.com/launchbadge/sqlx/pull/3399 [#&#8203;3417]: https://togithub.com/launchbadge/sqlx/pull/3417 [#&#8203;3421]: https://togithub.com/launchbadge/sqlx/pull/3421 [#&#8203;3441]: https://togithub.com/launchbadge/sqlx/pull/3441 [RUSTSEC-2024-0363]: https://rustsec.org/advisories/RUSTSEC-2024-0363.html ### [`v0.8.0`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#080---2024-07-22) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.4...v0.8.0) 70 pull requests were merged this release cycle. [#&#8203;2697] was merged the same day as release 0.7.4 and so was missed by the automatic CHANGELOG generation. ##### Breaking - \[[#&#8203;2697]]: fix(macros): only enable chrono when time is disabled \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2973]]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement \[\[[@&#8203;nitn3lav](https://togithub.com/nitn3lav)]] - \[[#&#8203;2482]]: chore: bump syn to 2.0 \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - Deprecated type ascription syntax in the query macros was removed. - \[[#&#8203;2736]]: Fix describe on PostgreSQL views with rules \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - Potentially breaking: nullability inference changes for Postgres. - \[[#&#8203;2869]]: Implement PgHasArrayType for all references \[\[[@&#8203;tylerhawkes](https://togithub.com/tylerhawkes)]] - Conflicts with existing manual implementations. - \[[#&#8203;2940]]: fix: Decode and Encode derives ([#&#8203;1031](https://togithub.com/launchbadge/sqlx/issues/1031)) \[\[[@&#8203;benluelo](https://togithub.com/benluelo)]] - Changes lifetime obligations for field types. - \[[#&#8203;3064]]: Sqlite explain graph \[\[[@&#8203;tyrelr](https://togithub.com/tyrelr)]] - Potentially breaking: nullability inference changes for SQLite. - \[[#&#8203;3123]]: Reorder attrs in sqlx::test macro \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - Potentially breaking: attributes on `#[sqlx::test]` usages are applied in the correct order now. - \[[#&#8203;3126]]: Make Encode return a result \[\[[@&#8203;FSMaxB](https://togithub.com/FSMaxB)]] - \[[#&#8203;3130]]: Add version information for failed cli migration ([#&#8203;3129](https://togithub.com/launchbadge/sqlx/issues/3129)) \[\[[@&#8203;FlakM](https://togithub.com/FlakM)]] - Breaking changes to `MigrateError`. - \[[#&#8203;3181]]: feat: no tx migration \[\[[@&#8203;cleverjam](https://togithub.com/cleverjam)]] - (Postgres only) migrations that should not run in a transaction can be flagged by adding `-- no-transaction` to the beginning. - Breaking change: added field to `Migration` - \[[#&#8203;3184]]: \[BREAKING} fix(sqlite): always use `i64` as intermediate when decoding \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - integer decoding will now loudly error on overflow instead of silently truncating. - some usages of the query!() macros might change an i32 to an i64. - \[[#&#8203;3252]]: fix `#[derive(sqlx::Type)]` in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add `#[sqlx(no_pg_array)]` where conflicts occur. - Type equality for PgTypeInfo is now schema-aware. - \[[#&#8203;3329]]: fix: correct handling of arrays of custom types in Postgres \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Potential breaking change: `PgTypeInfo::with_name()` infers types that start with `_` to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior. - \[[#&#8203;3356]]: breaking: fix name collision in `FromRow`, return `Error::ColumnDecode` for `TryFrom` errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Breaking behavior change: errors with `#[sqlx(try_from = "T")]` now return `Error::ColumnDecode` instead of `Error::ColumnNotFound`. - Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs. - Instead, create a wrapper implementing `From` and apply the default explicitly. - \[[#&#8203;3337]]: allow rename with rename_all (close [#&#8203;2896](https://togithub.com/launchbadge/sqlx/issues/2896)) \[\[[@&#8203;DirectorX](https://togithub.com/DirectorX)]] - Changes the precedence of `#[sqlx(rename)]` and `#[sqlx(rename_all)]` to match the expected behavior (`rename` wins). - \[[#&#8203;3285]]: fix: use correct names for sslmode options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - Changes the output of `ConnectOptions::to_url_lossy()` to match what parsing expects. ##### Added - \[[#&#8203;2917]]: Add Debug impl for PgRow \[\[[@&#8203;g-bartoszek](https://togithub.com/g-bartoszek)]] - \[[#&#8203;3113]]: feat: new derive feature flag \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;3154]]: feat: add `MySqlTime`, audit `mysql::types` for panics \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3188]]: feat(cube): support postgres cube \[\[[@&#8203;jayy-lmao](https://togithub.com/jayy-lmao)]] - \[[#&#8203;3244]]: feat: support `NonZero*` scalar types \[\[[@&#8203;AlphaKeks](https://togithub.com/AlphaKeks)]] - \[[#&#8203;3260]]: feat: Add set_update_hook on SqliteConnection \[\[[@&#8203;gridbox](https://togithub.com/gridbox)]] - \[[#&#8203;3291]]: feat: support the Postgres Bool type for the Any driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3293]]: Add LICENSE-\* files to crates \[\[[@&#8203;LecrisUT](https://togithub.com/LecrisUT)]] - \[[#&#8203;3303]]: add array support for NonZeroI\* in postgres \[\[[@&#8203;JohannesIBK](https://togithub.com/JohannesIBK)]] - \[[#&#8203;3311]]: Add example on how to use Transaction as Executor \[\[[@&#8203;Lachstec](https://togithub.com/Lachstec)]] - \[[#&#8203;3343]]: Add support for PostgreSQL HSTORE data type \[\[[@&#8203;KobusEllis](https://togithub.com/KobusEllis)]] ##### Changed - \[[#&#8203;2652]]: MySQL: Remove collation compatibility check for strings \[\[[@&#8203;alu](https://togithub.com/alu)]] - \[[#&#8203;2960]]: Removed `Send` trait bound from argument binding \[\[[@&#8203;bobozaur](https://togithub.com/bobozaur)]] - \[[#&#8203;2970]]: refactor: lift type mappings into driver crates \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3148]]: Bump libsqlite3-sys to v0.28 \[\[[@&#8203;NfNitLoop](https://togithub.com/NfNitLoop)]] - Note: version bumps to `libsqlite3-sys` are not considered breaking changes as per our semver guarantees. - \[[#&#8203;3265]]: perf: box `MySqlConnection` to reduce sizes of futures \[\[[@&#8203;stepantubanov](https://togithub.com/stepantubanov)]] - \[[#&#8203;3352]]: chore:added a testcase for `sqlx migrate add ...` \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3340]]: ci: Add job to check that sqlx builds with its declared minimum dependencies \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] ##### Fixed - \[[#&#8203;2702]]: Constrain cyclic associated types to themselves \[\[[@&#8203;BadBastion](https://togithub.com/BadBastion)]] - \[[#&#8203;2954]]: Fix several inter doc links \[\[[@&#8203;ralpha](https://togithub.com/ralpha)]] - \[[#&#8203;3073]]: feat(logging): Log slow acquires from connection pool \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3137]]: SqliteConnectOptions::filename() memory fix ([#&#8203;3136](https://togithub.com/launchbadge/sqlx/issues/3136)) \[\[[@&#8203;hoxxep](https://togithub.com/hoxxep)]] - \[[#&#8203;3138]]: PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction \[\[[@&#8203;feikesteenbergen](https://togithub.com/feikesteenbergen)]] - \[[#&#8203;3146]]: fix(sqlite): delete unused `ConnectionHandleRaw` type \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3162]]: Drop urlencoding dependency \[\[[@&#8203;paolobarbolini](https://togithub.com/paolobarbolini)]] - \[[#&#8203;3165]]: Bump deps that do not need code changes \[\[[@&#8203;GnomedDev](https://togithub.com/GnomedDev)]] - \[[#&#8203;3167]]: fix(ci): use `docker compose` instead of `docker-compose` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3172]]: fix: Option decoding in any driver \[\[[@&#8203;pxp9](https://togithub.com/pxp9)]] - \[[#&#8203;3173]]: fix(postgres) : int type conversion while decoding \[\[[@&#8203;RaghavRox](https://togithub.com/RaghavRox)]] - \[[#&#8203;3190]]: Update time to 0.3.36 \[\[[@&#8203;BlackSoulHub](https://togithub.com/BlackSoulHub)]] - \[[#&#8203;3191]]: Fix unclean TLS shutdown \[\[[@&#8203;levkk](https://togithub.com/levkk)]] - \[[#&#8203;3194]]: Fix leaking connections in fetch_optional ([#&#8203;2647](https://togithub.com/launchbadge/sqlx/issues/2647)) \[\[[@&#8203;danjpgriffin](https://togithub.com/danjpgriffin)]] - \[[#&#8203;3216]]: security: bump rustls to 0.21.11 \[\[[@&#8203;toxeus](https://togithub.com/toxeus)]] - \[[#&#8203;3230]]: fix: sqlite pragma order for auto_vacuum \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3233]]: fix: get_filename should not consume self \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3234]]: fix(ci): pin Rust version, ditch unmaintained actions \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3236]]: fix: resolve `path` ownership problems when using `sqlx_macros_unstable` \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;3254]]: fix: hide `sqlx_postgres::any` \[\[[@&#8203;Zarathustra2](https://togithub.com/Zarathustra2)]] - \[[#&#8203;3266]]: ci: MariaDB - add back 11.4 and add 11.5 \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3267]]: ci: syntax fix \[\[[@&#8203;grooverdan](https://togithub.com/grooverdan)]] - \[[#&#8203;3271]]: docs(sqlite): fix typo - unixtime() -> unixepoch() \[\[[@&#8203;joelkoen](https://togithub.com/joelkoen)]] - \[[#&#8203;3276]]: Invert boolean for `migrate` error message. ([#&#8203;3275](https://togithub.com/launchbadge/sqlx/issues/3275)) \[\[[@&#8203;nk9](https://togithub.com/nk9)]] - \[[#&#8203;3279]]: fix Clippy errors \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3288]]: fix: sqlite update_hook char types \[\[[@&#8203;jasonish](https://togithub.com/jasonish)]] - \[[#&#8203;3297]]: Pass the `persistent` query setting when preparing queries with the `Any` driver \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3298]]: Track null arguments in order to provide the appropriate type when converting them. \[\[[@&#8203;etorreborre](https://togithub.com/etorreborre)]] - \[[#&#8203;3312]]: doc: Minor rust docs fixes \[\[[@&#8203;SrGesus](https://togithub.com/SrGesus)]] - \[[#&#8203;3327]]: chore: fixed one usage of `select_input_type!()` being unhygenic \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3328]]: fix(ci): comment not separated from other characters \[\[[@&#8203;hamirmahal](https://togithub.com/hamirmahal)]] - \[[#&#8203;3341]]: refactor: Resolve cargo check warnings in postgres examples \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3346]]: fix(postgres): don't panic if `M` or `C` Notice fields are not UTF-8 \[\[[@&#8203;YgorSouza](https://togithub.com/YgorSouza)]] - \[[#&#8203;3350]]: fix:the `json`-feature should activate `sqlx-postgres?/json` as well \[\[[@&#8203;CommanderStorm](https://togithub.com/CommanderStorm)]] - \[[#&#8203;3353]]: fix: build script new line at eof \[\[[@&#8203;Zarthus](https://togithub.com/Zarthus)]] - (no PR): activate `clock` and `std` features of `workspace.dependencies.chrono`. [#&#8203;2482]: https://togithub.com/launchbadge/sqlx/pull/2482 [#&#8203;2652]: https://togithub.com/launchbadge/sqlx/pull/2652 [#&#8203;2697]: https://togithub.com/launchbadge/sqlx/pull/2697 [#&#8203;2702]: https://togithub.com/launchbadge/sqlx/pull/2702 [#&#8203;2736]: https://togithub.com/launchbadge/sqlx/pull/2736 [#&#8203;2869]: https://togithub.com/launchbadge/sqlx/pull/2869 [#&#8203;2917]: https://togithub.com/launchbadge/sqlx/pull/2917 [#&#8203;2940]: https://togithub.com/launchbadge/sqlx/pull/2940 [#&#8203;2954]: https://togithub.com/launchbadge/sqlx/pull/2954 [#&#8203;2960]: https://togithub.com/launchbadge/sqlx/pull/2960 [#&#8203;2970]: https://togithub.com/launchbadge/sqlx/pull/2970 [#&#8203;2973]: https://togithub.com/launchbadge/sqlx/pull/2973 [#&#8203;3064]: https://togithub.com/launchbadge/sqlx/pull/3064 [#&#8203;3073]: https://togithub.com/launchbadge/sqlx/pull/3073 [#&#8203;3113]: https://togithub.com/launchbadge/sqlx/pull/3113 [#&#8203;3123]: https://togithub.com/launchbadge/sqlx/pull/3123 [#&#8203;3126]: https://togithub.com/launchbadge/sqlx/pull/3126 [#&#8203;3130]: https://togithub.com/launchbadge/sqlx/pull/3130 [#&#8203;3137]: https://togithub.com/launchbadge/sqlx/pull/3137 [#&#8203;3138]: https://togithub.com/launchbadge/sqlx/pull/3138 [#&#8203;3146]: https://togithub.com/launchbadge/sqlx/pull/3146 [#&#8203;3148]: https://togithub.com/launchbadge/sqlx/pull/3148 [#&#8203;3154]: https://togithub.com/launchbadge/sqlx/pull/3154 [#&#8203;3162]: https://togithub.com/launchbadge/sqlx/pull/3162 [#&#8203;3165]: https://togithub.com/launchbadge/sqlx/pull/3165 [#&#8203;3167]: https://togithub.com/launchbadge/sqlx/pull/3167 [#&#8203;3172]: https://togithub.com/launchbadge/sqlx/pull/3172 [#&#8203;3173]: https://togithub.com/launchbadge/sqlx/pull/3173 [#&#8203;3181]: https://togithub.com/launchbadge/sqlx/pull/3181 [#&#8203;3184]: https://togithub.com/launchbadge/sqlx/pull/3184 [#&#8203;3188]: https://togithub.com/launchbadge/sqlx/pull/3188 [#&#8203;3190]: https://togithub.com/launchbadge/sqlx/pull/3190 [#&#8203;3191]: https://togithub.com/launchbadge/sqlx/pull/3191 [#&#8203;3194]: https://togithub.com/launchbadge/sqlx/pull/3194 [#&#8203;3216]: https://togithub.com/launchbadge/sqlx/pull/3216 [#&#8203;3230]: https://togithub.com/launchbadge/sqlx/pull/3230 [#&#8203;3233]: https://togithub.com/launchbadge/sqlx/pull/3233 [#&#8203;3234]: https://togithub.com/launchbadge/sqlx/pull/3234 [#&#8203;3236]: https://togithub.com/launchbadge/sqlx/pull/3236 [#&#8203;3244]: https://togithub.com/launchbadge/sqlx/pull/3244 [#&#8203;3252]: https://togithub.com/launchbadge/sqlx/pull/3252 [#&#8203;3254]: https://togithub.com/launchbadge/sqlx/pull/3254 [#&#8203;3260]: https://togithub.com/launchbadge/sqlx/pull/3260 [#&#8203;3265]: https://togithub.com/launchbadge/sqlx/pull/3265 [#&#8203;3266]: https://togithub.com/launchbadge/sqlx/pull/3266 [#&#8203;3267]: https://togithub.com/launchbadge/sqlx/pull/3267 [#&#8203;3271]: https://togithub.com/launchbadge/sqlx/pull/3271 [#&#8203;3276]: https://togithub.com/launchbadge/sqlx/pull/3276 [#&#8203;3279]: https://togithub.com/launchbadge/sqlx/pull/3279 [#&#8203;3285]: https://togithub.com/launchbadge/sqlx/pull/3285 [#&#8203;3288]: https://togithub.com/launchbadge/sqlx/pull/3288 [#&#8203;3291]: https://togithub.com/launchbadge/sqlx/pull/3291 [#&#8203;3293]: https://togithub.com/launchbadge/sqlx/pull/3293 [#&#8203;3297]: https://togithub.com/launchbadge/sqlx/pull/3297 [#&#8203;3298]: https://togithub.com/launchbadge/sqlx/pull/3298 [#&#8203;3303]: https://togithub.com/launchbadge/sqlx/pull/3303 [#&#8203;3311]: https://togithub.com/launchbadge/sqlx/pull/3311 [#&#8203;3312]: https://togithub.com/launchbadge/sqlx/pull/3312 [#&#8203;3327]: https://togithub.com/launchbadge/sqlx/pull/3327 [#&#8203;3328]: https://togithub.com/launchbadge/sqlx/pull/3328 [#&#8203;3329]: https://togithub.com/launchbadge/sqlx/pull/3329 [#&#8203;3337]: https://togithub.com/launchbadge/sqlx/pull/3337 [#&#8203;3340]: https://togithub.com/launchbadge/sqlx/pull/3340 [#&#8203;3341]: https://togithub.com/launchbadge/sqlx/pull/3341 [#&#8203;3343]: https://togithub.com/launchbadge/sqlx/pull/3343 [#&#8203;3346]: https://togithub.com/launchbadge/sqlx/pull/3346 [#&#8203;3350]: https://togithub.com/launchbadge/sqlx/pull/3350 [#&#8203;3352]: https://togithub.com/launchbadge/sqlx/pull/3352 [#&#8203;3353]: https://togithub.com/launchbadge/sqlx/pull/3353 [#&#8203;3356]: https://togithub.com/launchbadge/sqlx/pull/3356 ### [`v0.7.4`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#074---2024-03-11) [Compare Source](https://togithub.com/launchbadge/sqlx/compare/v0.7.3...v0.7.4) 38 pull requests were merged this release cycle. This is officially the **last** release of the 0.7.x release cycle. As of this release, development of 0.8.0 has begun on `main` and only high-priority bugfixes may be backported. ##### Added - \[[#&#8203;2891]]: feat: expose getters for connect options fields \[\[[@&#8203;saiintbrisson](https://togithub.com/saiintbrisson)]] - \[[#&#8203;2902]]: feat: add `to_url_lossy` to connect options \[\[[@&#8203;lily-mosquitoes](https://togithub.com/lily-mosquitoes)]] - \[[#&#8203;2927]]: Support `query!` for cargo-free systems \[\[[@&#8203;kshramt](https://togithub.com/kshramt)]] - \[[#&#8203;2997]]: doc(FAQ): add entry explaining prepared statements \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3001]]: Update README to clarify MariaDB support \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3004]]: feat(logging): Add numeric elapsed time field elapsed_secs \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3007]]: feat: add `raw_sql` API \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - This hopefully makes it easier to find how to execute statements which are not supported by the default prepared statement interfaces `query*()` and `query!()`. - Improved documentation across the board for the `query*()` functions. - Deprecated: `execute_many()` and `fetch_many()` on interfaces that use prepared statements. - Multiple SQL statements in one query string were only supported by SQLite because its prepared statement interface is the *only* way to execute SQL. All other database flavors forbid multiple statements in one prepared statement string as an extra defense against SQL injection. - The new `raw_sql` API retains this functionality because it explicitly does *not* use prepared statements. Raw or text-mode query interfaces generally allow multiple statements in one query string, and this is supported by all current databases. Due to their nature, however, one cannot use bind parameters with them. - If this change affects you, an issue is open for discussion: [https://github.com/launchbadge/sqlx/issues/3108](https://togithub.com/launchbadge/sqlx/issues/3108) - \[[#&#8203;3011]]: Added support to IpAddr with MySQL/MariaDB. \[\[[@&#8203;Icerath](https://togithub.com/Icerath)]] - \[[#&#8203;3013]]: Add default implementation for PgInterval \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3018]]: Add default implementation for PgMoney \[\[[@&#8203;pawurb](https://togithub.com/pawurb)]] - \[[#&#8203;3026]]: Update docs to reflect support for MariaDB data types \[\[[@&#8203;iangilfillan](https://togithub.com/iangilfillan)]] - \[[#&#8203;3037]]: feat(mysql): allow to connect with mysql driver without default behavor \[\[[@&#8203;darkecho731](https://togithub.com/darkecho731)]] ##### Changed - \[[#&#8203;2900]]: Show latest url to docs for macro.migrate \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2914]]: Use `create_new` instead of `atomic-file-write` \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2926]]: docs: update example for `PgConnectOptions` \[\[[@&#8203;Fyko](https://togithub.com/Fyko)]] - \[[#&#8203;2989]]: sqlx-core: Remove dotenvy dependency \[\[[@&#8203;joshtriplett](https://togithub.com/joshtriplett)]] - \[[#&#8203;2996]]: chore: Update ahash to 0.8.7 \[\[[@&#8203;takenoko-gohan](https://togithub.com/takenoko-gohan)]] - \[[#&#8203;3006]]: chore(deps): Replace unmaintained tempdir crate with tempfile \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3008]]: chore: Ignore .sqlx folder created by running ci steps locally \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3009]]: chore(dev-deps): Upgrade env_logger from 0.9 to 0.11 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3010]]: chore(deps): Upgrade criterion to 0.5.1 \[\[[@&#8203;iamjpotts](https://togithub.com/iamjpotts)]] - \[[#&#8203;3050]]: Optimize SASL auth in sqlx-postgres \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3055]]: Set TCP_NODELAY option on TCP sockets \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3065]]: Improve max_lifetime handling \[\[[@&#8203;mirek26](https://togithub.com/mirek26)]] - \[[#&#8203;3072]]: Change the name of "inner" function generated by `#[sqlx::test]` \[\[[@&#8203;ciffelia](https://togithub.com/ciffelia)]] - \[[#&#8203;3083]]: Remove sha1 because it's not being used in postgres \[\[[@&#8203;rafaelGuerreiro](https://togithub.com/rafaelGuerreiro)]] ##### Fixed - \[[#&#8203;2898]]: Fixed docs \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2905]]: fix(mysql): Close prepared statement if persistence is disabled \[\[[@&#8203;larsschumacher](https://togithub.com/larsschumacher)]] - \[[#&#8203;2913]]: Fix handling of deferred constraints \[\[[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw)]] - \[[#&#8203;2919]]: fix duplicate "\`" in FromRow "default" attribute doc comment \[\[[@&#8203;shengsheng](https://togithub.com/shengsheng)]] - \[[#&#8203;2932]]: fix(postgres): avoid unnecessary flush in PgCopyIn::read_from \[\[[@&#8203;tsing](https://togithub.com/tsing)]] - \[[#&#8203;2955]]: Minor fixes \[\[[@&#8203;Dawsoncodes](https://togithub.com/Dawsoncodes)]] - \[[#&#8203;2963]]: Fixed ReadMe badge styling \[\[[@&#8203;tadghh](https://togithub.com/tadghh)]] - \[[#&#8203;2976]]: fix: AnyRow not support PgType::Varchar \[\[[@&#8203;holicc](https://togithub.com/holicc)]] - \[[#&#8203;3053]]: fix: do not panic when binding a large BigDecimal \[\[[@&#8203;Ekleog](https://togithub.com/Ekleog)]] - \[[#&#8203;3056]]: fix: spans in sqlite tracing ([#&#8203;2876](https://togithub.com/launchbadge/sqlx/issues/2876)) \[\[[@&#8203;zoomiti](https://togithub.com/zoomiti)]] - \[[#&#8203;3089]]: fix(migrate): improve error message when parsing version from filename \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;3098]]: Migrations fixes \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - Unhides `sqlx::migrate::Migrator`. - Improves I/O error message when failing to read a file in `migrate!()`. [#&#8203;2891]: https://togithub.com/launchbadge/sqlx/pull/2891 [#&#8203;2898]: https://togithub.com/launchbadge/sqlx/pull/2898 [#&#8203;2900]: https://togithub.com/launchbadge/sqlx/pull/2900 [#&#8203;2902]: https://togithub.com/launchbadge/sqlx/pull/2902 [#&#8203;2905]: https://togithub.com/launchbadge/sqlx/pull/2905 [#&#8203;2913]: https://togithub.com/launchbadge/sqlx/pull/2913 [#&#8203;2914]: https://togithub.com/launchbadge/sqlx/pull/2914 [#&#8203;2919]: https://togithub.com/launchbadge/sqlx/pull/2919 [#&#8203;2926]: https://togithub.com/launchbadge/sqlx/pull/2926 [#&#8203;2927]: https://togithub.com/launchbadge/sqlx/pull/2927 [#&#8203;2932]: https://togithub.com/launchbadge/sqlx/pull/2932 [#&#8203;2955]: https://togithub.com/launchbadge/sqlx/pull/2955 [#&#8203;2963]: https://togithub.com/launchbadge/sqlx/pull/2963 [#&#8203;2976]: https://togithub.com/launchbadge/sqlx/pull/2976 [#&#8203;2989]: https://togithub.com/launchbadge/sqlx/pull/2989 [#&#8203;2996]: https://togithub.com/launchbadge/sqlx/pull/2996 [#&#8203;2997]: https://togithub.com/launchbadge/sqlx/pull/2997 [#&#8203;3001]: https://togithub.com/launchbadge/sqlx/pull/3001 [#&#8203;3004]: https://togithub.com/launchbadge/sqlx/pull/3004 [#&#8203;3006]: https://togithub.com/launchbadge/sqlx/pull/3006 [#&#8203;3007]: https://togithub.com/launchbadge/sqlx/pull/3007 [#&#8203;3008]: https://togithub.com/launchbadge/sqlx/pull/3008 [#&#8203;3009]: https://togithub.com/launchbadge/sqlx/pull/3009 [#&#8203;3010]: https://togithub.com/launchbadge/sqlx/pull/3010 [#&#8203;3011]: https://togithub.com/launchbadge/sqlx/pull/3011 [#&#8203;3013]: https://togithub.com/launchbadge/sqlx/pull/3013 [#&#8203;3018]: https://togithub.com/launchbadge/sqlx/pull/3018 [#&#8203;3026]: https://togithub.com/launchbadge/sqlx/pull/3026 [#&#8203;3037]: https://togithub.com/launchbadge/sqlx/pull/3037 [#&#8203;3050]: https://togithub.com/launchbadge/sqlx/pull/3050 [#&#8203;3053]: https://togithub.com/launchbadge/sqlx/pull/3053 [#&#8203;3055]: https://togithub.com/launchbadge/sqlx/pull/3055 [#&#8203;3056]: https://togithub.com/launchbadge/sqlx/pull/3056 [#&#8203;3065]: https://togithub.com/launchbadge/sqlx/pull/3065 [#&#8203;3072]: https://togithub.com/launchbadge/sqlx/pull/3072 [#&#8203;3083]: https://togithub.com/launchbadge/sqlx/pull/3083 [#&#8203;3089]: https://togithub.com/launchbadge/sqlx/pull/3089 [#&#8203;3098]: https://togithub.com/launchbadge/sqlx/pull/3098 ### [`v0.7.3`](https://togithub.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#073---2023-11-22) 38 pull requests were merged this release cycle. ##### Added - \[[#&#8203;2478]]: feat(citext): support postgres citext \[\[[@&#8203;hgranthorner](https://togithub.com/hgranthorner)]] - \[[#&#8203;2545]]: Add `fixtures_path` in sqlx::test args \[\[[@&#8203;ripa1995](https://togithub.com/ripa1995)]] - \[[#&#8203;2665]]: feat(mysql): support packet splitting \[\[[@&#8203;tk2217](https://togithub.com/tk2217)]] - \[[#&#8203;2752]]: Enhancement [#&#8203;2747](https://togithub.com/launchbadge/sqlx/issues/2747) Provide `fn PgConnectOptions::get_host(&self)` \[\[[@&#8203;boris-lok](https://togithub.com/boris-lok)]] - \[[#&#8203;2769]]: Customize the macro error message based on the metadata \[\[[@&#8203;Nemo157](https://togithub.com/Nemo157)]] - \[[#&#8203;2793]]: derived Hash trait for PgInterval \[\[[@&#8203;yasamoka](https://togithub.com/yasamoka)]] - \[[#&#8203;2801]]: derive FromRow: sqlx(default) for all fields \[\[[@&#8203;grgi](https://togithub.com/grgi)]] - \[[#&#8203;2827]]: Add impl `FromRow` for the unit type \[\[[@&#8203;nanoqsh](https://togithub.com/nanoqsh)]] - \[[#&#8203;2871]]: Add `MySqlConnectOptions::get_database()` \[\[[@&#8203;shiftrightonce](https://togithub.com/shiftrightonce)]] - \[[#&#8203;2873]]: Sqlx Cli: Added force flag to drop database for postgres \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2894]]: feat: `Text` adapter \[\[[@&#8203;abonander](https://togithub.com/abonander)]] ##### Changed - \[[#&#8203;2701]]: Remove documentation on offline feature \[\[[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan)]] - \[[#&#8203;2713]]: Add additional info regarding using Transaction and PoolConnection as… \[\[[@&#8203;satwanjyu](https://togithub.com/satwanjyu)]] - \[[#&#8203;2770]]: Update README.md \[\[[@&#8203;snspinn](https://togithub.com/snspinn)]] - \[[#&#8203;2797]]: doc(mysql): document behavior regarding `BOOLEAN` and the query macros \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2803]]: Don't use separate temp dir for query jsons (2) \[\[[@&#8203;mattfbacon](https://togithub.com/mattfbacon)]] - \[[#&#8203;2819]]: postgres begin cancel safe \[\[[@&#8203;conradludgate](https://togithub.com/conradludgate)]] - \[[#&#8203;2832]]: Update extra_float_digits default to 2 instead of 3 \[\[[@&#8203;brianheineman](https://togithub.com/brianheineman)]] - \[[#&#8203;2865]]: Update Faq - Bulk upsert with optional fields \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] - \[[#&#8203;2880]]: feat: use specific message for slow query logs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2882]]: Do not require db url for prepare \[\[[@&#8203;tamasfe](https://togithub.com/tamasfe)]] - \[[#&#8203;2890]]: doc(sqlite): cover lack of `NUMERIC` support \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[No PR]: Upgraded `libsqlite3-sys` to 0.27.0 - Note: linkage to `libsqlite3-sys` is considered semver-exempt; see the release notes for 0.7.0 below for details. ##### Fixed - \[[#&#8203;2640]]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp \[\[[@&#8203;fhsgoncalves](https://togithub.com/fhsgoncalves)]] - \[[#&#8203;2655]]: \[fix] Urlencode when passing filenames to sqlite3 \[\[[@&#8203;uttarayan21](https://togithub.com/uttarayan21)]] - \[[#&#8203;2684]]: Make PgListener recover from UnexpectedEof \[\[[@&#8203;hamiltop](https://togithub.com/hamiltop)]] - \[[#&#8203;2688]]: fix: Make rust_decimal and bigdecimal decoding more lenient \[\[[@&#8203;cameronbraid](https://togithub.com/cameronbraid)]] - \[[#&#8203;2754]]: Is tests/x.py maintained? And I tried fix it. \[\[[@&#8203;qwerty2501](https://togithub.com/qwerty2501)]] - \[[#&#8203;2784]]: fix: decode postgres time without subsecond \[\[[@&#8203;granddaifuku](https://togithub.com/granddaifuku)]] - \[[#&#8203;2806]]: Depend on version of async-std with non-private spawn-blocking \[\[[@&#8203;A248](https://togithub.com/A248)]] - \[[#&#8203;2820]]: fix: correct decoding of `rust_decimal::Decimal` for high-precision values \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2822]]: issue [#&#8203;2821](https://togithub.com/launchbadge/sqlx/issues/2821) Update error handling logic when opening a TCP connection \[\[[@&#8203;anupj](https://togithub.com/anupj)]] - \[[#&#8203;2826]]: chore: bump some sqlx-core dependencies \[\[[@&#8203;djc](https://togithub.com/djc)]] - \[[#&#8203;2838]]: Fixes rust_decimal scale for Postgres \[\[[@&#8203;jkleinknox](https://togithub.com/jkleinknox)]] - \[[#&#8203;2847]]: Fix comment in `sqlx migrate add` help text \[\[[@&#8203;cryeprecision](https://togithub.com/cryeprecision)]] - \[[#&#8203;2850]]: fix(core): avoid unncessary wakeups in `try_stream!()` \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2856]]: Prevent warnings running `cargo build` \[\[[@&#8203;nyurik](https://togithub.com/nyurik)]] - \[[#&#8203;2864]]: fix(sqlite): use `AtomicUsize` for thread IDs \[\[[@&#8203;abonander](https://togithub.com/abonander)]] - \[[#&#8203;2892]]: Fixed force dropping bug \[\[[@&#8203;Vrajs16](https://togithub.com/Vrajs16)]] [#&#8203;2478]: https://togithub.com/launchbadge/sqlx/pull/2478 [#&#8203;2545]: https://togithub.com/launchbadge/sqlx/pull/2545 [#&#8203;2640]: https://togithub.com/launchbadge/sqlx/pull/2640 [#&#8203;2655]: https://togithub.com/launchbadge/sqlx/pull/2655 [#&#8203;2665]: https://togithub.com/launchbadge/sqlx/pull/2665 [#&#8203;2684]: https://togithub.com/launchbadge/sqlx/pull/2684 [#&#8203;2688]: https://togithub.com/launchbadge/sqlx/pull/2688 [#&#8203;2701]: https://togithub.com/launchbadge/sqlx/pull/2701 [#&#8203;2713]: https://togithub.com/launchbadge/sqlx/pull/2713 [#&#8203;2752]: https://togithub.com/launchbadge/sqlx/pull/2752 [#&#8203;2754]: https://togithub.com/launchbadge/sqlx/pull/2754 [#&#8203;2769]: https://togithub.com/launchbadge/sqlx/pull/2769 [#&#8203;2770]: https://togithub.com/launchbadge/sqlx/pull/2770 [#&#8203;2782]: https://togithub.com/launchbadge/sqlx/pull/2782 [#&#8203;2784]: https://togithub.com/launchbadge/sqlx/pull/2784 [#&#8203;2793]: https://togithub.com/launchbadge/sqlx/pull/2793 [#&#8203;2797]: https://togithub.com/launchbadge/sqlx/pull/2797 [#&#8203;2801]: https://togithub.com/launchbadge/sqlx/pull/2801 [#&#8203;2803]: https://togithub.com/launchbadge/sqlx/pull/2803 [#&#8203;2806]: https://togithub.com/launchbadge/sqlx/pull/2806 [#&#8203;2819]: https://togithub.com/launchbadge/sqlx/pull/2819 [#&#8203;2820]: https://togithub.com/launchbadge/sqlx/pull/2820 [#&#8203;2822]: https://togithub.com/launchbadge/sqlx/pull/2822 [#&#8203;2826]: https://togithub.com/launchbadge/sqlx/pull/2826 [#&#8203;2827]: https://togithub.com/launchbadge/sqlx/pull/2827 [#&#8203;2832]: https://togithub.com/launchbadge/sqlx/pull/2832 [#&#8203;2838]: https://togithub.com/launchbadge/sqlx/pull/2838 [#&#8203;2847]: https://togithub.com/launchbadge/sqlx/pull/2847 [#&#8203;2850]: https://togithub.com/launchbadge/sqlx/pull/2850 [#&#8203;2856]: https://togithub.com/launchbadge/sqlx/pull/2856 [#&#8203;2864]: https://togithub.com/launchbadge/sqlx/pull/2864 [#&#8203;2865]: https://togithub.com/launchbadge/sqlx/pull/2865 [#&#8203;2871]: https://togithub.com/launchbadge/sqlx/pull/2871 [#&#8203;2873]: https://togithub.com/launchbadge/sqlx/pull/2873 [#&#8203;2880]: https://togithub.com/launchbadge/sqlx/pull/2880 [#&#8203;2882]: https://togithub.com/launchbadge/sqlx/pull/2882 [#&#8203;2890]: https://togithub.com/launchbadge/sqlx/pull/2890 [#&#8203;2892]: https://togithub.com/launchbadge/sqlx/pull/2892 [#&#8203;2894]: https://togithub.com/launchbadge/sqlx/pull/2894 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 07:08:15 +03:00
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
2021-09-14 17:48:44 +03:00
[[package]]
name = "weezl"
version = "0.1.8"
2021-09-14 17:48:44 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
2021-09-14 17:48:44 +03:00
2023-02-22 05:16:47 +03:00
[[package]]
name = "welcome"
version = "0.1.0"
2023-11-21 23:40:00 +03:00
dependencies = [
"anyhow",
"client",
"db",
"editor",
"extensions_ui",
"fuzzy",
"gpui",
"inline_completion_button",
"install_cli",
"picker",
"project",
2023-11-21 23:40:00 +03:00
"schemars",
"serde",
"settings",
"theme_selector",
"ui",
2023-11-21 23:40:00 +03:00
"util",
"vim",
"workspace",
2023-11-21 23:40:00 +03:00
]
[[package]]
2021-02-21 02:05:36 +03:00
name = "which"
2023-09-15 16:31:33 +03:00
version = "4.4.2"
2021-02-21 02:05:36 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-09-15 16:31:33 +03:00
checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
dependencies = [
"either",
2023-09-15 16:31:33 +03:00
"home",
2022-10-13 01:39:04 +03:00
"once_cell",
"rustix 0.38.35",
]
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
[[package]]
name = "which"
version = "6.0.3"
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f"
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
dependencies = [
"either",
"home",
"rustix 0.38.35",
"winsafe",
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188) After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error: ![screenshot-2024-02-23-11 14 08@2x](https://github.com/zed-industries/zed/assets/1185253/822ea59b-c63e-4102-a50e-75501cc4e0e3) But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-02-23 15:39:14 +03:00
]
[[package]]
name = "whoami"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
dependencies = [
"redox_syscall 0.4.1",
"wasite",
]
[[package]]
name = "wiggle"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a89ea6f74ece6d1cfbd089783006b8eb69a0219ca83cad22068f0d9fa9df3f91"
dependencies = [
"anyhow",
"async-trait",
"bitflags 2.6.0",
"thiserror",
"tracing",
"wasmtime",
"wiggle-macro",
]
[[package]]
name = "wiggle-generate"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36beda94813296ecaf0d91b7ada9da073fd41865ba339bdd3b7764e2e785b8e9"
dependencies = [
"anyhow",
"heck 0.4.1",
"proc-macro2",
"quote",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"shellexpand 2.1.2",
"syn 2.0.76",
"witx",
]
[[package]]
name = "wiggle-macro"
version = "21.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b47d2b4442ce93106dba5d1a9c59d5f85b5732878bb3d0598d3c93c0d01b16b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"wiggle-generate",
]
2021-02-21 02:05:36 +03:00
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [
"windows-sys 0.59.0",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "winch-codegen"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dc69899ccb2da7daa4df31426dcfd284b104d1a85e1dae35806df0c46187f87"
dependencies = [
"anyhow",
"cranelift-codegen",
"gimli 0.28.1",
"regalloc2",
"smallvec",
"target-lexicon",
"wasmparser 0.207.0",
"wasmtime-cranelift",
"wasmtime-environ",
]
[[package]]
name = "windows"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
2023-08-21 17:35:57 +03:00
"windows-targets 0.48.5",
]
[[package]]
name = "windows"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
dependencies = [
"windows-core 0.52.0",
"windows-targets 0.52.6",
]
[[package]]
name = "windows"
version = "0.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
dependencies = [
"windows-core 0.54.0",
"windows-targets 0.52.6",
]
[[package]]
name = "windows"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
dependencies = [
"windows-core 0.58.0",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
dependencies = [
"windows-result 0.1.2",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
dependencies = [
"windows-implement",
"windows-interface",
"windows-result 0.2.0",
"windows-strings",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-implement"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "windows-interface"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "windows-result"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-result"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-strings"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
dependencies = [
"windows-result 0.2.0",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-sys"
version = "0.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
dependencies = [
"windows-targets 0.42.2",
]
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
2023-08-21 17:35:57 +03:00
"windows-targets 0.48.5",
]
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-sys"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-targets"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
dependencies = [
"windows_aarch64_gnullvm 0.42.2",
"windows_aarch64_msvc 0.42.2",
"windows_i686_gnu 0.42.2",
"windows_i686_msvc 0.42.2",
"windows_x86_64_gnu 0.42.2",
"windows_x86_64_gnullvm 0.42.2",
"windows_x86_64_msvc 0.42.2",
]
[[package]]
name = "windows-targets"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
2023-08-21 17:35:57 +03:00
"windows_aarch64_gnullvm 0.48.5",
"windows_aarch64_msvc 0.48.5",
"windows_i686_gnu 0.48.5",
"windows_i686_msvc 0.48.5",
"windows_x86_64_gnu 0.48.5",
"windows_x86_64_gnullvm 0.48.5",
"windows_x86_64_msvc 0.48.5",
]
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
"windows_aarch64_gnullvm 0.52.6",
"windows_aarch64_msvc 0.52.6",
"windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
"windows_i686_msvc 0.52.6",
"windows_x86_64_gnu 0.52.6",
"windows_x86_64_gnullvm 0.52.6",
"windows_x86_64_msvc 0.52.6",
]
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
[[package]]
name = "windows_aarch64_gnullvm"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_aarch64_msvc"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_i686_gnu"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_i686_msvc"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_x86_64_gnu"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
[[package]]
name = "windows_x86_64_gnullvm"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_x86_64_msvc"
2023-08-21 17:35:57 +03:00
version = "0.48.5"
2022-10-18 22:47:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-21 17:35:57 +03:00
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
2022-10-18 22:47:15 +03:00
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
version = "0.5.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
dependencies = [
"memchr",
]
[[package]]
name = "winnow"
version = "0.6.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
dependencies = [
"memchr",
]
[[package]]
name = "winreg"
2023-08-23 23:31:39 +03:00
version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2023-08-23 23:31:39 +03:00
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",
]
[[package]]
name = "winreg"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",
]
[[package]]
name = "winresource"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77e2aaaf8cfa92078c0c0375423d631f82f2f57979c2884fdd5f604a11e45329"
dependencies = [
"toml 0.7.8",
"version_check",
]
[[package]]
name = "winsafe"
version = "0.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
[[package]]
name = "winx"
version = "0.36.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9643b83820c0cd246ecabe5fa454dd04ba4fa67996369466d0747472d337346"
dependencies = [
"bitflags 2.6.0",
"windows-sys 0.52.0",
]
2021-03-10 07:00:51 +03:00
[[package]]
name = "wio"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
dependencies = [
"winapi",
]
[[package]]
name = "wit-bindgen"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "288f992ea30e6b5c531b52cdd5f3be81c148554b09ea416f058d16556ba92c27"
dependencies = [
"bitflags 2.6.0",
"wit-bindgen-rt",
"wit-bindgen-rust-macro",
]
[[package]]
name = "wit-bindgen-core"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e85e72719ffbccf279359ad071497e47eb0675fe22106dea4ed2d8a7fcb60ba4"
dependencies = [
"anyhow",
"wit-parser 0.201.0",
]
[[package]]
name = "wit-bindgen-rt"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb8738270f32a2d6739973cbbb7c1b6dd8959ce515578a6e19165853272ee64"
[[package]]
name = "wit-bindgen-rust"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8a39a15d1ae2077688213611209849cad40e9e5cccf6e61951a425850677ff3"
dependencies = [
"anyhow",
"heck 0.4.1",
"indexmap 2.4.0",
"wasm-metadata",
"wit-bindgen-core",
"wit-component",
]
[[package]]
name = "wit-bindgen-rust-macro"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d376d3ae5850526dfd00d937faea0d81a06fa18f7ac1e26f386d760f241a8f4b"
dependencies = [
"anyhow",
"proc-macro2",
"quote",
"syn 2.0.76",
"wit-bindgen-core",
"wit-bindgen-rust",
]
Add a command for building and installing a locally-developed Zed extension (#8781) This PR adds an `zed: Install Local Extension` action, which lets you select a path to a folder containing a Zed extension, and install that . When you select a directory, the extension will be compiled (both the Tree-sitter grammars and the Rust code for the extension itself) and installed as a Zed extension, using a symlink. ### Details A few dependencies are needed to build an extension: * The Rust `wasm32-wasi` target. This is automatically installed if needed via `rustup`. * A wasi-preview1 adapter WASM module, for building WASM components with Rust. This is automatically downloaded if needed from a `wasmtime` GitHub release * For building Tree-sitter parsers, a distribution of `wasi-sdk`. This is automatically downloaded if needed from a `wasi-sdk` GitHub release. The downloaded artifacts are cached in a support directory called `Zed/extensions/build`. ### Tasks UX * [x] Show local extensions in the Extensions view * [x] Provide a button for recompiling a linked extension * [x] Make this action discoverable by adding a button for it on the Extensions view * [ ] Surface errors (don't just write them to the Zed log) Packaging * [ ] Create a separate executable that performs the extension compilation. We'll switch the packaging system in our [extensions](https://github.com/zed-industries/extensions) repo to use this binary, so that there is one canonical definition of how to build/package an extensions. ### Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-03-07 02:35:22 +03:00
[[package]]
name = "wit-component"
version = "0.201.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "421c0c848a0660a8c22e2fd217929a0191f14476b68962afd2af89fd22e39825"
dependencies = [
"anyhow",
"bitflags 2.6.0",
"indexmap 2.4.0",
"log",
"serde",
"serde_derive",
"serde_json",
"wasm-encoder 0.201.0",
"wasm-metadata",
"wasmparser 0.201.0",
"wit-parser 0.201.0",
]
[[package]]
name = "wit-parser"
version = "0.201.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "196d3ecfc4b759a8573bf86a9b3f8996b304b3732e4c7de81655f875f6efdca6"
dependencies = [
"anyhow",
"id-arena",
"indexmap 2.4.0",
"log",
"semver",
"serde",
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser 0.201.0",
]
[[package]]
name = "wit-parser"
version = "0.207.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78c83dab33a9618d86cfe3563cc864deffd08c17efc5db31a3b7cd1edeffe6e1"
dependencies = [
"anyhow",
"id-arena",
"indexmap 2.4.0",
"log",
"semver",
"serde",
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser 0.207.0",
]
[[package]]
name = "witx"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b"
dependencies = [
"anyhow",
"log",
"thiserror",
"wast",
]
[[package]]
name = "workspace"
version = "0.1.0"
2023-10-26 13:27:20 +03:00
dependencies = [
"any_vec",
2023-10-26 13:27:20 +03:00
"anyhow",
"async-recursion 1.1.1",
2023-10-26 13:27:20 +03:00
"bincode",
"call",
"client",
"clock",
2023-10-26 13:27:20 +03:00
"collections",
"db",
"derive_more",
"dev_server_projects",
"env_logger",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"git",
"gpui",
"http_client",
Update Rust crate itertools to v0.13.0 (#17048) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [itertools](https://togithub.com/rust-itertools/itertools) | dependencies | minor | `0.10` -> `0.13` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.13.0` | --- ### Release Notes <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#&#8203;853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#&#8203;835](https://togithub.com/rust-itertools/itertools/issues/835), [#&#8203;834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#&#8203;870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#&#8203;880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#&#8203;878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#&#8203;912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#&#8203;654](https://togithub.com/rust-itertools/itertools/issues/654), [#&#8203;885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#&#8203;899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#&#8203;910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#&#8203;931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#&#8203;891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#&#8203;866](https://togithub.com/rust-itertools/itertools/issues/866), [#&#8203;879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#&#8203;871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#&#8203;873](https://togithub.com/rust-itertools/itertools/issues/873), [#&#8203;876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#&#8203;886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#&#8203;889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#&#8203;887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#&#8203;888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#&#8203;890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#&#8203;894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#&#8203;900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#&#8203;895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#&#8203;902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#&#8203;909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#&#8203;914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#&#8203;920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#&#8203;923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#&#8203;927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#&#8203;924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#&#8203;882](https://togithub.com/rust-itertools/itertools/issues/882), [#&#8203;936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#&#8203;932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#&#8203;939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#&#8203;792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#&#8203;767](https://togithub.com/rust-itertools/itertools/issues/767)) ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#&#8203;822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#&#8203;842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#&#8203;845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#&#8203;859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#&#8203;838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#&#8203;843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#&#8203;855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#&#8203;801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#&#8203;818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#&#8203;837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#&#8203;816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#&#8203;854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#&#8203;860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#&#8203;826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#&#8203;849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#&#8203;820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#&#8203;825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#&#8203;824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#&#8203;813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#&#8203;823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#&#8203;821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#&#8203;851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#&#8203;848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#&#8203;847](https://togithub.com/rust-itertools/itertools/issues/847), [#&#8203;856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#&#8203;784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#&#8203;740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#&#8203;840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#&#8203;807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#&#8203;806](https://togithub.com/rust-itertools/itertools/issues/806)) ### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0) ##### Breaking - Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709)) - Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777)) ##### Added - Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723)) - Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796)) - Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785)) - Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716)) - Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734)) - Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713)) - Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715)) - Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761)) - Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752)) - Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719)) ##### Changed - Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794)) - Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795)) - Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797)) - Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793)) - Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800)) - Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602)) - Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729)) - Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737)) - Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765)) - Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735)) - Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763)) - Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775)) - Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780)) - Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772)) - Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774)) - Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760)) - Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787)) - Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724)) - Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) ##### Notable Internal Changes - Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782)) - Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790)) - Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736)) - Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739)) - Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770)) - Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751)) - Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720)) - Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754)) ### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0) ##### Breaking - Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704)) - Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643)) - Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699)) ##### Added - Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616)) - Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644)) - Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629)) - Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686)) - Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683)) - Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680)) ##### Changed - Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608)) - CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675)) - Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653)) - Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692)) - Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672)) - Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-29 08:13:35 +03:00
"itertools 0.13.0",
"language",
2023-10-26 13:27:20 +03:00
"log",
"node_runtime",
"parking_lot",
2023-10-26 13:27:20 +03:00
"postage",
"project",
2023-10-26 13:27:20 +03:00
"schemars",
"serde",
"serde_json",
"session",
"settings",
2023-10-26 13:27:20 +03:00
"smallvec",
"sqlez",
"task",
"tempfile",
"theme",
"ui",
2023-10-26 13:27:20 +03:00
"util",
"uuid",
2023-10-26 13:27:20 +03:00
]
[[package]]
name = "worktree"
version = "0.1.0"
dependencies = [
"anyhow",
"clock",
"collections",
2024-05-25 03:41:35 +03:00
"env_logger",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"fuzzy",
"git",
"git2",
"gpui",
"http_client",
"ignore",
"language",
"log",
"parking_lot",
"paths",
"postage",
"pretty_assertions",
"rand 0.8.5",
"rpc",
"schemars",
"serde",
"serde_json",
"settings",
project search: Increase perf up to 10x by batching `git status` calls (#16936) ***Update**: after rebasing on top of https://github.com/zed-industries/zed/pull/16915/ (that also changed how search worked), the results are still good, but not 10x. Instead of going from 10s to 500ms, it goes from 10s to 3s.* This improves the performance of project-wide search by an order of magnitude. After digging in, @as-cii and I found that opening buffers was the bottleneck for project-wide search (since Zed opens, parses, ... buffers when finding them, which is something VS Code doesn't do, for example). So this PR improves the performance of opening multiple buffers at once. It does this by doing two things: - It batches scan-requests in the worktree. When we search, we search files in chunks of 64. Previously we'd handle all 64 scan requests separately. The new code checks if the scan requests can be batched and if so it, it does that. - It batches `git status` calls when reloading the project entries for the opened buffers. Instead of calling `git status` for each file, it calls `git status` for a batch of files, and then extracts the status for each file. (It has to be said that I think the slow performance on `main` has been a regression introduced over the last few months with the changes made to project/worktree/git. I don't think it was this slow ~5 months ago. But I also don't think it was this fast ~5 months ago.) ## Benchmarks | Search | Before | After (without https://github.com/zed-industries/zed/pull/16915) | After (with https://github.com/zed-industries/zed/pull/16915) |--------|--------|-------|------| | `zed.dev` at `2b2a501192e78e`, searching for `<` (`4484` results) | 3.0s<br>2.9s<br>2.89s | 489ms<br>517ms<br>476ms | n/a | | `zed.dev` at `2b2a501192e78e`, searching for `:` (`25886+` results) | 3.9s<br>3.9s<br>3.8s | 70ms<br>66ms<br>72ms | n/a | | `zed` at `55dda0e6af`, searching for `<` (`10937+` results) | 10s<br>11s<br>12s | 500m<br>499ms<br>543ms | 3.4s<br>3.1s<br> | (All results recorded after doing a warm-up run that would start language servers etc.) Release Notes: - Performance of project-wide search has been improved by up to 10x. --------- Co-authored-by: Antonio <antonio@zed.dev>
2024-08-27 12:59:59 +03:00
"smallvec",
"smol",
"sum_tree",
"text",
"util",
]
2023-07-07 21:24:29 +03:00
[[package]]
name = "wyz"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
dependencies = [
"tap",
]
[[package]]
name = "x11-clipboard"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286"
dependencies = [
"libc",
"x11rb",
]
[[package]]
name = "x11rb"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12"
dependencies = [
"as-raw-xcb-connection",
"gethostname",
"libc",
"rustix 0.38.35",
"x11rb-protocol",
]
[[package]]
name = "x11rb-protocol"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
[[package]]
name = "xattr"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
dependencies = [
"libc",
]
[[package]]
name = "xcursor"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61"
[[package]]
name = "xdg-home"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6"
dependencies = [
"libc",
"windows-sys 0.59.0",
]
[[package]]
name = "xim"
version = "0.4.0"
source = "git+https://github.com/npmania/xim-rs?rev=27132caffc5b9bc9c432ca4afad184ab6e7c16af#27132caffc5b9bc9c432ca4afad184ab6e7c16af"
dependencies = [
"ahash 0.8.11",
"hashbrown 0.14.5",
"log",
"x11rb",
"xim-ctext",
"xim-parser",
]
[[package]]
name = "xim-ctext"
version = "0.3.0"
source = "git+https://github.com/npmania/xim-rs?rev=27132caffc5b9bc9c432ca4afad184ab6e7c16af#27132caffc5b9bc9c432ca4afad184ab6e7c16af"
dependencies = [
"encoding_rs",
]
[[package]]
name = "xim-parser"
version = "0.2.1"
source = "git+https://github.com/npmania/xim-rs?rev=27132caffc5b9bc9c432ca4afad184ab6e7c16af#27132caffc5b9bc9c432ca4afad184ab6e7c16af"
dependencies = [
"bitflags 2.6.0",
]
[[package]]
name = "xkbcommon"
version = "0.7.0"
source = "git+https://github.com/ConradIrwin/xkbcommon-rs?rev=fcbb4612185cc129ceeff51d22f7fb51810a03b2#fcbb4612185cc129ceeff51d22f7fb51810a03b2"
dependencies = [
"as-raw-xcb-connection",
"libc",
"memmap2",
"xkeysym",
]
[[package]]
name = "xkeysym"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
[[package]]
name = "xml5ever"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bbb26405d8e919bc1547a5aa9abc95cbfa438f04844f5fdd9dc7596b748bf69"
dependencies = [
"log",
"mac",
"markup5ever",
]
2021-04-06 14:44:38 +03:00
[[package]]
name = "xmlparser"
version = "0.13.6"
2021-04-06 14:44:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
2021-04-06 14:44:38 +03:00
[[package]]
name = "xmlwriter"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
[[package]]
name = "xtask"
version = "0.1.0"
dependencies = [
"anyhow",
"cargo_metadata",
"cargo_toml",
"clap",
]
[[package]]
name = "yansi"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
[[package]]
name = "yazi"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
[[package]]
name = "yeslogic-fontconfig-sys"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd"
dependencies = [
"dlib",
"once_cell",
"pkg-config",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "zbus"
version = "4.4.0"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"async-broadcast",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-executor",
"async-fs 2.1.2",
"async-io 2.3.4",
"async-lock 3.4.0",
"async-process 2.2.4",
"async-recursion 1.1.1",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"async-task",
"async-trait",
"blocking",
"enumflags2",
"event-listener 5.3.1",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"futures-core",
"futures-sink",
"futures-util",
"hex",
Update Rust crate nix to 0.29 (#17383) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [nix](https://redirect.github.com/nix-rust/nix) | workspace.dependencies | minor | `0.28` -> `0.29` | --- ### Release Notes <details> <summary>nix-rust/nix (nix)</summary> ### [`v0.29.0`](https://redirect.github.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0290---2024-05-24) [Compare Source](https://redirect.github.com/nix-rust/nix/compare/v0.28.0...v0.29.0) ##### Added - Add `getregset()/setregset()` for Linux/glibc/x86/x86\_64/aarch64/riscv64 and `getregs()/setregs()` for Linux/glibc/aarch64/riscv64 ([#&#8203;2044](https://redirect.github.com/nix-rust/nix/pull/2044)) - Add socket option Ipv6Ttl for apple targets. ([#&#8203;2287](https://redirect.github.com/nix-rust/nix/pull/2287)) - Add socket option UtunIfname. ([#&#8203;2325](https://redirect.github.com/nix-rust/nix/pull/2325)) - make SigAction repr(transparent) & can be converted to the libc raw type ([#&#8203;2326](https://redirect.github.com/nix-rust/nix/pull/2326)) - Add `From` trait implementation for conversions between `sockaddr_in` and `SockaddrIn`, `sockaddr_in6` and `SockaddrIn6` ([#&#8203;2328](https://redirect.github.com/nix-rust/nix/pull/2328)) - Add socket option ReusePortLb for FreeBSD. ([#&#8203;2332](https://redirect.github.com/nix-rust/nix/pull/2332)) - Added support for openat2 on linux. ([#&#8203;2339](https://redirect.github.com/nix-rust/nix/pull/2339)) - Add if_indextoname function. ([#&#8203;2340](https://redirect.github.com/nix-rust/nix/pull/2340)) - Add `mount` and `unmount` API for apple targets. ([#&#8203;2347](https://redirect.github.com/nix-rust/nix/pull/2347)) - Added `_PC_MIN_HOLE_SIZE` for `pathconf` and `fpathconf`. ([#&#8203;2349](https://redirect.github.com/nix-rust/nix/pull/2349)) - Added `impl AsFd for pty::PtyMaster` ([#&#8203;2355](https://redirect.github.com/nix-rust/nix/pull/2355)) - Add `open` flag `O_SEARCH` to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI ([#&#8203;2374](https://redirect.github.com/nix-rust/nix/pull/2374)) - Add prctl function `prctl_set_vma_anon_name` for Linux/Android. ([#&#8203;2378](https://redirect.github.com/nix-rust/nix/pull/2378)) - Add `sync(2)` for `apple_targets/solarish/haiku/aix/hurd`, `syncfs(2)` for `hurd` and `fdatasync(2)` for `aix/hurd` ([#&#8203;2379](https://redirect.github.com/nix-rust/nix/pull/2379)) - Add fdatasync support for Apple targets. ([#&#8203;2380](https://redirect.github.com/nix-rust/nix/pull/2380)) - Add `fcntl::OFlag::O_PATH` for FreeBSD and Fuchsia ([#&#8203;2382](https://redirect.github.com/nix-rust/nix/pull/2382)) - Added `PathconfVar::MIN_HOLE_SIZE` for apple_targets. ([#&#8203;2388](https://redirect.github.com/nix-rust/nix/pull/2388)) - Add `open` flag `O_SEARCH` to apple_targets ([#&#8203;2391](https://redirect.github.com/nix-rust/nix/pull/2391)) - `O_DSYNC` may now be used with `aio_fsync` and `fcntl` on FreeBSD. ([#&#8203;2404](https://redirect.github.com/nix-rust/nix/pull/2404)) - Added `Flock::relock` for upgrading and downgrading locks. ([#&#8203;2407](https://redirect.github.com/nix-rust/nix/pull/2407)) ##### Changed - Change the `ForkptyResult` type to the following repr so that the uninitialized `master` field won't be accessed in the child process: ````rs pub enum ForkptyResult { Parent { child: Pid, master: OwnedFd, }, Child, } ``` ([#&#8203;2315](https://redirect.github.com/nix-rust/nix/pull/2315)) ```` - Updated `cfg_aliases` dependency from version 0.1 to 0.2 ([#&#8203;2322](https://redirect.github.com/nix-rust/nix/pull/2322)) - Change the signature of `ptrace::write` and `ptrace::write_user` to make them safe ([#&#8203;2324](https://redirect.github.com/nix-rust/nix/pull/2324)) - Allow use of `SignalFd` through shared reference Like with many other file descriptors, concurrent use of signalfds is safe. Changing the signal mask of and reading signals from a signalfd can now be done with the `SignalFd` API even if other references to it exist. ([#&#8203;2367](https://redirect.github.com/nix-rust/nix/pull/2367)) - Changed tee, splice and vmsplice RawFd arguments to AsFd. ([#&#8203;2387](https://redirect.github.com/nix-rust/nix/pull/2387)) - Added I/O safety to the sys/aio module. Most functions that previously accepted a `AsRawFd` argument now accept an `AsFd` instead. ([#&#8203;2401](https://redirect.github.com/nix-rust/nix/pull/2401)) - `RecvMsg::cmsgs()` now returns a `Result`, and checks that cmsgs were not truncated. ([#&#8203;2413](https://redirect.github.com/nix-rust/nix/pull/2413)) ##### Fixed - No longer panics when the `fanotify` queue overflows. ([#&#8203;2399](https://redirect.github.com/nix-rust/nix/pull/2399)) - Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to reflect the used kernel's one. ([#&#8203;2406](https://redirect.github.com/nix-rust/nix/pull/2406)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 17:17:46 +03:00
"nix",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"ordered-stream",
"rand 0.8.5",
"serde",
"serde_repr",
"sha1",
"static_assertions",
"tracing",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"uds_windows",
"windows-sys 0.52.0",
"xdg-home",
"zbus_macros",
"zbus_names",
"zvariant",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
]
[[package]]
name = "zbus_macros"
version = "4.4.0"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.76",
"zvariant_utils",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "zbus_names"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
dependencies = [
"serde",
"static_assertions",
"zvariant",
]
[[package]]
name = "zed"
2024-09-04 17:30:40 +03:00
version = "0.153.0"
2023-10-21 18:52:47 +03:00
dependencies = [
"activity_indicator",
2023-10-21 18:52:47 +03:00
"anyhow",
"ashpd",
"assets",
"assistant",
"audio",
"auto_update",
2023-10-21 18:52:47 +03:00
"backtrace",
"breadcrumbs",
"call",
"channel",
2023-10-21 18:52:47 +03:00
"chrono",
"clap",
2023-10-21 18:52:47 +03:00
"cli",
"client",
"collab_ui",
2023-10-21 18:52:47 +03:00
"collections",
"command_palette",
"command_palette_hooks",
"copilot",
"db",
"dev_server_projects",
"diagnostics",
"editor",
"env_logger",
"extension",
"extensions_ui",
"feature_flags",
"feedback",
"file_finder",
File context for assistant panel (#9712) Introducing the Active File Context portion of #9705. When someone is in the assistant panel it now includes the active file as a system message on send while showing them a nice little display in the lower right: ![image](https://github.com/zed-industries/zed/assets/836375/9abc56e0-e8f2-45ee-9e7e-b83b28b483ea) For this iteration, I'd love to see the following before we land this: * [x] Toggle-able context - user should be able to disable sending this context * [x] Show nothing if there is no context coming in * [x] Update token count as we change items * [x] Listen for a more finely scoped event for when the active item changes * [x] Create a global for pulling a file icon based on a path. Zed's main way to do this is nested within project panel's `FileAssociation`s. * [x] Get the code fence name for a Language for the system prompt * [x] Update the token count when the buffer content changes I'm seeing this PR as the foundation for providing other kinds of context -- diagnostic summaries, failing tests, additional files, etc. Release Notes: - Added file context to assistant chat panel ([#9705](https://github.com/zed-industries/zed/issues/9705)). <img width="1558" alt="image" src="https://github.com/zed-industries/zed/assets/836375/86eb7e50-3e28-4754-9c3f-895be588616d"> --------- Co-authored-by: Conrad Irwin <conrad@zed.dev> Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-29 23:55:01 +03:00
"file_icons",
"fs",
Update Rust crate futures to v0.3.30 (#15575) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.28` -> `0.3.30` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.30`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0330---2023-12-24) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.29...0.3.30) - Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` ([#&#8203;2797](https://togithub.com/rust-lang/futures-rs/issues/2797)) - Fix panic in `FuturesUnordered::clear` ([#&#8203;2809](https://togithub.com/rust-lang/futures-rs/issues/2809)) - Fix panic in `AsyncBufReadExt::fill_buf` ([#&#8203;2801](https://togithub.com/rust-lang/futures-rs/issues/2801), [#&#8203;2812](https://togithub.com/rust-lang/futures-rs/issues/2812)) - Improve support for targets without atomic CAS ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) - Remove build scripts ([#&#8203;2811](https://togithub.com/rust-lang/futures-rs/issues/2811)) ### [`v0.3.29`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0329---2023-10-26) [Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.28...0.3.29) - Add `TryStreamExt::try_ready_chunks` ([#&#8203;2757](https://togithub.com/rust-lang/futures-rs/issues/2757)) - Add `TryStreamExt::{try_all,try_any}` ([#&#8203;2783](https://togithub.com/rust-lang/futures-rs/issues/2783)) - Add `UnboundedSender::{len,is_empty}` ([#&#8203;2750](https://togithub.com/rust-lang/futures-rs/issues/2750)) - Fix `Sync` impl of `FuturesUnordered` ([#&#8203;2788](https://togithub.com/rust-lang/futures-rs/issues/2788)) - Fix infinite loop caused by invalid UTF-8 bytes ([#&#8203;2785](https://togithub.com/rust-lang/futures-rs/issues/2785)) - Fix build error with -Z minimal-versions ([#&#8203;2761](https://togithub.com/rust-lang/futures-rs/issues/2761)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 02:35:55 +03:00
"futures 0.3.30",
"git",
"git_hosting_providers",
"go_to_line",
"gpui",
"headless",
"http_client",
"image_viewer",
"inline_completion_button",
"install_cli",
2023-10-21 18:52:47 +03:00
"isahc",
"journal",
"language",
"language_model",
"language_selector",
"language_tools",
"languages",
"libc",
2023-10-21 18:52:47 +03:00
"log",
"markdown_preview",
"menu",
"mimalloc",
Update Rust crate nix to 0.29 (#17383) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [nix](https://redirect.github.com/nix-rust/nix) | workspace.dependencies | minor | `0.28` -> `0.29` | --- ### Release Notes <details> <summary>nix-rust/nix (nix)</summary> ### [`v0.29.0`](https://redirect.github.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0290---2024-05-24) [Compare Source](https://redirect.github.com/nix-rust/nix/compare/v0.28.0...v0.29.0) ##### Added - Add `getregset()/setregset()` for Linux/glibc/x86/x86\_64/aarch64/riscv64 and `getregs()/setregs()` for Linux/glibc/aarch64/riscv64 ([#&#8203;2044](https://redirect.github.com/nix-rust/nix/pull/2044)) - Add socket option Ipv6Ttl for apple targets. ([#&#8203;2287](https://redirect.github.com/nix-rust/nix/pull/2287)) - Add socket option UtunIfname. ([#&#8203;2325](https://redirect.github.com/nix-rust/nix/pull/2325)) - make SigAction repr(transparent) & can be converted to the libc raw type ([#&#8203;2326](https://redirect.github.com/nix-rust/nix/pull/2326)) - Add `From` trait implementation for conversions between `sockaddr_in` and `SockaddrIn`, `sockaddr_in6` and `SockaddrIn6` ([#&#8203;2328](https://redirect.github.com/nix-rust/nix/pull/2328)) - Add socket option ReusePortLb for FreeBSD. ([#&#8203;2332](https://redirect.github.com/nix-rust/nix/pull/2332)) - Added support for openat2 on linux. ([#&#8203;2339](https://redirect.github.com/nix-rust/nix/pull/2339)) - Add if_indextoname function. ([#&#8203;2340](https://redirect.github.com/nix-rust/nix/pull/2340)) - Add `mount` and `unmount` API for apple targets. ([#&#8203;2347](https://redirect.github.com/nix-rust/nix/pull/2347)) - Added `_PC_MIN_HOLE_SIZE` for `pathconf` and `fpathconf`. ([#&#8203;2349](https://redirect.github.com/nix-rust/nix/pull/2349)) - Added `impl AsFd for pty::PtyMaster` ([#&#8203;2355](https://redirect.github.com/nix-rust/nix/pull/2355)) - Add `open` flag `O_SEARCH` to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI ([#&#8203;2374](https://redirect.github.com/nix-rust/nix/pull/2374)) - Add prctl function `prctl_set_vma_anon_name` for Linux/Android. ([#&#8203;2378](https://redirect.github.com/nix-rust/nix/pull/2378)) - Add `sync(2)` for `apple_targets/solarish/haiku/aix/hurd`, `syncfs(2)` for `hurd` and `fdatasync(2)` for `aix/hurd` ([#&#8203;2379](https://redirect.github.com/nix-rust/nix/pull/2379)) - Add fdatasync support for Apple targets. ([#&#8203;2380](https://redirect.github.com/nix-rust/nix/pull/2380)) - Add `fcntl::OFlag::O_PATH` for FreeBSD and Fuchsia ([#&#8203;2382](https://redirect.github.com/nix-rust/nix/pull/2382)) - Added `PathconfVar::MIN_HOLE_SIZE` for apple_targets. ([#&#8203;2388](https://redirect.github.com/nix-rust/nix/pull/2388)) - Add `open` flag `O_SEARCH` to apple_targets ([#&#8203;2391](https://redirect.github.com/nix-rust/nix/pull/2391)) - `O_DSYNC` may now be used with `aio_fsync` and `fcntl` on FreeBSD. ([#&#8203;2404](https://redirect.github.com/nix-rust/nix/pull/2404)) - Added `Flock::relock` for upgrading and downgrading locks. ([#&#8203;2407](https://redirect.github.com/nix-rust/nix/pull/2407)) ##### Changed - Change the `ForkptyResult` type to the following repr so that the uninitialized `master` field won't be accessed in the child process: ````rs pub enum ForkptyResult { Parent { child: Pid, master: OwnedFd, }, Child, } ``` ([#&#8203;2315](https://redirect.github.com/nix-rust/nix/pull/2315)) ```` - Updated `cfg_aliases` dependency from version 0.1 to 0.2 ([#&#8203;2322](https://redirect.github.com/nix-rust/nix/pull/2322)) - Change the signature of `ptrace::write` and `ptrace::write_user` to make them safe ([#&#8203;2324](https://redirect.github.com/nix-rust/nix/pull/2324)) - Allow use of `SignalFd` through shared reference Like with many other file descriptors, concurrent use of signalfds is safe. Changing the signal mask of and reading signals from a signalfd can now be done with the `SignalFd` API even if other references to it exist. ([#&#8203;2367](https://redirect.github.com/nix-rust/nix/pull/2367)) - Changed tee, splice and vmsplice RawFd arguments to AsFd. ([#&#8203;2387](https://redirect.github.com/nix-rust/nix/pull/2387)) - Added I/O safety to the sys/aio module. Most functions that previously accepted a `AsRawFd` argument now accept an `AsFd` instead. ([#&#8203;2401](https://redirect.github.com/nix-rust/nix/pull/2401)) - `RecvMsg::cmsgs()` now returns a `Result`, and checks that cmsgs were not truncated. ([#&#8203;2413](https://redirect.github.com/nix-rust/nix/pull/2413)) ##### Fixed - No longer panics when the `fanotify` queue overflows. ([#&#8203;2399](https://redirect.github.com/nix-rust/nix/pull/2399)) - Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to reflect the used kernel's one. ([#&#8203;2406](https://redirect.github.com/nix-rust/nix/pull/2406)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 17:17:46 +03:00
"nix",
2023-10-21 18:52:47 +03:00
"node_runtime",
"notifications",
"outline",
Introduce an outline panel (#12637) Adds a new panel: `OutlinePanel` which looks very close to project panel: <img width="256" alt="Screenshot 2024-06-10 at 23 19 05" src="https://github.com/zed-industries/zed/assets/2690773/c66e6e78-44ec-4de8-8d60-43238bb09ae9"> has similar settings and keymap (actions work in the `OutlinePanel` context and are under `outline_panel::` namespace), with two notable differences: * no "edit" actions such as cut/copy/paste/delete/etc. * directory auto folding is enabled by default Empty view: <img width="841" alt="Screenshot 2024-06-10 at 23 19 11" src="https://github.com/zed-industries/zed/assets/2690773/dc8bf37c-5a70-4fd5-9b57-76271eb7a40c"> When editor gets active, the panel displays all related files in a tree (similar to what the project panel does) and all related excerpts' outlines under each file. Same as in the project panel, directories can be expanded or collapsed, unfolded or folded; clicking file entries or outlines scrolls the buffer to the corresponding excerpt; changing editor's selection reveals the corresponding outline in the panel. The panel is applicable to any singleton buffer: <img width="1215" alt="Screenshot 2024-06-10 at 23 19 35" src="https://github.com/zed-industries/zed/assets/2690773/a087631f-5c2d-4d4d-ae25-30ab9731d528"> <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/e4f8082c-d12d-4473-8500-e8fd1051285b"> or any multi buffer: (search multi buffer) <img width="1728" alt="Screenshot 2024-06-10 at 23 19 41" src="https://github.com/zed-industries/zed/assets/2690773/60f768a3-6716-4520-9b13-42da8fd15f50"> (diagnostics multi buffer) <img width="1728" alt="image" src="https://github.com/zed-industries/zed/assets/2690773/64e285bd-9530-4bf2-8f1f-10ee5596067c"> Release Notes: - Added an outline panel to show a "map" of the active editor
2024-06-12 23:22:52 +03:00
"outline_panel",
"parking_lot",
"paths",
"profiling",
"project",
"project_panel",
"project_symbols",
"quick_action_bar",
"recent_projects",
"release_channel",
"remote",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"repl",
"rope",
"search",
2023-10-21 18:52:47 +03:00
"serde",
"serde_json",
"session",
"settings",
"settings_ui",
2023-10-21 18:52:47 +03:00
"simplelog",
"smol",
"snippet_provider",
"supermaven",
"sysinfo",
Add tab switcher (#7987) The Tab Switcher implementation (#7653): - `ctrl-tab` opens the Tab Switcher and moves selection to the previously selcted tab. It also cycles selection forward. - `ctrl-shift-tab` opens the Tab Switcher and moves selection to the last tab in the list. It also cycles selection backward. - Tab is selected and the Tab Switcher is closed on the shortcut modifier key (`ctrl` by default) release. - List items are in reverse activation history order. - The list reacts to the item changes in background (new tab, tab closed, tab title changed etc.) Intentionally not in scope of this PR: - File icons - Close buttons I will come back to these features. I think they need to be implemented in separate PRs, and be synchronized with changes in how tabs are rendered, to reuse the code as it's done in the current implementation. The Tab Switcher looks usable even without them. Known Issues: Tab Switcher doesn't react to mouse click on a list item. It's not a tab switcher specific problem, it looks like ctrl-clicks are not handled the same way in Zed as cmd-clicks. For instance, menu items can be activated with cmd-click, but don't react to ctrl-click. Since the Tab Switcher's default keybinding is `ctrl-tab`, the user can only click an item with `ctrl` pushed down, thus preventing `on_click()` from firing. fixes #7653, #7321 Release Notes: - Added Tab Switcher which is accessible via `ctrl-tab` and `ctrl-shift-tab` (#7653) (#7321) Related issues: - Unblocks #7356, I hope 😄 How it looks and works (it's only `ctrl-tab`'s and `ctrl-shift-tab`'s, no `enter`'s or mouse clicks): https://github.com/zed-industries/zed/assets/2101250/4ad4ec6a-5314-481b-8b35-7ac85e43eb92 --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-27 21:15:08 +03:00
"tab_switcher",
"task",
"tasks_ui",
"telemetry_events",
"terminal_view",
"theme",
"theme_selector",
"time",
"tree-sitter-md",
2023-10-21 18:52:47 +03:00
"tree-sitter-rust",
"ui",
"url",
2023-10-21 18:52:47 +03:00
"urlencoding",
"util",
"uuid",
"vim",
"welcome",
"windows 0.58.0",
"winresource",
"workspace",
"zed_actions",
]
2023-11-09 19:54:05 +03:00
[[package]]
name = "zed_actions"
2023-11-09 19:54:05 +03:00
version = "0.1.0"
dependencies = [
"gpui",
2023-11-09 19:54:05 +03:00
"serde",
2023-10-21 18:52:47 +03:00
]
[[package]]
name = "zed_astro"
version = "0.1.0"
dependencies = [
"serde",
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_clojure"
version = "0.0.3"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_csharp"
version = "0.0.2"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_dart"
version = "0.0.3"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_deno"
version = "0.0.2"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_elixir"
version = "0.0.9"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_elm"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_emmet"
version = "0.0.3"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_erlang"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_extension_api"
version = "0.1.0"
dependencies = [
"serde",
"serde_json",
"wit-bindgen",
]
[[package]]
name = "zed_extension_api"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "594fd10dd0f2f853eb243e2425e7c95938cef49adb81d9602921d002c5e6d9d9"
dependencies = [
"serde",
"serde_json",
"wit-bindgen",
]
[[package]]
name = "zed_gleam"
version = "0.2.0"
dependencies = [
"html_to_markdown 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_glsl"
version = "0.1.0"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_haskell"
version = "0.1.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_html"
version = "0.1.2"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_lua"
version = "0.0.3"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_ocaml"
version = "0.0.2"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_php"
version = "0.1.3"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_prisma"
version = "0.0.3"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_purescript"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_ruby"
version = "0.2.0"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_ruff"
version = "0.0.2"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_snippets"
version = "0.0.5"
dependencies = [
"serde_json",
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_svelte"
version = "0.1.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_terraform"
version = "0.1.0"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_test_extension"
version = "0.1.0"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_toml"
version = "0.1.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_uiua"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_vue"
version = "0.1.0"
dependencies = [
"serde",
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_zig"
version = "0.3.0"
dependencies = [
"zed_extension_api 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zeno"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697"
[[package]]
name = "zerocopy"
version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
dependencies = [
"byteorder",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
[[package]]
name = "zeroize"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
dependencies = [
"zeroize_derive",
]
[[package]]
name = "zeroize_derive"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
[[package]]
name = "zeromq"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb0560d00172817b7f7c2265060783519c475702ae290b154115ca75e976d4d0"
dependencies = [
"async-dispatcher",
"async-std",
"async-trait",
"asynchronous-codec",
"bytes 1.7.1",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"crossbeam-queue",
"dashmap 5.5.3",
Bring Jupyter to Zed Editing (#12062) Run any Jupyter kernel in Zed on any buffer (editor): <img width="1074" alt="image" src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470"> ## TODO ### Lifecycle * [x] Launch kernels on demand * [x] Wait for kernel to be started * [x] Request Kernel info on start * [x] Show in progress indicator * [ ] Allow picking kernel (it defaults to first matching language name) * [ ] Menu for interrupting and shutting down the kernel * [ ] Drop running kernels once editor is dropped ### Media Outputs * [x] Render text and tracebacks with ANSI color handling * [x] Render markdown as text * [x] Render PNG and JPEG images using an explicit height based on line-height * ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG support * [ ] Process `update_display_data` message and related `display_id` * [x] Process `page` data from payloads as outputs * [ ] Render markdown as, well, rendered markdown -- Note: unsure if we can get line heights here ### Document * [x] Select code and run * [x] Run current line * [x] Clear previous overlapping runs * [ ] Support running markdown code blocks * [ ] Action to export session as notebook or output files * [ ] Action to clear all outputs * [ ] Delete outputs when lines are deleted ## Other missing features The following is a list of missing functionality or expectations that are out of scope for this PR. ### Python Environments Detecting python environments should probably be done in a separate PR in tandem with how they're used with LSP. Users likely want to pick an environment for their project, whether a virtualenv, conda env, pyenv, poetry backed virtualenv, or the system. Related issues: * https://github.com/zed-industries/zed/issues/7646 * https://github.com/zed-industries/zed/issues/7808 * https://github.com/zed-industries/zed/issues/7296 ### LSP Integration * Submit `complete_request` messages for completions to interleave interactive variables with LSP * LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.) ## Future release notes - Run code in any editor, whether it's a script or a markdown document Release Notes: - N/A
2024-06-17 20:02:31 +03:00
"futures-channel",
"futures-io",
"futures-task",
"futures-util",
"log",
"num-traits",
"once_cell",
"parking_lot",
"rand 0.8.5",
"regex",
"thiserror",
"uuid",
]
[[package]]
name = "zstd"
2022-06-02 11:51:27 +03:00
version = "0.11.2+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-06-02 11:51:27 +03:00
checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
2022-06-02 11:51:27 +03:00
version = "5.0.2+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-06-02 11:51:27 +03:00
checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
dependencies = [
"libc",
"zstd-sys",
]
[[package]]
name = "zstd-sys"
version = "2.0.13+zstd.1.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa"
dependencies = [
"cc",
"pkg-config",
]
[[package]]
name = "zune-core"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
[[package]]
name = "zune-inflate"
version = "0.2.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
dependencies = [
"simd-adler32",
]
[[package]]
name = "zune-jpeg"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768"
dependencies = [
"zune-core",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "zvariant"
version = "4.2.0"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"endi",
"enumflags2",
"serde",
"static_assertions",
"url",
"zvariant_derive",
]
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
[[package]]
name = "zvariant_derive"
version = "4.2.0"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449"
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
dependencies = [
"proc-macro-crate",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"proc-macro2",
"quote",
"syn 2.0.76",
linux: add credentials impl via oo7 (#8035) This change implements gpui's credentials API for the linux platform, using the [`oo7`](https://lib.rs/crates/oo7) library. We had a short discussion on Discord about where to store credentials and landed on the two dbus APIs [`org.freedesktop.Secrets`](https://specifications.freedesktop.org/secret-service/latest/index.html) and [`org.freedesktop.portal.Secrets`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html). The first one provides access to a more or less general purpose keystore, the second provides a way of obtaining a unique masterkey which in turn can be used for encrypting stuff and storing it to disk (especially interesting for sandboxed apps, think flatpak/snap). I decided to give the implementation a try with `oo7`, which uses the portal if the app is sandboxed and the secret service otherwise. If we do not want to use that library, we would probably have to more or less copy its functionality anyways. I also heard rumors of eventually changing the credentials API and I think this implementation serves as a starting point to discuss the need for this? With a working credentials implementation the sign in button now works (it panicked before). Todos: - [x] implement keystore unlocking - [x] try the change with oo7's tracing enabled? - [x] test the password deletion Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me> Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-03-04 00:54:06 +03:00
"zvariant_utils",
]
[[package]]
name = "zvariant_utils"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
]