Commit Graph

8952 Commits

Author SHA1 Message Date
Daniel Harvey
1b31f73d26 Combine graphql crates together (#1290)
<!-- The PR description should answer 2 important questions: -->

### What

Move `lang-graphql`, `graphql-ws` and `frontends/graphql` into the
`graphql` folder. Functional no-op.

V3_GIT_ORIGIN_REV_ID: c9d6c5db6693dbe9213569443a102a3b3b2e39f6
2024-10-29 10:16:46 +00:00
Rakesh Emmadi
1fce83f445 graphql-ws: Add Metrics (#1278)
<!-- The PR description should answer 2 important questions: -->

### What

Add the following metrics for GraphQL websockets:
- active connections
- active pollers
- total connections

<!-- 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
This is a bit involved that I initially thought. In normal HTTP
requests, metrics are recorded in middleware. In websockets, metrics
have to be recorded in deeper layers of code. So made the websocket
metrics a part of the `Context` as it is available for each connection.
Defined a trait that impls a few methods to record metrics on connection
& poller managements, and use them in relevant code paths.

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

V3_GIT_ORIGIN_REV_ID: bbaf63fd7ef3274bf5fe72bb86aa8e07a28f6fe2
2024-10-29 09:23:15 +00:00
Daniel Harvey
4b285a7460 Release OrderByExpression (#1289)
<!-- The PR description should answer 2 important questions: -->

### What

Release `OrderByExpression` and version 2 of `Model`. These have been
working behind feature flags for a while.

### How

Remove feature flags, remove `hidden` pragmas on `open-dds` metadata.

V3_GIT_ORIGIN_REV_ID: dfb7e9316171c11d2605dfbf01552db093d81d63
2024-10-28 17:35:50 +00:00
Daniel Harvey
84bec972ce Add scalar operand for OrderByExpression (#1274)
<!-- The PR description should answer 2 important questions: -->

### What

Previously we stored scalar values for `OrderByExpression` inline, now
we break them out into their own discreet metadata items.

### How

Mostly fixing tests.

V3_GIT_ORIGIN_REV_ID: e3ee1c1c9c5ae05113cf82c10627cc89b8b9894c
2024-10-28 15:20:59 +00:00
Rakesh Emmadi
a6ed625cd7 graphql-ws: Implement connection expiry (#1281)
<!-- The PR description should answer 2 important questions: -->
TODO:
- ~Add a test for parsing connection expiry from headers~

### 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? -->
Expire the connection if the duration is set in the `Context`.

### How
Spawn a background thread to wait until the expiry. Send a close message
after waiting completes.

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

V3_GIT_ORIGIN_REV_ID: a9d06c57d75cc87abc3c470ee096a99a8f378a9a
2024-10-28 15:03:59 +00:00
Daniel Harvey
161f40636c Check relationships exist in order_by_expressions resolve step (#1288)
<!-- The PR description should answer 2 important questions: -->

### What

Now when resolving `orderableRelationship` in `order_by_expressions` we
check the relationship name refers to a real relationship on that type,
and throw an error if not.

If we lookup the relationship and it refers to an unknown subgraph, we
exclude it but do not error.

V3_GIT_ORIGIN_REV_ID: 4d310c6e800cf830860efce30e28fc5f258bf39b
2024-10-28 13:46:52 +00:00
dependabot[bot]
dfcbef9fcf Bump flate2 from 1.0.32 to 1.0.34 (#1286)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.32 to
1.0.34.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/flate2-rs/releases">flate2's
releases</a>.</em></p>
<blockquote>
<h2>1.0.34</h2>
<h2>What's Changed</h2>
<ul>
<li>Add minimum build test back in to CI by <a
href="https://github.com/jongiddy"><code>@​jongiddy</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/426">rust-lang/flate2-rs#426</a></li>
<li>docs: fix compression level range from 0-9 to 0-10 by <a
href="https://github.com/ByteBaker"><code>@​ByteBaker</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/427">rust-lang/flate2-rs#427</a></li>
<li>Document backend differences in compression levels by <a
href="https://github.com/Shnatsel"><code>@​Shnatsel</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/430">rust-lang/flate2-rs#430</a></li>
<li>Upgrade zlib-rs to 0.3.0 to get multiple bugfixes by <a
href="https://github.com/Shnatsel"><code>@​Shnatsel</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/428">rust-lang/flate2-rs#428</a></li>
<li>Better wording in compression level docs by <a
href="https://github.com/Shnatsel"><code>@​Shnatsel</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/431">rust-lang/flate2-rs#431</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ByteBaker"><code>@​ByteBaker</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/427">rust-lang/flate2-rs#427</a></li>
<li><a href="https://github.com/Shnatsel"><code>@​Shnatsel</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/430">rust-lang/flate2-rs#430</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/flate2-rs/compare/1.0.33...1.0.34">https://github.com/rust-lang/flate2-rs/compare/1.0.33...1.0.34</a></p>
<h2>1.0.33 - fix minimal manifest versions</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix msrv: Run msrv checks with minimal versions by <a
href="https://github.com/NobodyXu"><code>@​NobodyXu</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/425">rust-lang/flate2-rs#425</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/NobodyXu"><code>@​NobodyXu</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/425">rust-lang/flate2-rs#425</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/flate2-rs/compare/1.0.32...1.0.33">https://github.com/rust-lang/flate2-rs/compare/1.0.32...1.0.33</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1a28821dc1"><code>1a28821</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/431">#431</a>
from Shnatsel/better-wording</li>
<li><a
href="2c29780e50"><code>2c29780</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/428">#428</a>
from Shnatsel/upgrade-zlib-rs</li>
<li><a
href="423981aede"><code>423981a</code></a>
Better wording in compression level docs</li>
<li><a
href="da5c8cfd91"><code>da5c8cf</code></a>
Bump version</li>
<li><a
href="eeee4c6411"><code>eeee4c6</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/430">#430</a>
from Shnatsel/detailed-level-docs</li>
<li><a
href="731df32113"><code>731df32</code></a>
Update Cargo.toml</li>
<li><a
href="8210288eaa"><code>8210288</code></a>
Document backend differences</li>
<li><a
href="1f78c5c413"><code>1f78c5c</code></a>
Upgrade zlib-rs to 0.3.0 to get multiple bugfixes:</li>
<li><a
href="6fbd6d2115"><code>6fbd6d2</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/427">#427</a>
from ByteBaker/main</li>
<li><a
href="936aa35f45"><code>936aa35</code></a>
docs: correctly mention compression level</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/flate2-rs/compare/1.0.32...1.0.34">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flate2&package-manager=cargo&previous-version=1.0.32&new-version=1.0.34)](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: 2a093c7421bce953bf737ef4ad0e1e4bf0fb1688
2024-10-28 05:56:03 +00:00
dependabot[bot]
94d29107e4 Bump bytes from 1.7.2 to 1.8.0 (#1285)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.7.2 to 1.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/bytes/releases">bytes's
releases</a>.</em></p>
<blockquote>
<h2>Bytes 1.8.0</h2>
<h1>1.8.0 (October 21, 2024)</h1>
<ul>
<li>Guarantee address in <code>split_off</code>/<code>split_to</code>
for empty slices (<a
href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md">bytes's
changelog</a>.</em></p>
<blockquote>
<h1>1.8.0 (October 21, 2024)</h1>
<ul>
<li>Guarantee address in <code>split_off</code>/<code>split_to</code>
for empty slices (<a
href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c45697ce42"><code>c45697c</code></a>
chore: prepare bytes v1.8.0 (<a
href="https://redirect.github.com/tokio-rs/bytes/issues/741">#741</a>)</li>
<li><a
href="0ac54ca706"><code>0ac54ca</code></a>
Guarantee address in split_off/split_to for empty slices (<a
href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/bytes/compare/v1.7.2...v1.8.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bytes&package-manager=cargo&previous-version=1.7.2&new-version=1.8.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: 4812aa75c3858809831b0ab5d13343edc3ddebc1
2024-10-28 05:55:09 +00:00
dependabot[bot]
22c075a27c Bump regex from 1.11.0 to 1.11.1 (#1284)
Bumps [regex](https://github.com/rust-lang/regex) from 1.11.0 to 1.11.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's
changelog</a>.</em></p>
<blockquote>
<h1>1.11.1 (2024-10-24)</h1>
<p>This is a new patch release of <code>regex</code> that fixes
compilation on nightly
Rust when the unstable <code>pattern</code> crate feature is enabled.
Users on nightly
Rust without this feature enabled are unaffected.</p>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1231">#1231</a>](<a
href="https://redirect.github.com/rust-lang/regex/issues/1231">rust-lang/regex#1231</a>):
Fix the <code>Pattern</code> trait implementation as a result of nightly
API breakage.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9870c06e6c"><code>9870c06</code></a>
1.11.1</li>
<li><a
href="80df54e4b9"><code>80df54e</code></a>
changelog: 1.11.1</li>
<li><a
href="991ba8836b"><code>991ba88</code></a>
unstable: fix <code>Pattern</code> trait implementation</li>
<li>See full diff in <a
href="https://github.com/rust-lang/regex/compare/1.11.0...1.11.1">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.11.0&new-version=1.11.1)](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: a689680e9a9dc1e1ea771822bf9a8344bba47f75
2024-10-28 05:54:18 +00:00
dependabot[bot]
e6a70b6edf Bump anyhow from 1.0.89 to 1.0.91 (#1283)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.89 to 1.0.91.
<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.91</h2>
<ul>
<li>Ensure OUT_DIR is left with deterministic contents after build
script execution (<a
href="https://redirect.github.com/dtolnay/anyhow/issues/388">#388</a>)</li>
</ul>
<h2>1.0.90</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6c52daaa79"><code>6c52daa</code></a>
Release 1.0.91</li>
<li><a
href="4986853bea"><code>4986853</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/388">#388</a>
from dtolnay/outdir</li>
<li><a
href="f130b76204"><code>f130b76</code></a>
Clean up dep-info files from OUT_DIR</li>
<li><a
href="a0b868a60c"><code>a0b868a</code></a>
Release 1.0.90</li>
<li><a
href="0f741692fa"><code>0f74169</code></a>
Improve rendering of inline code in macros documentation</li>
<li><a
href="8ce4560fa4"><code>8ce4560</code></a>
Ignore needless_lifetimes clippy lint</li>
<li><a
href="be64707850"><code>be64707</code></a>
Resolve used_underscore_items pedantic clippy lint</li>
<li>See full diff in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.91">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.89&new-version=1.0.91)](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: 1f0c410bc81ca7bf9508b9fc6ff927d86f3c121a
2024-10-28 05:54:14 +00:00
dependabot[bot]
62673ef84a Bump proc-macro2 from 1.0.86 to 1.0.89 (#1282)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.86
to 1.0.89.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's
releases</a>.</em></p>
<blockquote>
<h2>1.0.89</h2>
<ul>
<li>Ensure OUT_DIR is left with deterministic contents after build
script execution (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/474">#474</a>)</li>
</ul>
<h2>1.0.88</h2>
<ul>
<li>Return accurate line and column from <code>Span::start</code> and
<code>Span::end</code> inside proc macros on nightly (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/472">#472</a>)</li>
</ul>
<h2>1.0.87</h2>
<ul>
<li>Check valid punctuation character in <code>Punct::new</code> (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/470">#470</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="671d87da32"><code>671d87d</code></a>
Release 1.0.89</li>
<li><a
href="9574d983ae"><code>9574d98</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/474">#474</a>
from dtolnay/outdir</li>
<li><a
href="3e8962cc14"><code>3e8962c</code></a>
Clean up dep-info files from OUT_DIR</li>
<li><a
href="6b3395a280"><code>6b3395a</code></a>
Release 1.0.88</li>
<li><a
href="faee27e2ee"><code>faee27e</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/472">#472</a>
from dtolnay/startend</li>
<li><a
href="44f8ff2be1"><code>44f8ff2</code></a>
Restore nightly behavior of Span::start and Span::end</li>
<li><a
href="50b477d6dc"><code>50b477d</code></a>
Release 1.0.87</li>
<li><a
href="f0b6802512"><code>f0b6802</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/471">#471</a>
from dtolnay/punctnew</li>
<li><a
href="98ea26129e"><code>98ea261</code></a>
Check valid punctuation character in Punct::new</li>
<li><a
href="d60aaad1a5"><code>d60aaad</code></a>
Ignore missing_panics_doc pedantic clippy lint</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/proc-macro2/compare/1.0.86...1.0.89">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro2&package-manager=cargo&previous-version=1.0.86&new-version=1.0.89)](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: e0dac3bc669a7b5da2a95045e0e933446e30a11d
2024-10-28 05:39:15 +00:00
Vamshi Surabhi
5866fd176d sql: error detail for disallowed mutations (#1280)
<!-- The PR description should answer 2 important questions: -->

### What

We want to change this error message
```json
{
  "error": "error in data fusion: External error: Mutations are requested to be disallowed as part of the request"
}
```

to this

```json
{
  "error": "error in data fusion: External error: Mutations are requested to be disallowed as part of the request",
  "detail": {
    "subgraph": "default",
    "commandName": "uppercase_actor_name_by_id",
    "arguments": {
      "id": {
        "literal": 1
      }
    }
  }
}

```

<!-- 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: 5d1f712c039ac9a4685c480634f1e7e17ff94c4b
2024-10-26 16:14:36 +00:00
Vamshi Surabhi
e5f1befba8 sql: allow inexact scalar conversion (#1279)
<!-- The PR description should answer 2 important questions: -->

### What

Float literals in SQL are represented as `Float64` values. We were check
for precision loss when converting these Float64 values into Float32
values. We now only check if there is an overflow.

<!-- 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: 1630e6130591df19f16be7cc97bbc6515537d951
2024-10-26 08:07:15 +00:00
Daniel Harvey
9678718981 Release v2024.10.25 (#1277)
Update changelog.

V3_GIT_ORIGIN_REV_ID: 9868f5be5147b5c54396e7891c998730517cf579
2024-10-25 14:41:00 +00:00
Daniel Harvey
ec4de00a8d Add introspection tests for order by with ModelV1 and ModelV21 (#1276)
<!-- The PR description should answer 2 important questions: -->

### What

Before making the scalar order by expressions changes, adding a few more
introspection tests to the current thing so we can check we don't break
these.

V3_GIT_ORIGIN_REV_ID: d15efd3b98e2c058d77e443e5cc218034f3b3e6d
2024-10-25 12:10:15 +00:00
Daniel Harvey
8b34768c27 Revert "More general nix build" (#1273)
Reverts hasura/v3-engine#1265

Tried this for a bit and it seems to have made our cache usage worse, so
let's not.

V3_GIT_ORIGIN_REV_ID: cb1e33d568da49a9af80591ec1db111fb62bf6ca
2024-10-25 11:14:35 +00:00
Daniel Harvey
35d606f276 Bump Rust to 1.82.0 (#1270)
<!-- The PR description should answer 2 important questions: -->

### What

As a treat.

V3_GIT_ORIGIN_REV_ID: 23369acdd1da6d5df828921818e4b9676e143b92
2024-10-25 10:52:05 +00:00
Daniel Harvey
c395c9add3 Return types in JSONAPI OpenAPI schema (#1250)
<!-- The PR description should answer 2 important questions: -->

### What

Adds response types for JSONAPI endpoints. They look OK!

<img width="733" alt="Screenshot 2024-10-23 at 17 48 05"
src="https://github.com/user-attachments/assets/cbd52523-3511-404a-9716-eed142847158">
V3_GIT_ORIGIN_REV_ID: 72050f3d0accf57c3c77e83aed4bd684da46786b
2024-10-25 10:31:21 +00:00
Daniel Chambers
ceb9de58a3 Fix nullable predicate arguments not being presettable in ModelPermissions and CommandPermissions (#1272)
### What
If a connector defined a function/procedure/collection argument that
took a predicate type, but made it a nullable predicate type, then
metadata-resolve would fail to bind an argument preset for that argument
in ModelPermissions and CommandPermissions.

This has been fixed.

### How

The code that bound a boolean expression to the argument wasn't stepping
through nullable types properly. This has been fixed by reusing a
nullable type unwrapping function from another module (and moving it
into a shared location for reuse).

New metadata resolve tests have been added to verify that this works,
for both the nullable and non-nullable cases.

---------

Co-authored-by: Brandon Martin <brandon@codedmart.com>
V3_GIT_ORIGIN_REV_ID: 4d33d53522551a6217e618451041aa3b1cf89e52
2024-10-25 02:22:38 +00:00
Rob Dominguez
b0f940f66c Docs: improve query variable logging
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11060
GitOrigin-RevId: 700fd87354854d854de81b6e77c1c4fffed8d01a
2024-10-24 12:33:40 +00:00
Rakesh Emmadi
be748992f4 Reapply "Reapply "subscriptions: Unhide OpenDd Metadata and lift from unstability" " (#1256) (#1266)
<!-- 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: 894ba81666bb441e71b8e204b89e5732ac4f1c83
2024-10-23 15:44:00 +00:00
Daniel Harvey
cff4920552 More general nix build (#1265)
<!-- The PR description should answer 2 important questions: -->

### What

This was building more often than I'd expected - looking at the crane
docs we'll get more cache sharing if we build all the deps.

https://crane.dev/examples/quick-start.html?highlight=cargoArtifacts#

V3_GIT_ORIGIN_REV_ID: b6e29d8daa8b77b76324819607f0c50c1a00df70
2024-10-23 15:29:13 +00:00
Daniel Harvey
f7acd0feed Update changelog for v2024.10.23 (#1263)
<!-- The PR description should answer 2 important questions: -->

### What

Update changelog for release.

V3_GIT_ORIGIN_REV_ID: 92a4d2dc725ae48000fbc461200e4dd469cffac5
2024-10-23 10:36:20 +00:00
Brandon Simmons
b6767e8399 mbs: improve performance of /validate and, to a lesser extent, /build (#1253)
<!-- The PR description should answer 2 important questions: -->

### What

Some "medium-hanging" fruit optimizations of mbs validate and build code
paths

Latest timing relative to `main` as of 10/18:

```
validate example/chinook.json
                        time:   [6.3984 ms 6.4236 ms 6.4532 ms]
                        change: [-46.276% -45.876% -45.440%] (p = 0.00 < 0.05)
                        Performance has improved.

validate example/multiple-subgraphs.json
                        time:   [1.6909 ms 1.7024 ms 1.7165 ms]
                        change: [-44.488% -44.141% -43.771%] (p = 0.00 < 0.05)
                        Performance has improved.

validate example/chinook-invoices.json
                        time:   [3.8878 ms 3.9039 ms 3.9220 ms]
                        change: [-45.544% -45.201% -44.863%] (p = 0.00 < 0.05)
                        Performance has improved.

validate example/big_pretty_DONT_COMMIT.json
                        time:   [3.6692 s 3.6789 s 3.6889 s]
                        change: [-36.964% -36.755% -36.544%] (p = 0.00 < 0.05)
                        Performance has improved.

build example/chinook.json
                        time:   [18.274 ms 18.345 ms 18.414 ms]
                        change: [-29.874% -29.359% -28.850%] (p = 0.00 < 0.05)
                        Performance has improved.

build example/multiple-subgraphs.json
                        time:   [3.4423 ms 3.4588 ms 3.4760 ms]
                        change: [-33.073% -32.628% -32.199%] (p = 0.00 < 0.05)
                        Performance has improved.

build example/chinook-invoices.json
                        time:   [11.000 ms 11.027 ms 11.057 ms]
                        change: [-26.051% -25.757% -25.449%] (p = 0.00 < 0.05)
                        Performance has improved.

Benchmarking build example/big_pretty_DONT_COMMIT.json: Collecting 100 samples in estimated 1359.8 s (100 iterations)
build example/big_pretty_DONT_COMMIT.json
                        time:   [13.429 s 13.465 s 13.503 s]
                        change: [-21.864% -21.634% -21.367%] (p = 0.00 < 0.05)
                        Performance has improved.

```

### How

 optimizing 

### Internal details

The absolute numbers for build in the PR are not accurate after rebasing
on current `main`, but absolute improvement in secs/ms is about the
same.

(/private)

V3_GIT_ORIGIN_REV_ID: a4fe628a08a35a88c2ca958a1d22f1fc6ddf2a5b
2024-10-23 09:51:34 +00:00
Daniel Chambers
20b46151e1 Bump NDC Spec version in the json schema (#1261)
### What
The supported NDC Spec was previously bumped to v0.1.6, but the
reference in the JSON Schema was not updated at the same time. This has
been corrected.

V3_GIT_ORIGIN_REV_ID: edbe31eafcd9fb72bdc457f38575d9e42931ecd0
2024-10-23 07:53:40 +00:00
Daniel Chambers
3186e49826 Raise deprecation warning for use of AuthConfig v1 during build (#1260)
### What
The warning about AuthConfig v1 being deprecated was only being
displayed in the engine's stdout logs and not as a build warning. This
has been corrected.

### How

Because AuthConfig is not part of OpenDD metadata, it is not handled
during metadata resolve. The existing warning printed from stdout is
printed during engine startup when it reads the AuthConfig. This is not
does not happen during the MBS build. So the warning logic is now called
during the MBS build so that a warning is emitted there too.

V3_GIT_ORIGIN_REV_ID: b4cf340597e3fad0603dd8c8d3e198f1867669eb
2024-10-23 06:42:04 +00:00
Daniel Harvey
97f96bc62f Include TypeRepresentation in resolved scalar types (#1259)
<!-- The PR description should answer 2 important questions: -->

### What

To generate JSONAPI OpenAPI spec we need to know the underlying type
representation of custom types. This is (optionally) provided by a data
connector in it's `scalar_types` section. It's really annoying to look
up, so let's collect them all and store them on the
`ScalarTypeRepresentation`, keyed by `Qualified<DataConnectorName>`.

No functional change, this will be used in JSONAPI OpenAPI generation
shortly.

V3_GIT_ORIGIN_REV_ID: 084304a580aca977e1f8c39b16938205a49b1b0e
2024-10-22 16:34:23 +00:00
Toan Nguyen
8b956bfafa server: add hasura_postgres_connection_error_total metric
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11063
GitOrigin-RevId: 0e0f8b6e7759623f470893aaa6d6e68d205269b5
2024-10-22 11:53:07 +00:00
Daniel Chambers
f68438b78e Support receiving JSON values from Webhooks/JWT/NoAuth instead of just strings (#1257)
### What

Previously, we only supported String as the type that contained your
session variable value when they are provided from webhooks/JWT/NoAuth.
We then coerced that value into whatever type was actually expected (eg
a float) later.

However, when we added support for array-typed session variables (#1221)
we didn't actually allow you to provide a JSON array of values as a
session variable value. You had to provide a string that contained a
JSON-encoded array of values. This meant that webhooks/JWT/NoAuth had to
double JSON-encode their session variables when returning them.

This PR fixes this and makes it so that webhooks/JWT/NoAuth can return
JSON values for session variables and that JSON is respected. So if a
session variable needs to be an array of integers, they can simply
return the JSON array of integers as the value for that session
variable.

### How

Instead of holding a `SessionVariableValue` as a `String`, we now turn
that into an enum where we have an "unparsed" String (used for when we
don't receive JSON, we just receive a string value (ie. http headers)),
or a "parsed" JSON value. When we receive session variables from
webhooks/JWT/NoAuth, we relax the restriction that they can only return
us JSON strings, and instead allow them to return JSON Values, which we
put in the new `SessionVariableValue::Parsed` enum variant. HTTP headers
go into `SessionVariableValue::Unparsed`.

Then, when we go to get the required value from the
`SessionVariableValue` based on the desired type, we either parse it out
of the "unparsed" String, or we expect that the value is already in the
correct form in the "parsed" JSON value. This is the behaviour you will
get if JSON session variables are turned on in the Flags.

If JSON session variables are not turned on, then we expect that only
String session variables (parsed or unparsed) are provided from
headers/webhooks/JWT/NoAuth, and so we run the old logic of always
expecting a String and parsing the correct value out of it.

V3_GIT_ORIGIN_REV_ID: b6734ad5443b7d68065f91aea71386c893aa7eba
2024-10-22 11:46:37 +00:00
paritosh-08
997d147c37 fix changelog for last release (#1258)
<!-- The PR description should answer 2 important questions: -->

### What

This PR fixes the changelog for the last release. An entry was added
accidently to the already-released version instead of the unreleased
section.

### How

By moving the changelog line.

V3_GIT_ORIGIN_REV_ID: 0d2edeea1890da90eee5d4475c78a4541b6fc7b4
2024-10-22 11:26:18 +00:00
Daniel Harvey
fa82c310d6 Generate basic OpenAPI document for JSONAPI (#1238)
<!-- The PR description should answer 2 important questions: -->

### What

<img width="731" alt="Screenshot 2024-10-17 at 16 39 07"
src="https://github.com/user-attachments/assets/a9e504e8-68f1-4c89-930d-2a5b00549dfc">

<img width="723" alt="Screenshot 2024-10-17 at 16 39 14"
src="https://github.com/user-attachments/assets/9bd76265-1726-4825-a25f-c4faac42990f">

This PR exposes a super basic OpenAPI 3.1 spec for the JSONAPI at
`/v1/rest/__schema`.

It includes:
- `page[limit]` and `page[offset]`
- `fields[ModelName]`

It does not include:
- `sorting`
- return types

- It also changes the JSONAPI to be served from `/v1/rest/` instead of
`/v1/jsonapi`.

The schema is generated depending on the user's role, so they'll only
see fields they'll allowed to.

### How

- Generate a `State` type for each `Role`
- Use `oas3` crate for types, manually create `Spec` type.

V3_GIT_ORIGIN_REV_ID: d15bb1dbc690795dcd3e2d8d245fd59e97653a56
2024-10-22 09:27:16 +00:00
Rakesh Emmadi
047f5b4938 graphql-ws: Improve tracing (#1252)
<!-- 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? -->
- Propagate baggage across span links and push websocket id into
baggage.
- Attach usage analytics attributes to execute span.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
- First, move setting usage attributes into a separate function. Re-use
it in websockets code.
- Open a new `execute` span within the `websocket_execute_query` and
attach usage attributes to it.
- Add support to propagate trace baggage across span links. Push
websocket id into trace baggage.
- Remove setting `websocket.id` attribute in new linked traces as the
tracer will set websocket.id in baggage as an attribute.

V3_GIT_ORIGIN_REV_ID: 96338d8b9b3eb2f927e3ca57336e8372093ab585
2024-10-22 08:52:59 +00:00
Daniel Harvey
927268ae03 Revert "Reapply "subscriptions: Unhide OpenDd Metadata and lift from unstability" " (#1256)
I am sorry @rakeshkky , we will merge this again once we've done a
release, I promise.

Reverts hasura/v3-engine#1254

V3_GIT_ORIGIN_REV_ID: 74236d25d4e84658717531a55d87c8d3371b553c
2024-10-21 21:03:01 +00:00
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