Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from hasura:master #69

Open
wants to merge 90 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Sep 11, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

dependabot bot and others added 16 commits September 9, 2024 06:46
Bumps [goldenfile](https://github.com/calder/rust-goldenfile) from 1.7.1
to 1.7.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/calder/rust-goldenfile/commits">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=goldenfile&package-manager=cargo&previous-version=1.7.1&new-version=1.7.3)](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] <[email protected]>
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: d714812c271bacf19d0b921d916fd3fa89106173
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.39.0 to 1.40.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mitsuhiko/insta/releases">insta's
releases</a>.</em></p>
<blockquote>
<h2>1.40.0</h2>
<h2>Release Notes</h2>
<ul>
<li>
<p><code>cargo-insta</code> no longer panics when running <code>cargo
test --accept --workspace</code>
on a workspace with a default crate. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/532">#532</a></p>
</li>
<li>
<p>MSRV for <code>insta</code> has been raised to 1.60, and for
<code>cargo-insta</code> to 1.64.</p>
</li>
<li>
<p>Added support for compact debug snapshots
(<code>assert_compact_debug_snapshot</code>). <a
href="https://redirect.github.com/mitsuhiko/insta/issues/514">#514</a></p>
</li>
<li>
<p>Deprecate <code>--no-force-pass</code> in <code>cargo-insta</code>.
The <code>--check</code> option covers the
same functionality and has a clearer name. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/513">#513</a></p>
</li>
<li>
<p>Inline snapshots now use the required number of <code>#</code>s to
escape the snapshot
value, rather than always using <code>###</code>. This allows
snapshotting values which
themselves contain <code>###</code>. If there are no existing
<code>#</code> characters in the
snapshot value, a single <code>#</code> will be used. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/540">#540</a></p>
</li>
<li>
<p>Inline snapshots can now be updated with
<code>--force-update-snapshots</code>. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/569">#569</a></p>
</li>
<li>
<p><code>cargo insta test</code> accepts multiple <code>--exclude</code>
flags. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/520">#520</a></p>
</li>
<li>
<p><code>test</code> <code>runner</code> in insta's yaml config works.
<a
href="https://redirect.github.com/mitsuhiko/insta/issues/544">#544</a></p>
</li>
<li>
<p>Print a warning when encountering old snapshot formats. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/503">#503</a></p>
</li>
<li>
<p>Group the options in <code>cargo insta --help</code>, upgrade to
<code>clap</code> from <code>structopt</code>. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/518">#518</a></p>
</li>
<li>
<p>No longer suggest running <code>cargo insta</code> message when
running <code>cargo insta test --check</code>. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/515">#515</a></p>
</li>
<li>
<p>Print a clearer error message when accepting a snapshot that was
removed. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/516">#516</a></p>
</li>
<li>
<p>Mark <code>require-full-match</code> as experimental, given some
corner-cases are currently difficult to manage. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/497">#497</a></p>
</li>
<li>
<p>Add a new integration test approach for <code>cargo-insta</code> and
a set of integration tests. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/537">#537</a></p>
</li>
<li>
<p>Enable Filters to be created from <code>IntoIterator</code> types,
rather than just <code>Vec</code>s. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/570">#570</a></p>
</li>
<li>
<p>Implemented total sort order for an internal <code>Key</code> type
correctly. This prevents potential
crashes introduced by the new sort algorithm in Rust 1.81. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/586">#586</a></p>
</li>
</ul>
<h2>Install cargo-insta 1.40.0</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/mitsuhiko/insta/releases/download/1.40.0/cargo-insta-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md">insta's
changelog</a>.</em></p>
<blockquote>
<h2>1.40.0</h2>
<ul>
<li>
<p><code>cargo-insta</code> no longer panics when running <code>cargo
insta test --accept --workspace</code>
on a workspace with a default crate. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/532">#532</a></p>
</li>
<li>
<p>MSRV for <code>insta</code> has been raised to 1.60, and for
<code>cargo-insta</code> to 1.64.</p>
</li>
<li>
<p>Added support for compact debug snapshots
(<code>assert_compact_debug_snapshot</code>). <a
href="https://redirect.github.com/mitsuhiko/insta/issues/514">#514</a></p>
</li>
<li>
<p>Deprecate <code>--no-force-pass</code> in <code>cargo-insta</code>.
The <code>--check</code> option covers the
same functionality and has a clearer name. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/513">#513</a></p>
</li>
<li>
<p>Inline snapshots now use the required number of <code>#</code>s to
escape the snapshot
value, rather than always using <code>###</code>. This allows
snapshotting values which
themselves contain <code>###</code>. If there are no existing
<code>#</code> characters in the
snapshot value, a single <code>#</code> will be used. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/540">#540</a></p>
</li>
<li>
<p>Inline snapshots can now be updated with
<code>--force-update-snapshots</code>. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/569">#569</a></p>
</li>
<li>
<p><code>cargo insta test</code> accepts multiple <code>--exclude</code>
flags. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/520">#520</a></p>
</li>
<li>
<p><code>test</code> <code>runner</code> in insta's yaml config works.
<a
href="https://redirect.github.com/mitsuhiko/insta/issues/544">#544</a></p>
</li>
<li>
<p>Print a warning when encountering old snapshot formats. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/503">#503</a></p>
</li>
<li>
<p>Group the options in <code>cargo insta --help</code>, upgrade to
<code>clap</code> from <code>structopt</code>. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/518">#518</a></p>
</li>
<li>
<p>No longer suggest running <code>cargo insta</code> message when
running <code>cargo insta test --check</code>. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/515">#515</a></p>
</li>
<li>
<p>Print a clearer error message when accepting a snapshot that was
removed. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/516">#516</a></p>
</li>
<li>
<p>Mark <code>require-full-match</code> as experimental, given some
corner-cases are currently difficult to manage. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/497">#497</a></p>
</li>
<li>
<p>Add a new integration test approach for <code>cargo-insta</code> and
a set of integration tests. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/537">#537</a></p>
</li>
<li>
<p>Enable Filters to be created from <code>IntoIterator</code> types,
rather than just <code>Vec</code>s. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/570">#570</a></p>
</li>
<li>
<p>Implemented total sort order for an internal <code>Key</code> type
correctly. This prevents potential
crashes introduced by the new sort algorithm in Rust 1.81. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/586">#586</a></p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mitsuhiko/insta/commit/83f33653b687c84823fe6af00806107e1dd4f4b8"><code>83f3365</code></a>
1.40.0</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/8893db7600b9d0a4066ed8766dc1df4b0c191a1b"><code>8893db7</code></a>
Implement total ord for Key (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/586">#586</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/a4231cc826400e7df3a7847532407bc7663d6970"><code>a4231cc</code></a>
Add test for <code>find_snapshot_macro</code> (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/582">#582</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/d609d7d3a86339ce695d942aed6a1c98b83c1066"><code>d609d7d</code></a>
Add integration test for force updating (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/580">#580</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/02665eafb291a04ae7460176dfe91284a17afa2a"><code>02665ea</code></a>
Mask insta env vars in integration tests (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/579">#579</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/ef7abb839e08932fdd32ce9a90e4593e138416c2"><code>ef7abb8</code></a>
Use different tests for redactions (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/578">#578</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/597199d9dcfbb0b5c20f785e8ed7a80993bc743e"><code>597199d</code></a>
Make <code>test_normalize_inline_snapshot</code> easier to read (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/577">#577</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/ca87b84da2878ecab644baf6f3ba11dde53f7668"><code>ca87b84</code></a>
Fix latest clippy (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/574">#574</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/4bea0fb821ee056c24579b5fc8a9b10b08eb6a75"><code>4bea0fb</code></a>
Unify handling of file &amp; inline snapshots (compat) (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/528">#528</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/c29db016065c78658eeda8b683b44ecc91520e62"><code>c29db01</code></a>
Enable inline snapshots to be force-updated (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/569">#569</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/mitsuhiko/insta/compare/1.39.0...1.40.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=insta&package-manager=cargo&previous-version=1.39.0&new-version=1.40.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] <[email protected]>
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: 8a97c613401207b8f7fa9f9ae5f3e46464589d8a
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.86 to 1.0.87.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/anyhow/releases">anyhow's
releases</a>.</em></p>
<blockquote>
<h2>1.0.87</h2>
<ul>
<li>Support more APIs, including <code>Error::new</code> and
<code>Error::chain</code>, in no-std mode on Rust 1.81+ (<a
href="https://redirect.github.com/dtolnay/anyhow/issues/383">#383</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/anyhow/commit/afe93e7b167d069ac79f2c7f363b919d3793e6ce"><code>afe93e7</code></a>
Release 1.0.87</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/d58fa4b282c1149bd121419dd359eb8caf2c113d"><code>d58fa4b</code></a>
Fix outdated html_root_url</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/c18d80743cead05bd75cf2e310e7a00c515facb9"><code>c18d807</code></a>
Disable unused doc_cfg feature</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/8ecfcdfa0a6c5640455c7bb4329d0f1d8fc1043c"><code>8ecfcdf</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/383">#383</a>
from dtolnay/nostd</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/bee814ab1bb09332bb97cfeb943e229df5d0c35b"><code>bee814a</code></a>
Support error sources in no-std on Rust 1.81+</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/1eabf69388e420181b7b45f1e64009b97b1d254c"><code>1eabf69</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/382">#382</a>
from dtolnay/corerequest</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/3e70139e077324d4109cb6baf71c06ed8369fbd0"><code>3e70139</code></a>
Access generic_member_access APIs through core</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/c378a2c32e0425bc981acd40c2e829a1ec62c0b0"><code>c378a2c</code></a>
Upload CI Cargo.lock for reproducing failures</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/e38edc09bb4cb2f21e4dfd3fbb3f410d5608c9d4"><code>e38edc0</code></a>
Raise rustc required for backtrace feature to 1.67</li>
<li><a
href="https://github.com/dtolnay/anyhow/commit/eb976a4f53cd7db16dd84dd5e56690780fb3dcf0"><code>eb976a4</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/378">#378</a>
from dtolnay/ttpretty</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.87">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.86&new-version=1.0.87)](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] <[email protected]>
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: 0e213334b2225815d4606c4e55f6d84fab2e5074
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.16 to 4.5.17.
<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.17</h2>
<h2>[4.5.17] - 2024-09-04</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Style required argument groups</li>
<li><em>(derive)</em> Improve error messages when unsupported fields are
used</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.17] - 2024-09-04</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Style required argument groups</li>
<li><em>(derive)</em> Improve error messages when unsupported fields are
used</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/clap-rs/clap/commit/6013ad4f676dd25c5b5150557a5fb5698c3de020"><code>6013ad4</code></a>
chore: Release</li>
<li><a
href="https://github.com/clap-rs/clap/commit/f98e3ee215015055d776f91217019c33da78c975"><code>f98e3ee</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/clap-rs/clap/commit/addec17e9df4f4f64a959bbe6ab8c9ced48c6a3d"><code>addec17</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5681">#5681</a>
from epage/static</li>
<li><a
href="https://github.com/clap-rs/clap/commit/3c69aaa312af1b537ccd291314b60500ab5066c4"><code>3c69aaa</code></a>
docs(complete): Add stdout warning to env</li>
<li><a
href="https://github.com/clap-rs/clap/commit/e46263a0480f7bc7ab085e966a1eee1287e4303b"><code>e46263a</code></a>
docs(complete): Redistribute dynamic's documentation</li>
<li><a
href="https://github.com/clap-rs/clap/commit/de723aaf8a81402c4543f73118466c72c95653fb"><code>de723aa</code></a>
fix(complete)!: Flatten in prep for stabilization</li>
<li><a
href="https://github.com/clap-rs/clap/commit/6727c1537b9e8c26a27efefad6e55106f25e0b1c"><code>6727c15</code></a>
fix(complete): Section off existing completions</li>
<li><a
href="https://github.com/clap-rs/clap/commit/6842ed96da9d7307e340ac82bc2d6fd27a591f9d"><code>6842ed9</code></a>
refactor(complete): Remove low-value w macro</li>
<li><a
href="https://github.com/clap-rs/clap/commit/17d6d2423292610827559be0e361035aeb42092a"><code>17d6d24</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5680">#5680</a>
from epage/unstable</li>
<li><a
href="https://github.com/clap-rs/clap/commit/23fb0568a861a34fb60b95c916f0aa9d8dbe7e24"><code>23fb056</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5679">#5679</a>
from epage/api</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.16...clap_complete-v4.5.17">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.16&new-version=4.5.17)](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] <[email protected]>
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: 49b80a6725973f691e34caf8e89750cf6765bc70
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.127 to
1.0.128.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>1.0.128</h2>
<ul>
<li>Support serializing maps containing 128-bit integer keys to
serde_json::Value (<a
href="https://redirect.github.com/serde-rs/json/issues/1188">#1188</a>,
thanks <a
href="https://github.com/Mrreadiness"><code>@​Mrreadiness</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/serde-rs/json/commit/d96b1d9b643b49a0bb92a8cf280daf6aa08f37cc"><code>d96b1d9</code></a>
Release 1.0.128</li>
<li><a
href="https://github.com/serde-rs/json/commit/599228d5dc52a0f1595fe4bd901821f70d0317a5"><code>599228d</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1188">#1188</a>
from Mrreadiness/feat/add-hashmap-key-128-serializer</li>
<li><a
href="https://github.com/serde-rs/json/commit/5416cee6c5ad355907f6e9d5f6039b994c69f768"><code>5416cee</code></a>
feat: add support for 128 bit HashMap key serialization</li>
<li><a
href="https://github.com/serde-rs/json/commit/27a4ca9d7a62394fe8f0103f3d91de59f055a4c4"><code>27a4ca9</code></a>
Upload CI Cargo.lock for reproducing failures</li>
<li>See full diff in <a
href="https://github.com/serde-rs/json/compare/1.0.127...1.0.128">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.127&new-version=1.0.128)](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] <[email protected]>
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: c6df67f3a862c0eabd372688d42c4b68ca56a939
PR-URL: hasura/graphql-engine-mono#11021
GitOrigin-RevId: 83ae9bc6328c4d38c647b0ddee176ed1ae245d19
…graphql use but GraphqlConfig is missing aggregates configuration (#1079)

### What
If a user configures `AggregateExpressions` in their metadata with the
`graphql` section configured, but forgets to configure `aggregates` in
`GraphqlConfig`, an error was raised and the build failed. This scenario
occurs when a user has an existing pre-aggregrates metadata and are
adding aggregates to it later.

While simply adding the required configuration to `GraphqlConfig` would
fix the error, there are cases where the `GraphqlConfig` is not in the
user's current repo, such as where they are working in a separate
subgraph repo and the `GraphqlConfig` is managed elsewhere and requires
a coordinated change.

This PR turns that error into a warning and allows a successful build.
The build will not have aggregates show up in the GraphQL, but does
succeed, which allows the user to progress until the `GraphqlConfig` is
updated separately.

### How

A new `AggregateExpressionIssue` type is added and the error is moved
from `AggregateExpressionError` to that type instead. The code then logs
the new issue and contributes it to the main issues collection.

The test that checked for this error (a failure test) has been moved to
a successful test and the warning can be seen at the bottom of the new
snapshot file.

V3_GIT_ORIGIN_REV_ID: 751590c484feec4ae03f079ae6a1bc0bf867ff64
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.81
to 0.1.82.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.82</h2>
<ul>
<li>Prevent elided_named_lifetimes lint being produced in generated code
(<a
href="https://redirect.github.com/dtolnay/async-trait/issues/276">#276</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/async-trait/commit/f8e5bb43181450a17068f160e8a51d410ede1705"><code>f8e5bb4</code></a>
Release 0.1.82</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/8fbf118de30d3d30416d5a2dff496513433171c4"><code>8fbf118</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/async-trait/issues/276">#276</a>
from dtolnay/elidednamed</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/6fa246a0546fc678c4812ccb59306b6b264c27a0"><code>6fa246a</code></a>
Ignore nightly's new elided_named_lifetimes lint in generated code</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/d542a0dd74f366995e5924edc2d6ac7661e5d9ca"><code>d542a0d</code></a>
Upload CI Cargo.lock for reproducing failures</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/8828c35a86442dd05b6ac3aab5f0bac769e246f0"><code>8828c35</code></a>
Sort dependency features in Cargo.toml</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/ba9793af3f3936e2373ab4c482bf49ac67009df8"><code>ba9793a</code></a>
Update ui test suite to nightly-2024-08-11</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/82c62cd075d9f96d958bad27e974a3083f0e986b"><code>82c62cd</code></a>
Update ui test suite to nightly-2024-07-25</li>
<li><a
href="https://github.com/dtolnay/async-trait/commit/370ee12dccdc3ca0205ae10e1470428f0d04a81b"><code>370ee12</code></a>
Update ui test suite to nightly-2024-07-20</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.81...0.1.82">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.81&new-version=0.1.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] <[email protected]>
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: 2ce0181b6e26acd50bcac8c20c213ebd80561daf
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.11 to
0.7.12.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/tokio/commit/35f244ad096b5331a38edd5a8f0beb436104873e"><code>35f244a</code></a>
chore: prepare tokio-util v0.7.12 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6823">#6823</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/1166ecc2accc1a4bab47612858e7166617d15cfe"><code>1166ecc</code></a>
config: enable full for tokio-util in the playground (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6818">#6818</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/27539ae3bdfd08b7503f4919fe13299537cc16fc"><code>27539ae</code></a>
runtime: fix race in yield_defers_until_park test (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6809">#6809</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/ea6d652a102dee3f22b490db70545b7f66a23fb7"><code>ea6d652</code></a>
chore: prepare Tokio v1.40.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6806">#6806</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/11f66f43a09169b893212b854c6c49985ff2224f"><code>11f66f4</code></a>
chore: replace <code>ready!</code> with <code>std::task::ready!</code>
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6804">#6804</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/479a56a010d25f86207841ec4fcc685402addcad"><code>479a56a</code></a>
time: eliminate timer wheel allocations (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6779">#6779</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/b37f0de28a17ced6a9e6738062770d6fea8c5364"><code>b37f0de</code></a>
runtime: implement initial set of task hooks (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6742">#6742</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/c9fad0846667c86d96ec151354229f2833fd9e1b"><code>c9fad08</code></a>
codec: fix typo in the docs for <code>Encoder::Error</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6800">#6800</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/cc70a211ad4ce71388c99e8af7480f3ddddbf602"><code>cc70a21</code></a>
task: add <code>join_all</code> method to <code>JoinSet</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6784">#6784</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/1ac8dff213937088616dc84de9adc92b4b68c49a"><code>1ac8dff</code></a>
task: add <code>AbortOnDropHandle</code> type (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6786">#6786</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.11...tokio-util-0.7.12">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-util&package-manager=cargo&previous-version=0.7.11&new-version=0.7.12)](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] <[email protected]>
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: 31da61f525f37f48d2c2221f39a7d538e3425331
Bumps [similar-asserts](https://github.com/mitsuhiko/similar-asserts)
from 1.5.0 to 1.6.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mitsuhiko/similar-asserts/blob/main/CHANGELOG.md">similar-asserts's
changelog</a>.</em></p>
<blockquote>
<h2>1.6.0</h2>
<ul>
<li>Loosen static lifetime bounds for labels. <a
href="https://redirect.github.com/mitsuhiko/similar-asserts/issues/9">#9</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mitsuhiko/similar-asserts/commit/c5110ea8b4e851690f882657c1a148cb01e636fa"><code>c5110ea</code></a>
Make clippy happy</li>
<li><a
href="https://github.com/mitsuhiko/similar-asserts/commit/b7a86e1f7528183d2dcd08bf7a33a8097fb4b574"><code>b7a86e1</code></a>
Prepare 1.6.0</li>
<li><a
href="https://github.com/mitsuhiko/similar-asserts/commit/cdadae6d589dd7efe5215164986578cdd1c480c1"><code>cdadae6</code></a>
Loosen static lifetime bound for labels (<a
href="https://redirect.github.com/mitsuhiko/similar-asserts/issues/9">#9</a>)</li>
<li>See full diff in <a
href="https://github.com/mitsuhiko/similar-asserts/compare/1.5.0...1.6.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=similar-asserts&package-manager=cargo&previous-version=1.5.0&new-version=1.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] <[email protected]>
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: 7c4289bc40152a353b804ecd228ae879e452c810
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to
1.0.210.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.210</h2>
<ul>
<li>Support serializing and deserializing <code>IpAddr</code> and
<code>SocketAddr</code> in no-std mode on Rust 1.77+ (<a
href="https://redirect.github.com/serde-rs/serde/issues/2816">#2816</a>,
thanks <a
href="https://github.com/MathiasKoch"><code>@​MathiasKoch</code></a>)</li>
<li>Make <code>serde::ser::StdError</code> and
<code>serde::de::StdError</code> equivalent to
<code>core::error::Error</code> on Rust 1.81+ (<a
href="https://redirect.github.com/serde-rs/serde/issues/2818">#2818</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/serde-rs/serde/commit/89c4b02bf32ceae5b17d89f93a452ccc195ca038"><code>89c4b02</code></a>
Release 1.0.210</li>
<li><a
href="https://github.com/serde-rs/serde/commit/eeb8e44cda15f929796cd72241b0311e0bd04e67"><code>eeb8e44</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2818">#2818</a>
from dtolnay/coreerror</li>
<li><a
href="https://github.com/serde-rs/serde/commit/785c2d9605ee73cc172dfd421228c1dccca984c9"><code>785c2d9</code></a>
Stabilize no-std StdError trait</li>
<li><a
href="https://github.com/serde-rs/serde/commit/d549f048e10bcb5e677afaf7b99d0ed3604b113b"><code>d549f04</code></a>
Reformat parse_ip_impl definition and calls</li>
<li><a
href="https://github.com/serde-rs/serde/commit/4c0dd63011434905265e2710bb9186e09e4f8ec2"><code>4c0dd63</code></a>
Delete attr support from core::net deserialization macros</li>
<li><a
href="https://github.com/serde-rs/serde/commit/26fb1341651c4e0ae4d58c675db3ca2a0d6e12c2"><code>26fb134</code></a>
Relocate cfg attrs out of parse_ip_impl and parse_socket_impl</li>
<li><a
href="https://github.com/serde-rs/serde/commit/07e614b52b5ab3387d86d3198e5f52cd1f5ff3cb"><code>07e614b</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2817">#2817</a>
from dtolnay/corenet</li>
<li><a
href="https://github.com/serde-rs/serde/commit/b1f899fbe81f070803d9f7ca6e5d1cc3f19c9ea2"><code>b1f899f</code></a>
Delete doc(cfg) attribute from impls that are supported in no-std</li>
<li><a
href="https://github.com/serde-rs/serde/commit/b4f860e62767828beb3ef91721b6c56a31f9baad"><code>b4f860e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2816">#2816</a>
from MathiasKoch/chore/core-net</li>
<li><a
href="https://github.com/serde-rs/serde/commit/d940fe1b4934f097b0333dcb87bec5ee308d39cd"><code>d940fe1</code></a>
Reuse existing Buf wrapper as replacement for std::io::Write</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.209&new-version=1.0.210)](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] <[email protected]>
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: 096b9e0b665b9ae9ca6c42a5f758c5b75491208f
Bumps
[async-graphql-parser](https://github.com/async-graphql/async-graphql)
from 7.0.8 to 7.0.9.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/async-graphql/async-graphql/blob/master/CHANGELOG.md">async-graphql-parser's
changelog</a>.</em></p>
<blockquote>
<h1>[7.0.9] 2024-09-02</h1>
<ul>
<li>add <code>on_ping</code> callback to <code>WebSocket</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/async-graphql/async-graphql/commits">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-graphql-parser&package-manager=cargo&previous-version=7.0.8&new-version=7.0.9)](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] <[email protected]>
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: 0af1fd351dc4c0107f4bf36647ff123db862a3eb
<!-- The PR description should answer 2 important questions: -->

### What

Somewhere to put the `jsonapi` proof of concept.

### How

Empty crate

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

### What
WIP PoC of a dynamic router for json api. There is no actual execution.
This only implements a dynamic router, which can validate any path/URL
against the metadata.

The `json_api` module exports an `axum::Router` which is added to the
main router. It is currently hidden behind an unstable feature flag
`--enable-json-api`.

Added some clippy allow annotations as its WIP.

### How

Create an axum router which matches on any path. And then inside the
handler check and validate with an own internal state if the route is
valid. This internal state is derived from metadata and is built during
start-up.

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

### What

Let's add a test!

(and check it still works 👍 )

<img width="405" alt="Screenshot 2024-09-10 at 13 05 01"
src="https://github.com/user-attachments/assets/6a49feaa-bd0b-4137-a9d5-a1e1336d9fa6">

### How

Glob a folder for test files, parse them and run them against the
functions.

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

### What

This extracts a GraphQL frontend crate from the `execute` crate. This
contains all the top level functions, as opposed to what remains in
`execute`, which concerns itself with the creation and execution of
plans.

This only moves code around and organises it a little more neatly, and
so makes no functional changes. The follow up will be to create and
expose a neater API.

Next steps:

- Arguably what is left in `execute` is now better named `plan`, but
this PR was already big enough.
- Once we have more than one `frontend`, the functions in `steps.rs` in
this crate should probably be shared somewhere.

### How

Moving files around.

V3_GIT_ORIGIN_REV_ID: 0e54310a27d06905ed1967395e97ab47751b65dc
Copy link

changeset-bot bot commented Sep 11, 2024

⚠️ No Changeset found

Latest commit: 378b78c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pull pull bot added the ⤵️ pull label Sep 11, 2024
0x777 and others added 12 commits September 11, 2024 03:42
…#1095)

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

### What

We support `fn()` syntax when all arguments are nullable.

### How

Checks if all the arguments are nullable and handles this case. There
are bunch of unit tests added.

V3_GIT_ORIGIN_REV_ID: 65c3eff6200930474bc479b27666b77e4c648b49
… in `Dockerfile` (#1094)

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

### What

The `Dockerfile` for `v3-engine` is provided for local development, and
is not what we use for production builds. Therefore there is no need to
version stamp it, so instead, provide `RELEASE_VERSION=dev` and don't
include the `.git` folder as this breaks when building from the
`graphql-engine` repo.

### How

Changes to root `Dockerfile`.

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

### What

FIx a pending TODO; add a missing typecheck while resolving model
predicates.

This will check for the types of literal values in value expressions
used in various predicates.

### How

Use the `typecheck_value_expression` function to typecheck while
resolving model predicates as well.

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

### What

Initial, hacky attempt to parse URI parts into the OpenDD query request.

This is not very useful yet. As we don't have any way to execute a
OpenDD query yet.

### How

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

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

### What

We do not use the reference agent anymore, for local dev or for tests.

This confuses users who are using the open source repo and trying to
start engine. It also has a port conflict with the `custom_connector`
service. So this doesn't even work. Remove the reference agent.

### How

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

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

### What

In `metadata-resolve`, we raise `issues`, and then decide later if those
are `warnings` or `errors`. This fixes some naming and comments to make
that clearer.

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

### What

We're going to start carrying around more `JSONPath` values, so let's
tidy up.

<!-- 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

I copied Dan's code.

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

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

### What

Our function for fetching from NDC is wrapped up in remote joins and
GraphQL-shaped processing. As a first step, let's split those concerns.

### How

Split one function into three. Functional no-op.

V3_GIT_ORIGIN_REV_ID: e8a4690968829a4cb3695745d5b1741007fe0ced
…e is missing from GraphQlConfig (#1105)

### What
This PR is similar to #1079 in that it relaxes a build error that occurs
into a warning. If you define a `Model` with aggregates but you haven't
defined the `query.aggregate` section in your `GraphqlConfig`, then you
currently get a build error telling you to do it. This PR relaxes this
to a warning and aggregates are just omitted from the Model GraphQL API
schema.

### How

The error is converted to an issue in metadata resolve. An existing test
that tested that error has been shifted to a passing test and the new
raised issue can be seen at the bottom of the resolved metadata
snapshot.

V3_GIT_ORIGIN_REV_ID: b864be90141e2a8940fa9a6269beb24021880636
### What
We do not support aggregating fields that have field arguments.
`AggregateExpressions` currently don't check for this and allow them.
This PR adds an error that blocks this scenario in metadata resolve.

This is unlikely to have occurred in the wild as the CLI does not yet
generate aggregates and field arguments are only really used in the
GraphQL connector which uses Commands not Models, so aggregates are not
used with it.

### How

A new check is added in metadata resolve to block fields that have
arguments. A test is added to verify this.

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

### What

Parse sorting and pagination params into OpenDD query IR.

Parsing filter expression will come in a follow-up PR.

### How

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

V3_GIT_ORIGIN_REV_ID: 375d9c267effbc67e125365329f472e2f6ecc6b9
Bumps [bson](https://github.com/mongodb/bson-rust) from 2.11.0 to
2.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/bson-rust/releases">bson's
releases</a>.</em></p>
<blockquote>
<h2>v2.12.0</h2>
<p>The MongoDB Rust driver team is pleased to announce the v2.12.0
release of the <code>bson</code> crate.</p>
<h2>Highlighted Changes</h2>
<p>This release was largely driven by external contributions!</p>
<ul>
<li>An optional implementation of <code>Hash</code> and <code>Eq</code>
for the <code>Bson</code> family of types</li>
<li><code>ObjectId::from_parts</code>, allowing direct construction of
an <code>ObjectId</code> from its component values</li>
<li>Helpers for serializing
<code>Option&lt;chrono::DateTime&lt;_&gt;&gt;</code> as
<code>Option&lt;bson::DateTime&gt;</code></li>
<li>A fix for a panic when parsing specific malformed input data into a
<code>Decimal128</code></li>
</ul>
<p>We've also added optional (off by default) integration with the
<code>serde_path_to_error</code> crate, which
provides paths to the precise point of failure for deserialization of
nested data structures.</p>
<h2>Full Release Notes</h2>
<h2>New Features</h2>
<ul>
<li>RUST-2027 Impl Hash/Eq for BSON (thanks @<a
href="https://github.com/NineLord"><code>@​NineLord</code></a>!)</li>
<li>RUST-2017 Allow constructing an ObjectId from its parts (thanks <a
href="https://github.com/tyilo"><code>@​tyilo</code></a>!)</li>
<li>RUST-1987 Support serializing
<code>Option&lt;chrono::DateTime&lt;_&gt;&gt;</code> as
<code>Option&lt;bson::DateTime&gt;</code> (thanks <a
href="https://github.com/lazureykis"><code>@​lazureykis</code></a>!)</li>
<li>RUST-1874 Add optional integration with serde_path_to_error</li>
</ul>
<h2>Improvements</h2>
<ul>
<li>RUST-1773 Merge duplicate extjson map parsing between
OwnedOrBorrowedRawBsonVisitor and SeededVisitor</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>RUST-2028 Fix Decimal128 panic when parsing strings w/o a char
boundary at idx 34 (thanks <a
href="https://github.com/arthurprs"><code>@​arthurprs</code></a>!)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mongodb/bson-rust/commit/8e0fb3b4eae2f465d3ee1f8cfbc5fd60bc381616"><code>8e0fb3b</code></a>
release v2.12.0 (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/498">#498</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/692cd752e94efeef215b0e51c676be59e689183d"><code>692cd75</code></a>
RUST-2028 Fix Decimal128 panic when parsing strings w/o a char boundary
at id...</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/28e39259c14a9e1fe7ccc598521e7749f55a7322"><code>28e3925</code></a>
RUST-2027 Impl Hash/Eq for BSON (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/495">#495</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/20c56f03e635d04849c3a27fdc0f1e89e2df4b1f"><code>20c56f0</code></a>
RUST-2017 Add method to construct an <code>ObjectId</code> from its
parts (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/492">#492</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/a72431e4867ec7d5b38faa52860a45da6b183ff3"><code>a72431e</code></a>
RUST-1874 Add optional integration with <code>serde_path_to_error</code>
(<a
href="https://redirect.github.com/mongodb/bson-rust/issues/488">#488</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/d0f5d233fd6b1bd54021f5637be718d9bc192269"><code>d0f5d23</code></a>
minor: update bson to clippy 1.80.0 (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/487">#487</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/2e8fb00cf8dcb0ce23de57d8c535ed44e03e4834"><code>2e8fb00</code></a>
RUST-1992 Factor raw bson encoding out of RawDocumentBuf (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/486">#486</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/1c6e65a27aeeb9e4d8442ba2b268e3690766bb9a"><code>1c6e65a</code></a>
RUST-1992 Minor parsing cleanup (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/485">#485</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/39d90f6c446683b8d23da0ac6c391302449ef073"><code>39d90f6</code></a>
RUST-1992 Convert raw deserializer to use raw document iteration (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/483">#483</a>)</li>
<li><a
href="https://github.com/mongodb/bson-rust/commit/b5541429b1ee0ab73e8d5a55d21dea3df2a51477"><code>b554142</code></a>
RUST-1987 Add serde helper module for
<code>Option\&lt;DateTime&gt;</code> (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/482">#482</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/mongodb/bson-rust/compare/v2.11.0...v2.12.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bson&package-manager=cargo&previous-version=2.11.0&new-version=2.12.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] <[email protected]>
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: df79694bffc030604f77a4bc7be3c478595d8ee2
ecthiender and others added 30 commits September 23, 2024 11:02
<!-- The PR description should answer 2 important questions: -->

### What

Join ids were constructed and assigned, but never used during execution.
Let's remove them to make the code simpler.

Functional no-op.

### How

Remove the commented out `_join_id` in `collect_next_join_nodes`, and
then follow the compiler to fix all errors.

V3_GIT_ORIGIN_REV_ID: 05e0c2435beefef3f7006c4a953962f762f2f262
### What

`Location`/`JoinLocations` types were polymorphic, so as to contain
`RemoteJoin` or `(RemoteJoin, JoinId)`. Since we've removed `JoinId` we
can make the types simpler and make them monomorphic.

Functional no-op.

### How

V3_GIT_ORIGIN_REV_ID: 69243ab6cbf350ca787a0a236d0b2676f503fd89
PR-URL: hasura/graphql-engine-mono#11040
GitOrigin-RevId: 076d36d24418a9d43f2f862977905b5958af98fa
GITHUB_PR_NUMBER: 10533
GITHUB_PR_URL: #10533

PR-URL: hasura/graphql-engine-mono#11023
Co-authored-by: Konstantinos Gallis <[email protected]>
GitOrigin-RevId: 01c611f60d72dd2f451c7a582fbb66b4e2877cde
…ome environments

PR-URL: hasura/graphql-engine-mono#11006
GitOrigin-RevId: 8645c3bc3d7eb3eedba3a0dde5c24e75fbaf941a
### What

We want to be able to reference the path within parsers even if the
parser succeeds. This allows us to do things like generate source spans
to help users make updates.

### How

We add `path` as a currently ignored argument to `deserialize`, and then
every time we want to decorate the error path, we replace that call with
a bidirectional decorator.

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

### What

We've been using `graphql-engine` as our OpenTelemetry application name,
which makes differentiating from V2 difficult, this changes it to use
`ddn-engine` instead.

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

### What

Need to make a change to the execution tests runner, and it turns out we
had two, so retiring the old one.

### How

New tests expect an array of session variables and results, so wrap them
all in `[` and `]`.

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

### What

We are creating a new build pipeline. This makes a new crate for it
called `plan` and puts the existing work from JSONAPI into it. JSONAPI
uses the new plan so we have a quick way of testing it works.

### How

Mostly moving code around. All behind feature flags, so functional
no-op.

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

### What

We need less lifetimes in our plan, particular those that are connected
to graphql-specific IR. This makes this reference a copy and fixes call
sites. Functional no-op.

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

### What

This PR adds the `Spanned` type: an OpenDD wrapper that can be placed
inside the Metadata. It's basically a pair of the value and the path to
the value in the original metadata. This allows us to do things like
source maps.

<!-- 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

It's almost exactly what @danieljharvey proposed originally.

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

---------

Co-authored-by: Daniel Harvey <[email protected]>
V3_GIT_ORIGIN_REV_ID: 4f037686b6981fffc4b0a8ac8f95c2f9c623af67
PR-URL: hasura/graphql-engine-mono#11045
GitOrigin-RevId: d909ac81cd96b137c3c853b5f346fdc58a028272
PR-URL: hasura/graphql-engine-mono#11047
GitOrigin-RevId: ff34341a0e4d20989606041f96d9b06f880fda54
PR-URL: hasura/graphql-engine-mono#11044
GitOrigin-RevId: dc8f6a5f2da3e02daaf7ab33381a3decffadae36
…1134)

<!-- 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? -->
- Introduce a brand new `graphql-ws` crate that implements
  - WebSocket request handling by `WebSocketServer` struct
-
[graphql-ws](https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md)
protocol and handles subscriptions in async tokio tasks.
- OSS engine now handles GraphQL websockets through `GET /graphql`
handshakes.

### How

Refer to added
[architecture.md](https://github.com/hasura/v3-engine/blob/rakeshkky/graphql-ws-crate/crates/graphql-ws/architecture.md)
file.

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

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

### What

We would like to show error paths for `metadata-resolve` so that
debugging these errors is a little less painful, both for us and end
users. To this end, #1147 introduced a type wrapper that would be
deserialised to contain its own JSON path, so we could then pass this
path to errors. This PR does precisely this for the
`UnknownModelDataConnector` error.

I chose this error because... it was the first one on the list, not for
any reason beyond that. Right now, this is an extremely simple case
whereby only one path is required, however other errors may need two
("name at path X conflicts with name at path Y", for example). This PR
also changes the default engine error stdout to show the `Debug`
instance rather than the `Display` instance, as the error path is
discarded by the `Display` instance. Unfortunately, we use `Display` for
both stdout and user responses, which is maybe something we'd want to
change eventually, but for now this means we can't just add the error
path to the `Display` instance.

### How

I started by making `Model` a `Spanned` element within the metadata
structure. I then added the `path` key to the resolved `Model` type. I
then found the first error type that included a model name, and added
the `path` key to that error variant. Then, I just did the wiring.
You'll note that this error doesn't _alway_ return a path because it
isn't always raised by a model-first code path, but this is probably the
first PR of many.

### Next steps

* Next step is to make the output a little neater, probably by creating
an actual structured error type (most likely a lot like `Spanned`, with
a `path` and a `value`). Then, we can use a `Display` instance again to
print this nicely in the stdout, but ignore the path in the MBS API
response.

* After that, the plan is to stop ignoring it in the MBS API response,
with a new key to hold an error path.

* Step three is to allow for errors to produce multiple error paths in a
list, hopefully such that they tell a story ("I found this... but then I
found this... and those two things conflict")

* Step four will be a wave of PRs that look quite similar to this one,
wiring up paths to as many errors as possible.
<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: 2d8dda018055f65711e66b08aa15188b516e2ddc
<!-- 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? -->
This PR enables "unit" testing for `execute_request` function from
`graphql-ws` crate which is responsible for executing
graphql operations. It is tested in conjunction with the
`graphql_frontend`'s `execute_query` by comparing responses from the
both.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
Briefly
```
http_response = graphql_frontend::execute_query
ws_response = graphql_ws::execute_request
compare(http_response, ws_response)
```
V3_GIT_ORIGIN_REV_ID: 371ac3de1136732d7dc2e88dbd093264a96a7d2e
<!-- The PR description should answer 2 important questions: -->

### What

If a model has arguments, but they are all provided by presets, then
previously we would require users to pass an empty `args: {}` argument
like this:

```graphql
query MyQuery
  ActorsByMovieMany(args: {}) {
    actor_id
    movie_id
    name
  }
}
```

There is no need for this, so this PR loosens this restriction, by
providing a default empty value. This means users can also do the above
query with:

```graphql
query MyQuery
  ActorsByMovieMany {
    actor_id
    movie_id
    name
  }
}
```

Because both versions now work, this is a non-breaking change.

### How

Instead of just looking at number of arguments in schema generation,
consider which have been prefilled and provide a default empty value if
there is nothing a user could pass anyway.

V3_GIT_ORIGIN_REV_ID: cf184e42a114df782e1480a8f19548dda31e5992
<!-- 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? -->
Use polling interval from OpenDD metadata instead of hard-coded 2
seconds.

### How

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

The interval value (in milliseconds) is already available in
subscription plan. Use it.

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

### What

We are going to need tests for our OpenDD IR pipeline, and we are going
to need to convert GraphQL requests into OpenDD IR at some point, so
this makes the most basic `normalized_ast -> OpenDD IR QueryRequest`
pipeline and implements / tests it for the simplest possible query.

This only affects tests at this point, so is a functional no-op.

### How

This PR adds the most basic `normalized_ast -> OpenDD IR QueryRequest`
pipeline and implements / tests it for the simplest possible query.

```rust
enum TestOpenDDPipeline {
    Skip,
    GenerateOpenDDQuery,
    GenerateExecutionPlan,
}
```

It adds a flag for each engine test to opt-in for testing with the new
pipeline. Currently one passes `GenerateOpenDDQuery`, and tests the
result against a snapshot, and the rest pass `Skip`.

The unblocks two following steps:
- we can improve the GraphQL -> OpenDD IR generation, enabling more
tests by passing `GenerateOpenDDQuery`
- once the main new `plan` pipeline generates the same types as the
existing `execute` crate, we can compare the old `execute::plan` with
the new one, and enable that per test by passing
`GenerateExecutionPlan`.

Once all the tests are passing `GenerateExecutionPlan` we can remove the
flag and we know we'll have parity in plan creation.

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

### What

When we merged the PR that added `ResolveFilterExpressionContext`
(amongst other changes, sadly), the `Generate Query Plan` got slower.
Changing this to a reference to try and improve it. Locally run
benchmarks show this as mostly an improvement.

### How

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

Use reference to `http_context` inside `ResolveFilterExpressionContext`,
remove resulting `.clone()` calls.

V3_GIT_ORIGIN_REV_ID: b7e728cf4f376f7c69b83eab0d79a43c90ee265b
And bump other opentelemetry-* deps to compatible with 0.23

<!-- 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? -->
Need
[add_link](https://docs.rs/opentelemetry/0.23.0/opentelemetry/trace/trait.Span.html#tymethod.add_link)
API on Spans for tracing `graphql-ws` websockets code. It is available
opentelementry version `0.23` and above. This also bumps all the
dependents of the opentelemetry crate (`opentelemetry-*`)

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
By updating root `Cargo.toml`.

V3_GIT_ORIGIN_REV_ID: 87c1bedde35f5e8e91366aceb1379ab5d43b5b99
### What

We'd like to use `NdcFieldAlias` in the `plan` crate, however because of
the ways deps between `graphql_ir` and `execute` work we cannot without
a cycle. Functional no-op.

### How

Create a new crate that depends on nothing for planning-related domain
types.

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

### What

The references are making multiple frontends difficult to implement,
let's wrap them with `Arc` instead and have an easier time.

### How

Change the types, follow the errors. Functional no-op.

V3_GIT_ORIGIN_REV_ID: 8baea2bd6c0e56e8bfb1f899b8d15731eebfa976
V3_GIT_ORIGIN_REV_ID: 5143e6c7939ff4c49c4fae2ff8c3d3d757b4b60f
…1169)

### What

This will save me minutes of time a week.

### How

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

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

### What

We're building a new OpenDD IR pipeline. The `sql` crate already has a
lot of what we need, so let's take the model selection parts (ie, not
aggregates yet), pull them into the `plan` crate, and re-use them for
both `sql` and the `jsonapi` pipelines.

The broad idea here is that the shared `plan` will get incrementally
bigger, and `sql` will get smaller.

This is a functional no-op for `sql`, and slightly improves the WIP
JSONAPI pipeline as we enjoy better permission checks.

### How

- Copy model planning and helper functions from `sql` into `plan`
- Replace instances `DataFusionError` with a smaller local `PlanError`
- Fix JSONAPI to use these new `plan` functions
- Remove the code in `sql`, instead using the shared `plan` functions in
planning, mapping back into `DataFusionError` as appropriate.

V3_GIT_ORIGIN_REV_ID: 50314442b9b56f31d2b38a0cf6f104e265bc3886
### What

Previously, MBS would not complain if two commands had the same root
field name, and would instead just keep whichever was resolved last.
This has now been fixed.

### How

We do precisely what we do with all the other steps: check a running
list of graphql names that have already been used. We've added a test
that does indeed fail on `main`, which now works.

V3_GIT_ORIGIN_REV_ID: fdf8f73acc62abf315125636c0010b01f6cdb96b
### What

In order to talk about artifacts in MBS, we pull in the entirety of
engine-multitenant, which pulls in the entirety of engine, which is
quite a big dependency tree. This PR factors that code out into a
separate package, `build-artifacts`, to lighten the MBS dependency
burden.

---------

Co-authored-by: Daniel Harvey <[email protected]>
V3_GIT_ORIGIN_REV_ID: ad60badb5b793a80cf60cf4b040501eb6abc6bb2
PR-URL: hasura/graphql-engine-mono#11038
GitOrigin-RevId: 9256b69ea41b62aab7f58f0a81e8b0984a47f91d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.