Commit Graph

8969 Commits

Author SHA1 Message Date
Rakesh Emmadi
30d38fa599 Reapply "subscriptions: Unhide OpenDd Metadata and lift from unstability" (#1254)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 3458ea1e5ebe2d7387a7e503f957e5d55f225599
2024-10-21 16:37:53 +00:00
paritosh-08
90780c049c disallow defining boolean expression of array fields with scalar boolean type (#1251)
<!-- The PR description should answer 2 important questions: -->

### What

This PR adds a check to disallow defining boolean expression of array
fields with scalar boolean type while resolving the boolean expression
`comparable_fields`.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: e9fd2feaff5a20d05b51b9ccd2a460f2b7e767dc
2024-10-21 14:31:17 +00:00
Daniel Harvey
4160b783fe Changelog for v2024.10.21 release (#1248)
Update changelog.

V3_GIT_ORIGIN_REV_ID: 469adb7ecab0ee0ed3a156e0a8e55db993af5619
2024-10-21 13:23:17 +00:00
dependabot[bot]
9e35246aca Bump futures from 0.3.30 to 0.3.31 (#1245)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.30 to
0.3.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/releases">futures's
releases</a>.</em></p>
<blockquote>
<h2>0.3.31</h2>
<ul>
<li>Fix use after free of task in <code>FuturesUnordered</code> when
dropped future panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2886">#2886</a>)</li>
<li>Fix soundness bug in <code>task::waker_ref</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2830">#2830</a>)
This is a breaking change but allowed because it is soundness bug
fix.</li>
<li>Fix bugs in <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li>Fix parsing issue in
<code>select!</code>/<code>select_biased!</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2832">#2832</a>)
This is technically a breaking change as it will now reject a very odd
undocumented syntax that was previously accidentally accepted.</li>
<li>Work around issue due to upstream <code>Waker::will_wake</code>
change (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li>Add <code>stream::Iter::{get_ref,get_mut,into_inner}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li>Add <code>future::AlwaysReady</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2825">#2825</a>)</li>
<li>Relax trait bound on non-constructor methods of
<code>io::{BufReader,BufWriter}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2848">#2848</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's
changelog</a>.</em></p>
<blockquote>
<h1>0.3.31 - 2024-10-05</h1>
<ul>
<li>Fix use after free of task in <code>FuturesUnordered</code> when
dropped future panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2886">#2886</a>)</li>
<li>Fix soundness bug in <code>task::waker_ref</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2830">#2830</a>)
This is a breaking change but allowed because it is soundness bug
fix.</li>
<li>Fix bugs in <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li>Fix parsing issue in
<code>select!</code>/<code>select_biased!</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2832">#2832</a>)
This is technically a breaking change as it will now reject a very odd
undocumented syntax that was previously accidentally accepted.</li>
<li>Work around issue due to upstream <code>Waker::will_wake</code>
change (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li>Add <code>stream::Iter::{get_ref,get_mut,into_inner}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li>Add <code>future::AlwaysReady</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2825">#2825</a>)</li>
<li>Relax trait bound on non-constructor methods of
<code>io::{BufReader,BufWriter}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2848">#2848</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1e052816b0"><code>1e05281</code></a>
Release 0.3.31</li>
<li><a
href="8a8b085a8c"><code>8a8b085</code></a>
Fix clippy::uninit_vec warning</li>
<li><a
href="f3fb74df31"><code>f3fb74d</code></a>
Document how <code>BoxFuture</code>s / <code>BoxStream</code>s are often
made (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2887">#2887</a>)</li>
<li><a
href="f00e7afb46"><code>f00e7af</code></a>
Fix use after free of task in FuturesUnordered when dropped future
panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2">#2</a>...</li>
<li><a
href="33c46b3dc6"><code>33c46b3</code></a>
ci: Work around sanitizer issue on latest Linux kernel</li>
<li><a
href="7bf5a72826"><code>7bf5a72</code></a>
Fix issues with <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li><a
href="87afaf3973"><code>87afaf3</code></a>
Use <code>#[inline(always)]</code> on <code>clone_arc_raw</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li><a
href="549b90b179"><code>549b90b</code></a>
Add accessors for the inner of stream::Iter (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li><a
href="07b004ac7e"><code>07b004a</code></a>
Add missing symbols (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2883">#2883</a>)</li>
<li><a
href="86dc069fa2"><code>86dc069</code></a>
Various fixes too make the CI green (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2885">#2885</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.30&new-version=0.3.31)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: a0f54b87b6dc6bc86308e1ac75a7c7a2356a44f1
2024-10-21 09:49:33 +00:00
dependabot[bot]
816992f1e4 Bump openssl from 0.10.66 to 0.10.68 (#1244)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.66
to 0.10.68.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sfackler/rust-openssl/releases">openssl's
releases</a>.</em></p>
<blockquote>
<h2>openssl-v0.10.68</h2>
<h2>What's Changed</h2>
<ul>
<li>fixes <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2317">#2317</a>
-- restore compatibility with our MSRV and release openssl 0.9.68 by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2318">sfackler/rust-openssl#2318</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.67...openssl-v0.10.68">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.67...openssl-v0.10.68</a></p>
<h2>openssl-v0.10.67</h2>
<h2>What's Changed</h2>
<ul>
<li>Added a utility function to ensure we never have an issue with
0-length slices from pointers again by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2268">sfackler/rust-openssl#2268</a></li>
<li>Fix CI for the latest rustc by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2271">sfackler/rust-openssl#2271</a></li>
<li>Add binding for EVP_DigestSqueeze by <a
href="https://github.com/initsecret"><code>@​initsecret</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2270">sfackler/rust-openssl#2270</a></li>
<li>libressl 4.0: const correctness for X509_LOOKUP_METHOD by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2276">sfackler/rust-openssl#2276</a></li>
<li>Bump hex dev-dependency version by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2277">sfackler/rust-openssl#2277</a></li>
<li>Raise bindgen version by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2278">sfackler/rust-openssl#2278</a></li>
<li>Ensure Rsa::check_key doesn't leave errors on the stack by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2279">sfackler/rust-openssl#2279</a></li>
<li>Update some docs to use the corresponds macro by <a
href="https://github.com/rushilmehra"><code>@​rushilmehra</code></a> in
<a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2282">sfackler/rust-openssl#2282</a></li>
<li>Don't leave errors on the stack in
<code>MdCtxRef::digest_verify_final</code> by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2283">sfackler/rust-openssl#2283</a></li>
<li>Adjustments for LibreSSL 4 by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2287">sfackler/rust-openssl#2287</a></li>
<li>Explicit rustfmt config by <a
href="https://github.com/kornelski"><code>@​kornelski</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2285">sfackler/rust-openssl#2285</a></li>
<li>add basic EVP_KDF bindings by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2289">sfackler/rust-openssl#2289</a></li>
<li>add ossl3 thread pool bindings by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2293">sfackler/rust-openssl#2293</a></li>
<li>add argon2id support for ossl 3.2+ by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2290">sfackler/rust-openssl#2290</a></li>
<li>fix 3.2.0 thread support and simplify by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2294">sfackler/rust-openssl#2294</a></li>
<li>add libctx arg to argon2id by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2295">sfackler/rust-openssl#2295</a></li>
<li>support using threads in argon2id by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2296">sfackler/rust-openssl#2296</a></li>
<li>Ensure beginning and end of the error output is readable by <a
href="https://github.com/kornelski"><code>@​kornelski</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2284">sfackler/rust-openssl#2284</a></li>
<li>Test against 3.4.0-alpha1 by <a
href="https://github.com/sfackler"><code>@​sfackler</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2302">sfackler/rust-openssl#2302</a></li>
<li>Resolve clippy warnings from nightly by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2310">sfackler/rust-openssl#2310</a></li>
<li>fixes <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2311">#2311</a>
-- silencer resolver warnings by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2312">sfackler/rust-openssl#2312</a></li>
<li>Bump to 3.4.0-beta1 by <a
href="https://github.com/sfackler"><code>@​sfackler</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2313">sfackler/rust-openssl#2313</a></li>
<li>LibreSSL 4.0.0 by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2315">sfackler/rust-openssl#2315</a></li>
<li>Release openssl v0.10.67 and openssl-sys v0.9.104 by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2316">sfackler/rust-openssl#2316</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/initsecret"><code>@​initsecret</code></a> made
their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2270">sfackler/rust-openssl#2270</a></li>
<li><a
href="https://github.com/rushilmehra"><code>@​rushilmehra</code></a>
made their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2282">sfackler/rust-openssl#2282</a></li>
<li><a href="https://github.com/kornelski"><code>@​kornelski</code></a>
made their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2285">sfackler/rust-openssl#2285</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.66...openssl-v0.10.67">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.66...openssl-v0.10.67</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="be8dcfd1d7"><code>be8dcfd</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2318">#2318</a>
from alex/msrv-fix</li>
<li><a
href="065cc77d0c"><code>065cc77</code></a>
fixes <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2317">#2317</a>
-- restore compatibility with our MSRV and release openssl 0.9.68</li>
<li><a
href="7b3ec80b19"><code>7b3ec80</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2316">#2316</a>
from alex/bump-for-release</li>
<li><a
href="b510e8c2c2"><code>b510e8c</code></a>
Release openssl v0.10.67 and openssl-sys v0.9.104</li>
<li><a
href="ee3b024a7f"><code>ee3b024</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2315">#2315</a>
from botovq/libressl-4.0.0</li>
<li><a
href="c4dabc2fc2"><code>c4dabc2</code></a>
CI: Update LibreSSL CI</li>
<li><a
href="f9027b7549"><code>f9027b7</code></a>
LibreSSL 4.0.0 is released &amp; stable</li>
<li><a
href="1b51ba5de0"><code>1b51ba5</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2313">#2313</a>
from sfackler/sfackler-patch-1</li>
<li><a
href="de8a97c1b5"><code>de8a97c</code></a>
Bump to 3.4.0-beta1</li>
<li><a
href="39304643c0"><code>3930464</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2312">#2312</a>
from sfackler/alex-patch-1</li>
<li>Additional commits viewable in <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.66...openssl-v0.10.68">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openssl&package-manager=cargo&previous-version=0.10.66&new-version=0.10.68)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 3c1637d1a3303816247275d263bffb659fe4ab6c
2024-10-21 09:47:11 +00:00
dependabot[bot]
d157aa9382 Bump clap from 4.5.19 to 4.5.20 (#1243)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.19 to 4.5.20.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.20] - 2024-10-08</h2>
<h3>Features</h3>
<ul>
<li><em>(unstable)</em> Add <code>CommandExt</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5034cabe54"><code>5034cab</code></a>
chore: Release</li>
<li><a
href="b5b690c459"><code>b5b690c</code></a>
docs: Update changelog</li>
<li><a
href="abba1965be"><code>abba196</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5688">#5688</a>
from epage/rename</li>
<li><a
href="6ddd5d4e11"><code>6ddd5d4</code></a>
fix(complete)!: Rename ArgValueCompleter to ArgValueCandidates</li>
<li><a
href="71c5e27f8b"><code>71c5e27</code></a>
fix(complete)!: Rename CustomCompleter to ValueCandidates</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.19...clap_complete-v4.5.20">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.19&new-version=4.5.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 085e52fb180dd3d0c503d14cf2163accac24da68
2024-10-21 09:47:06 +00:00
dependabot[bot]
6ee7a183d4 Bump syn from 2.0.79 to 2.0.82 (#1242)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.79 to 2.0.82.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.82</h2>
<ul>
<li>Provide <code>Parse</code> impls for PreciseCapture and
CapturedParam (<a
href="https://redirect.github.com/dtolnay/syn/issues/1757">#1757</a>, <a
href="https://redirect.github.com/dtolnay/syn/issues/1758">#1758</a>)</li>
<li>Support parsing <code>unsafe</code> attributes (<a
href="https://redirect.github.com/dtolnay/syn/issues/1759">#1759</a>)</li>
<li>Add Fold and VisitMut methods for Vec&lt;Attribute&gt; (<a
href="https://redirect.github.com/dtolnay/syn/issues/1762">#1762</a>)</li>
</ul>
<h2>2.0.81</h2>
<ul>
<li>Add TypeParamBound::PreciseCapture to represent precise capture
syntax <code>impl Trait + use&lt;'a, T&gt;</code> (<a
href="https://redirect.github.com/dtolnay/syn/issues/1752">#1752</a>, <a
href="https://redirect.github.com/dtolnay/syn/issues/1753">#1753</a>, <a
href="https://redirect.github.com/dtolnay/syn/issues/1754">#1754</a>)</li>
</ul>
<h2>2.0.80</h2>
<ul>
<li>Add <code>Expr::RawAddr</code> (<a
href="https://redirect.github.com/dtolnay/syn/issues/1743">#1743</a>)</li>
<li>Reject precise captures and ~const in inappropriate syntax positions
(<a
href="https://redirect.github.com/dtolnay/syn/issues/1747">#1747</a>)</li>
<li>Reject trait bound containing only precise capture (<a
href="https://redirect.github.com/dtolnay/syn/issues/1748">#1748</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="76092cf236"><code>76092cf</code></a>
Release 2.0.82</li>
<li><a
href="937dbcb95c"><code>937dbcb</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1762">#1762</a>
from dtolnay/vecattr</li>
<li><a
href="386ae9da28"><code>386ae9d</code></a>
Add Fold and VisitMut methods for Vec&lt;Attribute&gt;</li>
<li><a
href="4c7f82e6fc"><code>4c7f82e</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1759">#1759</a>
from dtolnay/unsafeattr</li>
<li><a
href="a45af00fdf"><code>a45af00</code></a>
Parse unsafe attributes</li>
<li><a
href="e011ba794a"><code>e011ba7</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1758">#1758</a>
from dtolnay/precisecapture</li>
<li><a
href="c25900d5f4"><code>c25900d</code></a>
Implement Parse for CapturedParam</li>
<li><a
href="fc22fcea08"><code>fc22fce</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1757">#1757</a>
from dtolnay/precisecapture</li>
<li><a
href="3a45d69b8b"><code>3a45d69</code></a>
Implement Parse for PreciseCapture</li>
<li><a
href="c9bdfacf92"><code>c9bdfac</code></a>
Tweak parsing logic for TypeParamBound</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.79...2.0.82">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.79&new-version=2.0.82)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: ac1e763ef4c423426042dd8e913246b8be7de489
2024-10-21 09:45:17 +00:00
dependabot[bot]
2922ef2ef3 Bump uuid from 1.10.0 to 1.11.0 (#1241)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.10.0 to 1.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/uuid-rs/uuid/releases">uuid's
releases</a>.</em></p>
<blockquote>
<h2>1.11.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgrade zerocopy to 0.8 by <a
href="https://github.com/yotamofek"><code>@​yotamofek</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/771">uuid-rs/uuid#771</a></li>
<li>Prepare for 1.11.0 release by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/772">uuid-rs/uuid#772</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/yotamofek"><code>@​yotamofek</code></a>
made their first contribution in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/771">uuid-rs/uuid#771</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/uuid-rs/uuid/compare/1.10.0...1.11.0">https://github.com/uuid-rs/uuid/compare/1.10.0...1.11.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4473398413"><code>4473398</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/772">#772</a> from
uuid-rs/cargo/1.11.0</li>
<li><a
href="59fbb1e695"><code>59fbb1e</code></a>
prepare for 1.11.0 release</li>
<li><a
href="d9b34e7c93"><code>d9b34e7</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/771">#771</a> from
yotamofek/zerocopy_0.8</li>
<li><a
href="14b24206c6"><code>14b2420</code></a>
Upgrade zerocopy to 0.8</li>
<li>See full diff in <a
href="https://github.com/uuid-rs/uuid/compare/1.10.0...1.11.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.10.0&new-version=1.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 5cf67c5420db19db93e6886176c495242d712511
2024-10-21 09:33:58 +00:00
Abhinav Gupta
0ac2fbb2e1 Revert "subscriptions: Unhide OpenDd Metadata and lift from unstability" (#1246)
Reverts hasura/v3-engine#1225

According to @danieljharvey, websockets don't currently work in
multitenant and we want to do a release using a commit after this one.

V3_GIT_ORIGIN_REV_ID: 2d9239ab3203d5acbedef1cd86644861a99c99b2
2024-10-21 04:51:11 +00:00
Daniel Harvey
065035631c Check JSONAPI sorting (#1234)
<!-- The PR description should answer 2 important questions: -->

### What

Wasn't sure what was implemented, added some tests, it's working.

This PR is stacked on top of
https://github.com/hasura/v3-engine/pull/1233

V3_GIT_ORIGIN_REV_ID: fbfce6dd8ce325c5a1659db2755a09c7728030f2
2024-10-18 11:08:36 +00:00
Rakesh Emmadi
db19cf965a subscriptions: Unhide OpenDd Metadata and lift from unstability (#1225)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
- Remove `enable-subscriptions` from unstable features.
- Expose the subscriptions related opendd metadata in the json schema

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
- Update unstable feature related types by dropping subscriptions.
- Remove `hidden=true` opendd attribute and other related on
subscription opendd metadata.
- Update json schema files

V3_GIT_ORIGIN_REV_ID: 0aa763f516d394aab2e375da0817d0e60228c9b2
2024-10-18 09:21:13 +00:00
Phil Freeman
16118760fd [ENG-643] Support array-valued session variables (#1221)
<!-- The PR description should answer 2 important questions: -->

### What

Allows JSON arrays in session variables.

### How

If the type of a session variable isn't special (custom scalar, string,
or ID), then we parse the header as JSON, and switch into
type-_checking_ mode, returning the JSON wholesale if the type matches.

V3_GIT_ORIGIN_REV_ID: 386558898a188c06b73270a90020a20ff963f5a0
2024-10-17 19:41:36 +00:00
Rakesh Emmadi
a0b998ad7c subscriptions: respect allow_subscriptions in select permissions (#1235)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

Until now the `allow_subscriptions` in select permission is no-op. This
PR implements its intended functionality, i.e, do not generate
subscription root field schema for models that don't have
`allow_subscriptions: true`.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
- Plumb the `allow_subscriptions` value to namespace annotation.
- Modify subscription root field annotations; filter roles by
allow_subscriptions.
- Add a check in IR generation for the permission and raise an internal
error, if the check fails.

V3_GIT_ORIGIN_REV_ID: 98120809b1294716c96c190e1b6ec875635b5da1
2024-10-17 16:18:09 +00:00
Daniel Harvey
c80d0db252 Tidy JSONAPI up (#1233)
<!-- The PR description should answer 2 important questions: -->

### What

Work so far has been mostly in one big file, let's split it up a bit so
we can see what is going on better.

### How

Move code around. No functional changes.

V3_GIT_ORIGIN_REV_ID: 7dbb2ea8d66de845a0e725edf61eede65cd2d994
2024-10-17 15:59:02 +00:00
Daniel Harvey
1879d1bb75 Enable argument presets in OpenDD pipeline (#1228)
<!-- The PR description should answer 2 important questions: -->

### What

This PR enables argument presets in the OpenDD pipeline by using
functions from `graphql_ir`. In the ideal future we'd flip the
dependency and move these functions out of `graphql_ir` and into the
`plan` crate, however we can't do that until `execute` crate is no
longer in active development as it will involve making a big mess there.

### How

- Calculate argument presets in the `plan/query/model_target` module
using functions from `graphql_ir`
- We also begin adding boolean expression resolve, then back away slowly
as it's a massive job and better tackled when we start making `where`
clauses work in this pipeline, to stop this PR ballooning insanely.

V3_GIT_ORIGIN_REV_ID: 47867452b7366e83f71b118e37302de93d9bde72
2024-10-17 10:48:04 +00:00
Daniel Harvey
79decc86e2 Fix a few small JSONAPI bugs (#1230)
<!-- The PR description should answer 2 important questions: -->

Fixes
- offset / limit didn't work - fixed by updating the `hasura/jsonapi`
library to use `offset` / `limit` instead of `number` / `page` - this
was a change in JSONAPI 1.1
- Render type names as `subgraph_typename`
- Send `OrderBy` as `None` when it contains no columns - `Some(vec![])`
was upsetting Mongo, so let's be more stringent.

No functional changes as feature is behind flag.

V3_GIT_ORIGIN_REV_ID: 419993a3acd955ef74872078d11769f564c7fc36
2024-10-17 10:44:49 +00:00
Rakesh Emmadi
8844fab8d3 opendd-derive: Support multiple JSON schema examples (#1229)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
The `example` JSON schema attribute can be specified multiple times
enabling inclusion of multiple examples. The OpenDd metadata is
auto-documented in hasura.io/docs using the json schema. Having multiple
examples is quite helpful for our users.

Inspired from the `schemars`'s `example` attribute behavior.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
- Use `#[darling(multiple)]` attr to allow the `example` attribute
multiple times.
- Add more examples for model predicates and permission.

V3_GIT_ORIGIN_REV_ID: 7e9c31891afed5b96ec8a5bb7538062382ef4d27
2024-10-16 17:22:09 +00:00
Daniel Harvey
3eb06d9314 Commit snapshot test per role (#1227)
<!-- The PR description should answer 2 important questions: -->

### What

We've been testing our OpenDD pipeline with snapshot tests that run for
each role. However, now that we're adding argument presets, it means
that the results will potentially be different. Therefore this saves
snapshots for each role the test is run against so that we don't get
tests conflicting with themselves. Functional no-op.

### How

Change label in `insta::assert_json_snapshot!`, commit new snapshots.

V3_GIT_ORIGIN_REV_ID: 1570ed82bdb76d27270c73c96d2671e8a3c7fe13
2024-10-16 13:26:36 +00:00
Vamshi Surabhi
77c6f9b7ca /sql endpoint on multi-tenant (#1219)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

---------

Co-authored-by: Abhinav Gupta <127770473+abhinav-hasura@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 05adb2015efda4d5244b93cfe337991370f0b27e
2024-10-16 03:07:51 +00:00
paritosh-08
ba867876f3
RFC for engine plugins (#10497)
* add RFC

* Minor changes

---------

Co-authored-by: Rahul Agarwal <111393043+rahulagarwal13@users.noreply.github.com>
2024-10-15 14:52:07 -06:00
Daniel Harvey
bec9dee021 Move argument presets resolve into metadata-resolve (#1226)
<!-- The PR description should answer 2 important questions: -->

### What

Previously we were doing the business of calculating which arguments
(and parts of arguments) were preset in the GraphQL `schema` crate. This
meant we would have to reimplement the logic for each backend. Now we
move it into `metadata-resolve` so the results can be shared by all
frontends.

### How

Move argument preset resolve into `metadata-resolve`. What's left in
`graphql-schema` is all the stuff relating to `Annotation`s of various
kinds.

A lot of the diff is changing `ModelWithPermissions` and
`CommandWithPermissions` to `ModelWithArgumentPresets` and
`CommandWithArgumentPresets` in crates after `metadata-resolve`.

Functional no-op.

V3_GIT_ORIGIN_REV_ID: b1b0983abb9f6282652c8689b02e0796026752f5
2024-10-15 14:16:26 +00:00
Rakesh Emmadi
3786242902 graphql-ws: Extend GraphQL over websockets to multitenant (#1206)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
- Return the `Sec-WebSocket-Id` header denoting a unique id for the
websocket connection, in the handshake request response.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 3639a231e3bdcb8f1f6affa66c21254890dd9d2d
2024-10-15 11:41:35 +00:00
Daniel Harvey
c6cc462e0c Run stop-docker in just docker-refresh to ensure volumes are removed (#1224)
<!-- The PR description should answer 2 important questions: -->

### What

Make sure we trash old Postgres DB data when refreshing Docker, to make
sure we start with the newest data.

V3_GIT_ORIGIN_REV_ID: 25416e918431a915fece6fe2d9478fa722f6a7c5
2024-10-15 11:20:04 +00:00
Daniel Chambers
31babc3693 Return correct isRepeatable value for directives in graphql schema introspection
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11058
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
GitOrigin-RevId: 5fafb1611b3a080c6e90e3b7da85d41999503e73
2024-10-15 00:59:52 +00:00
Daniel Harvey
e133716dce Changelog for v2024.10.14 release (#1223)
Update changelog for `v2024.10.14` release.

V3_GIT_ORIGIN_REV_ID: c160dac4b5fbbbb873434b38b6dd983e24ab8975
2024-10-14 13:47:25 +00:00
dependabot[bot]
6d2376648c Bump indexmap from 2.5.0 to 2.6.0 (#1214)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.5.0 to
2.6.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md">indexmap's
changelog</a>.</em></p>
<blockquote>
<h2>2.6.0 (2024-10-01)</h2>
<ul>
<li>Implemented <code>Clone</code> for <code>map::IntoIter</code> and
<code>set::IntoIter</code>.</li>
<li>Updated the <code>hashbrown</code> dependency to version 0.15.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bf0362ba25"><code>bf0362b</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/354">#354</a>
from cuviper/release-2.6.0</li>
<li><a
href="bd0b4f7c8c"><code>bd0b4f7</code></a>
Add all release dates</li>
<li><a
href="53400496f4"><code>5340049</code></a>
Release 2.6.0</li>
<li><a
href="7f8022912a"><code>7f80229</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/343">#343</a>
from cuviper/hash_table</li>
<li><a
href="e577bf2556"><code>e577bf2</code></a>
Use <code>hashbrown::HashTable</code> instead of
<code>RawTable</code></li>
<li><a
href="09b48ec3b3"><code>09b48ec</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/353">#353</a>
from cuviper/move_index</li>
<li><a
href="267b83d701"><code>267b83d</code></a>
Add an explicit bounds check in <code>move_index</code></li>
<li><a
href="d74a4daffb"><code>d74a4da</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/349">#349</a>
from waywardmonkeys/improve-doc-formatting</li>
<li><a
href="5b0ed20b87"><code>5b0ed20</code></a>
docs: Improve doc formatting with backticks</li>
<li><a
href="15518f3152"><code>15518f3</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/348">#348</a>
from cuviper/clone-intoiter</li>
<li>Additional commits viewable in <a
href="https://github.com/indexmap-rs/indexmap/compare/2.5.0...2.6.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=2.5.0&new-version=2.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: cee54b0b6eba5ce1f1c7327be81162ac96d54b1c
2024-10-14 09:31:04 +00:00
dependabot[bot]
35c29fff5a Bump serde_with from 3.9.0 to 3.11.0 (#1213)
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.9.0 to
3.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jonasbb/serde_with/releases">serde_with's
releases</a>.</em></p>
<blockquote>
<h2>serde_with v3.11.0</h2>
<h3>Added</h3>
<ul>
<li>
<p>Add support for <code>hashbrown</code> v0.15 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/787">#787</a>/<a
href="https://redirect.github.com/jonasbb/serde_with/issues/790">#790</a>)</p>
<p>This extends the existing support for <code>hashbrown</code> v0.14 to
the newly released version.</p>
</li>
</ul>
<h2>serde_with v3.10.0</h2>
<h3>Added</h3>
<ul>
<li>
<p>Add newline separator by <a
href="https://github.com/jayvdb"><code>@​jayvdb</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/777">#777</a>)</p>
<p>The <code>UnixLineSeparator</code> and <code>DosLineSeparator</code>
can be used together with <code>StringWithSeparator</code>.</p>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Proper handling of <code>cfg_attr</code> in the <code>serde_as</code>
macro by <a
href="https://github.com/sivizius"><code>@​sivizius</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/782">#782</a>)</p>
<p>This allows to parse more valid forms of the <code>cfg_attr</code>
macro, including multiple values and attribute that do not follow the
<code>key = value</code> schema.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bc2063440d"><code>bc20634</code></a>
Bump version to 3.11 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/791">#791</a>)</li>
<li><a
href="bf8cfd48a2"><code>bf8cfd4</code></a>
Bump version to 3.11</li>
<li><a
href="a58cb33e4f"><code>a58cb33</code></a>
Add support for hashbrown v0.15 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/790">#790</a>)</li>
<li><a
href="ef7403d394"><code>ef7403d</code></a>
Update changelog</li>
<li><a
href="5d97c6a349"><code>5d97c6a</code></a>
Add support for hashbrown v0.15</li>
<li><a
href="db290afa3a"><code>db290af</code></a>
Bump regex from 1.10.3 to 1.11.0 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/788">#788</a>)</li>
<li><a
href="a329a52ac3"><code>a329a52</code></a>
Bump regex from 1.10.3 to 1.11.0</li>
<li><a
href="eb417640dc"><code>eb41764</code></a>
Fix clippy::needless_lifetimes (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/789">#789</a>)</li>
<li><a
href="eca5a271af"><code>eca5a27</code></a>
Fix clippy::needless_lifetimes</li>
<li><a
href="f1b79f27ca"><code>f1b79f2</code></a>
Bump version to 3.10.0 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/786">#786</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jonasbb/serde_with/compare/v3.9.0...v3.11.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_with&package-manager=cargo&previous-version=3.9.0&new-version=3.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: bb5afa736a4579d2c83c5fbad8096254c0666a01
2024-10-14 09:30:59 +00:00
dependabot[bot]
025ceac68e Bump clap from 4.5.18 to 4.5.19 (#1212)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.18 to 4.5.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.19</h2>
<h2>[4.5.19] - 2024-10-01</h2>
<h3>Internal</h3>
<ul>
<li>Update dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.19] - 2024-10-01</h2>
<h3>Internal</h3>
<ul>
<li>Update dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="108907385c"><code>1089073</code></a>
chore: Release</li>
<li><a
href="c9b8c85f09"><code>c9b8c85</code></a>
docs: Update changelog</li>
<li><a
href="8b3de18a8d"><code>8b3de18</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5685">#5685</a>
from epage/engine</li>
<li><a
href="b38538d7c4"><code>b38538d</code></a>
fix(complete)!: Rename dynamic to engine</li>
<li><a
href="232af62f7d"><code>232af62</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5684">#5684</a>
from epage/endless</li>
<li><a
href="0209a79031"><code>0209a79</code></a>
fix(complete): Don't cause endless completions for bash/zsh</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.18...clap_complete-v4.5.19">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.18&new-version=4.5.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 764e2671ba2986148086b31ee644295623a6d7f7
2024-10-14 09:30:54 +00:00
dependabot[bot]
9314e3b7dc Bump tokio-tungstenite from 0.20.1 to 0.24.0 (#1211)
Bumps [tokio-tungstenite](https://github.com/snapview/tokio-tungstenite)
from 0.20.1 to 0.24.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/snapview/tokio-tungstenite/blob/master/CHANGELOG.md">tokio-tungstenite's
changelog</a>.</em></p>
<blockquote>
<h1>0.24.0</h1>
<ul>
<li>Update dependencies (TLS, tungstenite).</li>
<li>Return a runtime error when WSS URLs are used without a proper TLS
feature enabled.</li>
</ul>
<h1>0.23.1</h1>
<ul>
<li>Introduce a <code>url</code> feature (proxies to
<code>tungstenite/url</code>).</li>
</ul>
<h1>0.23.0</h1>
<ul>
<li>Update <code>tungstenite</code> to <code>0.23.0</code>.</li>
<li>Disable default features on TLS crates.</li>
</ul>
<h1>0.22.0</h1>
<ul>
<li>Update TLS dependencies.</li>
<li><del>Update <code>tungstenite</code> to match
<code>0.22.0</code>.</del></li>
</ul>
<h1>0.21.0</h1>
<ul>
<li>Update TLS dependencies.</li>
<li>Update <code>tungstenite</code> to <code>0.21.0</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cae2e89102"><code>cae2e89</code></a>
Bump version -&gt; 0.24.0</li>
<li><a
href="0b9d97bc14"><code>0b9d97b</code></a>
deps: update <code>rustls-native-certs</code> to 0.8 (<a
href="https://redirect.github.com/snapview/tokio-tungstenite/issues/348">#348</a>)</li>
<li><a
href="94a35a0d6b"><code>94a35a0</code></a>
Additional Documentation of <code>IntoClientRequest</code> on
<code>connect_async</code> (<a
href="https://redirect.github.com/snapview/tokio-tungstenite/issues/342">#342</a>)</li>
<li><a
href="83258250c2"><code>8325825</code></a>
Prepare 0.23.1 release</li>
<li><a
href="db9ae7eb71"><code>db9ae7e</code></a>
Re-introduce the <code>url</code> feature</li>
<li><a
href="a53454b16d"><code>a53454b</code></a>
Prepare 0.23.0 release</li>
<li><a
href="c1025d59ff"><code>c1025d5</code></a>
Disable rustls default features</li>
<li><a
href="ff311384b6"><code>ff31138</code></a>
Prepare 0.22.0 release</li>
<li><a
href="ad1d511a30"><code>ad1d511</code></a>
Update <code>rustls</code> to 0.23 and <code>tokio-rustls</code> to
0.26</li>
<li><a
href="052d085aff"><code>052d085</code></a>
Simplify response body type in <code>server-custom-accept</code>
example</li>
<li>Additional commits viewable in <a
href="https://github.com/snapview/tokio-tungstenite/compare/v0.20.1...v0.24.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-tungstenite&package-manager=cargo&previous-version=0.20.1&new-version=0.24.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: aecbec51ea7eb1a46debda1f081aa913d093018e
2024-10-14 09:29:47 +00:00
dependabot[bot]
5a7906a788 Bump futures-util from 0.3.30 to 0.3.31 (#1210)
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from
0.3.30 to 0.3.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/releases">futures-util's
releases</a>.</em></p>
<blockquote>
<h2>0.3.31</h2>
<ul>
<li>Fix use after free of task in <code>FuturesUnordered</code> when
dropped future panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2886">#2886</a>)</li>
<li>Fix soundness bug in <code>task::waker_ref</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2830">#2830</a>)
This is a breaking change but allowed because it is soundness bug
fix.</li>
<li>Fix bugs in <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li>Fix parsing issue in
<code>select!</code>/<code>select_biased!</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2832">#2832</a>)
This is technically a breaking change as it will now reject a very odd
undocumented syntax that was previously accidentally accepted.</li>
<li>Work around issue due to upstream <code>Waker::will_wake</code>
change (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li>Add <code>stream::Iter::{get_ref,get_mut,into_inner}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li>Add <code>future::AlwaysReady</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2825">#2825</a>)</li>
<li>Relax trait bound on non-constructor methods of
<code>io::{BufReader,BufWriter}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2848">#2848</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-util's
changelog</a>.</em></p>
<blockquote>
<h1>0.3.31 - 2024-10-05</h1>
<ul>
<li>Fix use after free of task in <code>FuturesUnordered</code> when
dropped future panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2886">#2886</a>)</li>
<li>Fix soundness bug in <code>task::waker_ref</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2830">#2830</a>)
This is a breaking change but allowed because it is soundness bug
fix.</li>
<li>Fix bugs in <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li>Fix parsing issue in
<code>select!</code>/<code>select_biased!</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2832">#2832</a>)
This is technically a breaking change as it will now reject a very odd
undocumented syntax that was previously accidentally accepted.</li>
<li>Work around issue due to upstream <code>Waker::will_wake</code>
change (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li>Add <code>stream::Iter::{get_ref,get_mut,into_inner}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li>Add <code>future::AlwaysReady</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2825">#2825</a>)</li>
<li>Relax trait bound on non-constructor methods of
<code>io::{BufReader,BufWriter}</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2848">#2848</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1e052816b0"><code>1e05281</code></a>
Release 0.3.31</li>
<li><a
href="8a8b085a8c"><code>8a8b085</code></a>
Fix clippy::uninit_vec warning</li>
<li><a
href="f3fb74df31"><code>f3fb74d</code></a>
Document how <code>BoxFuture</code>s / <code>BoxStream</code>s are often
made (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2887">#2887</a>)</li>
<li><a
href="f00e7afb46"><code>f00e7af</code></a>
Fix use after free of task in FuturesUnordered when dropped future
panics (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2">#2</a>...</li>
<li><a
href="33c46b3dc6"><code>33c46b3</code></a>
ci: Work around sanitizer issue on latest Linux kernel</li>
<li><a
href="7bf5a72826"><code>7bf5a72</code></a>
Fix issues with <code>AsyncBufRead::read_line</code> and
<code>AsyncBufReadExt::lines</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2884">#2884</a>)</li>
<li><a
href="87afaf3973"><code>87afaf3</code></a>
Use <code>#[inline(always)]</code> on <code>clone_arc_raw</code> (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2865">#2865</a>)</li>
<li><a
href="549b90b179"><code>549b90b</code></a>
Add accessors for the inner of stream::Iter (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2875">#2875</a>)</li>
<li><a
href="07b004ac7e"><code>07b004a</code></a>
Add missing symbols (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2883">#2883</a>)</li>
<li><a
href="86dc069fa2"><code>86dc069</code></a>
Various fixes too make the CI green (<a
href="https://redirect.github.com/rust-lang/futures-rs/issues/2885">#2885</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-util&package-manager=cargo&previous-version=0.3.30&new-version=0.3.31)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 1c784e9b944865bd25b4664730b7c59dce01d0ef
2024-10-14 09:19:28 +00:00
paritosh-08
3cc9d2092e support __typename in aggregate queries (#1220)
<!-- The PR description should answer 2 important questions: -->

### What

This PR enables queries `__typename` introspection field in aggregate
queries.
This PR also adds a test for the same.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

We have changed how we handle __typename while processing the selection
set. If you use `as_object_selection_set`, you will get `__typename` for
free.
We are going to follow the same pattern as in the non-aggregate fields.
The following has changed:
- While generating the IR, we will ignore introspection fields.
- use `as_object_selection_set` to process the selection set.

V3_GIT_ORIGIN_REV_ID: 0b88d497efd9b754483dd786fe7e8ef5fcb462f1
2024-10-14 07:07:46 +00:00
paritosh-08
9df2108237 use TestNDCResponses and GenerateOpenDDQuery wherever possible for graphql frontend test (#1201)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->

We can change a few `Skip` to `TestNDCResponses` or
`GenerateOpenDDQuery`.

We are still skipping tests for the following features:
- introspection
- order_by relationship
- where relationship
- where remote_relationship
- relay
- commands procedures
- field presets
- relationship predicates
- remote_relationship predicates
- apollo_federation
- aggregates
- most of the relationship tests

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: ea0a5d865cc40f8f7428d8e742f48dc6be300696
2024-10-14 05:05:46 +00:00
Daniel Chambers
4f5e10c636 Aggregate Predicates: Resolve objectAggregate and scalarAggregate BooleanExpressionTypes (#1217)
<!-- The PR description should answer 2 important questions: -->

### What

This PR adds two new operand types for `BooleanExpressionType` in
OpenDD: `objectAggregate` and `scalarAggregate`. These two operand types
are then validated in metadata resolve to ensure their correctness.

Their design is based on [this
RFC](https://github.com/hasura/v3-engine/pull/945#issuecomment-2325652794).

They are hidden from the OpenDD JSON Schema and their usage is blocked
by default via a new unstable feature flag.

They are also currently not "usable", as the metadata resolve code that
would use an `objectAggregate` operand-ed `BooleanExpressionType` to
satisfy an aggregate predicate over an array relationship does not
exist. This will be added in a future PR; this PR is big enough!

### How

A new unstable feature `enable_aggregation_predicates` has been added to
gate this feature behind while it is in development.

The new OpenDD types have been added to
`crates/open-dds/src/boolean_expression.rs`.

A new metadata resolve stage `aggregate_boolean_expressions` has been
added that specifically resolves these two new operand types. Most of
the new code changes in this PR exist in this new stage.

The output of this stage is composed into the `boolean_expressions`
stage afterwards, but other than just being consumed and included there,
it is unused for now. In a future PR it will be used when resolving
object-operanded `BooleanExpressionTypes`.

An exhaustive set of metadata resolve tests has been added to test all
the error, warning and passing cases for both object and scalar
aggregate operands
(`crates/metadata-resolve/tests/failing/aggregate_boolean_expressions/`
and
`crates/metadata-resolve/tests/passing/aggregate_boolean_expressions/`).
These files make up the vast majority of the file count in this PR.

V3_GIT_ORIGIN_REV_ID: e0e030b322d05212a0e2630acc9f4db7b05000c1
2024-10-14 01:17:28 +00:00
Rakesh Emmadi
92d84bc126 graphql-ws: avoid cloning graphql schema state on each websocket connection (#1218)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
Essential artifacts, like schema and auth/plugin configs, required for a
websocket connection are cloned on each request. This is causing massive
memory spike while simulating 10k concurrent connections using
graphql-bench tool.
![Screenshot from 2024-10-09
16-22-33](https://github.com/user-attachments/assets/57926a00-a3cb-4a95-b220-c4728067f951)
My machine has 62GB of ram, so absolute usage is `30% of 62G ~ 18 GB`.
I spent some time debugging dangling tokio tasks from closed websockets
using [tokio_console](https://github.com/tokio-rs/console). Tokio tasks
are closed as expected when websockets are dropped.

I gone through the graphql-ws code line-by-line and found that we are
cloning the schema for each websocket connection. The reason for this is
that, initially, I couldn't find a way to generate an `Arc` for just the
schema from the EngineState struct. ~However, I found a solution by
using the
[mappable-rc](https://docs.rs/mappable-rc/latest/mappable_rc/index.html)
crate.~ Tweak the `EngineState` struct to hold heavy fields inside `Arc`
to pass them around separately. Just pass the `EngineState` without
wrapping in `Arc` across axum routes, as it is cheap to clone now.

After wrapping all artifact values with `Arc`, the memory usage
decreased drastically.
![Screenshot from 2024-10-09
16-41-10](https://github.com/user-attachments/assets/090211d0-5318-4414-83b3-aa8cde86bfe4)
The screenshot above shows 1% memory usage for 10,000 concurrent
connections. From multiple runs, I found the average usage to be around
1.2% - 1.4%, which roughly translates to ~ `800MB`.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
- Avoid cloning schema, auth_config and plugin artifacts on a new
websocket connections. Now, `EngineState` contains these values wrapped
with `Arc`. Use them directly.
- Refactor other parts of code to accommodate the above changes.

V3_GIT_ORIGIN_REV_ID: f56a9eecf6e9eca9fdc56bf332f9a06f5ad4cdb5
2024-10-09 14:55:25 +00:00
Rob Dominguez
1c5b63ab7a Docs: Create dedicated page for namespacing remote schemas
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11053
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: 6b47df133699ef0ecb60077d13d9ad1bd6c1f46e
2024-10-09 14:22:13 +00:00
Sean Park-Ross
1e392ad3d9 Docs: DDN Modal close button on the right
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11055
GitOrigin-RevId: 5c8107cbccf2595ff0220715f58f6e99726ed3dd
2024-10-09 14:15:25 +00:00
Tom Harding
81bd72f4d7 Report a path for UnknownModelCollection during model resolution (#1216)
### What

Like #1192, this PR adds a context to another error raised during the
`models` resolution step. Specifically, `UnknownModelCollection`.

### How

These PRs are extremely simple, it's just that there are going to be
dozens of them. When an error refers to a thing, you wrap that thing in
`Spanned`, and then try to extract the `path` at the error site. Most of
the time, it's pretty straightforward.

---------

Co-authored-by: Daniel Chambers <daniel@hasura.io>
V3_GIT_ORIGIN_REV_ID: d3ea71d3d9a42cbf804add54f5f6e75ab68c6765
2024-10-08 12:51:53 +00:00
Daniel Chambers
7c4d34d80c Move allow partial supergraph flag to OpenDD flags instead of an env var (#1205)
### What
Currently if you want v3-engine to accept metadata that is only a
partial supergraph (ie missing some subgraphs), you must set the
PARTIAL_SUPERGRAPH env var. Builds sent to MBS get sent to a special
endpoints `/validate/partial` and `/build/partial` that runs the engine
build process with that configuration option set.

This results in a terrible user experience for local builds, because MBS
will accept a partial supergraph and yield build artifacts, but
v3-engine will refuse to run them unless you set that env var.

This PR removes that env var and creates a new OpenDD flag called
`allow_partial_supergraph`. When MBS's `/validate/partial` endpoint is
used, that flag is set in the build artifacts. v3-engine then looks at
that flag to enable partial supergraph mode. This means a
`/build/partial` build via MBS just works when you run it locally via
v3-engine.

### How

`metadata_resolve`'s `Configuration.allow_unknown_subgraphs` has been
removed, and `metadata_resolve` now looks at OpenDD's new
`Flags.allow_partial_supergraph` instead.

In MBS, usage of `ValidationMode` (the enum that enables partial builds)
previously used to set `Configuration.allow_unknown_subgraphs`; now it
is used in `compute_open_dds_flags` in order to set
`Flags.allow_partial_supergraph`.

The existing metadata_resolve test that tested partial supergraphs has
been modified to use the flags rather than the removed configuration
option
(`crates/metadata-resolve/tests/passing/missing_subgraph_when_ignoring_unknown_subgraphs`).

A new `metadata_resolve` test has been added that checks that comparable
relationships in `BooleanExpressionType` properly respects the
`allow_partial_subgraphs` flag (this functionality was added in #1182).

V3_GIT_ORIGIN_REV_ID: 2c984eb791263a1fb0606c6c44a2a1ae4a5e7370
2024-10-07 06:30:46 +00:00
Brandon Simmons
62d9cbacdb ENG-1071: add detailed traces for MBS validate/ and some benchmarks (#1209)
<!-- The PR description should answer 2 important questions: -->

### What

Set us up for more visibility into performance on prod.

### How

Add traces

V3_GIT_ORIGIN_REV_ID: 0ea011c1233a08bf4f9d55a9084809a6ffcd934d
2024-10-05 16:04:16 +00:00
Daniel Harvey
06ca697a27 Move a function from graphql_ir to metadata-resolve (#1207)
<!-- The PR description should answer 2 important questions: -->

### What

Functional no-op towards making `graphql_ir` less central and breaking
some import cycles.

### How

Move the function.

V3_GIT_ORIGIN_REV_ID: 53ea007964f5ab79cb546821cfb76f542ea3b486
2024-10-04 15:56:14 +00:00
Rakesh Emmadi
66ab5b201d graphql-ws: Implement Plugins (#1195)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
Execute configured pre-parse and pre-response plugins for GraphQL
operations over websockets.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
When a `type: subscribe` message is received, similar to HTTP requests,
run pre-parse plugins. If the plugins' response results in "continue",
then proceed with handling the GraphQL query. Otherwise, return the
plugin response or error.

For pre-response plugins, a task is spawned for handling plugins before
sending the response to the client. The task is run in a new trace,
linked to the poll trace.

V3_GIT_ORIGIN_REV_ID: ceb7ffd6da9235b3897ef4198729c07492c13d5e
2024-10-04 14:03:35 +00:00
Daniel Harvey
ad6c47a070 Move plan types out of GraphQL IR (#1203)
<!-- The PR description should answer 2 important questions: -->

### What

A lot of the `graphql_ir` is generally useful and not GraphQL specific.
Before we can move it into `plan` and share it we need to pull a few
shared types out of the package and somewhere more general too.

### How

Functional no-op.

V3_GIT_ORIGIN_REV_ID: 3fe8ca737ef3d8c7ce09ea695453645e303d7030
2024-10-04 13:53:06 +00:00
Brandon Simmons
c7044db956 MBS: support zstd and gzip -encoded POST request bodies (#1204)
Since these might be 10s or even 100s of MB this is important for saving
bandwidth

<!-- The PR description should answer 2 important questions: -->

### What

Save bandwidth (and possibly latency, etc) in mbs

### How

Support compressed request bodies. When this is deployed clients like
ddn-api can use it.

V3_GIT_ORIGIN_REV_ID: ad6357880d7c81ad58a76a3edfbac8d377ad7f5c
2024-10-04 08:44:19 +00:00
Daniel Harvey
7c3f6933bb Test offset/limit from GraphQL (#1202)
<!-- The PR description should answer 2 important questions: -->

### What

Parse offset/limit in the GraphQL -> OpenDD pipeline, and use it test
offset / limit. Functional no-op.

V3_GIT_ORIGIN_REV_ID: 068d14d08a4bde140f5633625a59137d3ff81d84
2024-10-03 15:51:58 +00:00
Rakesh Emmadi
2c328b5f64 Wrap execution of all pre-response plugins in a span (#1200)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
Earlier, for pre-response plugins, a span is emitted for each plugin
execution. This PR wraps all plugin executions in a new span that
extends the client headers as parent context.

Before:

![main_pre_resp_plugins](https://github.com/user-attachments/assets/a3d74498-3f56-48fc-becf-a04b814aee4c)
After:

![refactors_pre_resp_plugins](https://github.com/user-attachments/assets/9277327f-a8de-419c-8423-e662ae09c3b0)

Note: `pre_response_plugins_execute` span name renamed to
`execute_all_pre_response_plugins` in later commits.
### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
Move execution of pre-response plugins in a task, into a new function.
Create a span that wraps a function that executes all plugins async.

V3_GIT_ORIGIN_REV_ID: a1febecf4b429e1441e4b53a9b32f39519a12ba9
2024-10-03 12:59:42 +00:00
Daniel Harvey
e313123ed7 Move commands from sql to plan (#1188)
<!-- The PR description should answer 2 important questions: -->

### What

Move the function/procedure planning from `sql` to the shared OpenDD IR
pipeline in `plan`. This should be a no-op for `sql`

### How

Move code, fix type errors.

V3_GIT_ORIGIN_REV_ID: 7da797ffedbc40a44692670679aa176817f2c65e
2024-10-03 10:28:39 +00:00
Daniel Harvey
629d48a086 Bump all the packages (#1199)
<!-- The PR description should answer 2 important questions: -->

### What

We need to bump `tonic` because of `cargo audit`, and to do so we need
to bump OpenTelemetry, and to do that we need to finally bump `http`,
and to do that...

### How

Follow the breadcrumb trail, fix the errors.

Checked, trace propagation still works:

<img width="1781" alt="Screenshot 2024-10-02 at 15 56 28"
src="https://github.com/user-attachments/assets/4c3f8763-e646-445d-84de-f507da15ad2e">
V3_GIT_ORIGIN_REV_ID: aa219e91375aa310dc656183948edc33f77cdfdc
2024-10-03 09:10:06 +00:00
Rakesh Emmadi
454ca0575f graphql-ws: Tests for WebSocket server (#1191)
<!-- The PR description should answer 2 important questions: -->

### What

<!-- What is this PR trying to accomplish (and why, if it's not
obvious)? -->

<!-- Consider: do we need to add a changelog entry? -->

<!-- Does this PR introduce new validation that might break old builds?
-->

<!-- Consider: do we need to put new checks behind a flag? -->
Write tests to confirm websocket connection behavior in conjunction with
[graphl-ws](https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md)
subprotocol.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
Test the websocket by spinning up a server in an async tokio task. Use
tokio-tungstenite for websocket client.

V3_GIT_ORIGIN_REV_ID: 32c19298b6a5b23649b22d8d820ef8d47ef1d293
2024-10-03 04:42:44 +00:00
Daniel Harvey
721ea64cc0 Fix docker-compose.yaml (#1197)
<!-- The PR description should answer 2 important questions: -->

### What

Running `docker compose up` is a generally accepted way to try a project
out, and ours was broken.

This fixes ours so that running `docker compose up` builds engine and
runs it with a sample schema for `ndc-postgres`. This will allow users
to get a flavour for DDN as a consumer.

We also remove a bunch of outdated and frankly confusing stuff from the
readme, instead directing users to the docs.

V3_GIT_ORIGIN_REV_ID: 77c817d1738efafe4027c7d0da1aa21bcf78dd9d
2024-10-02 11:07:29 +00:00
Daniel Harvey
141d7ac70a Update changelog for tag v2024-10-02 instead (#1196)
<!-- The PR description should answer 2 important questions: -->

### What

Release `v2024-10-02`, let's do `v2024-10-02` instead.

### How

Update changelog.

V3_GIT_ORIGIN_REV_ID: a6fe7e0c81ea2d4b9cfe76322ee2586cd152b458
2024-10-02 10:17:07 +00:00