Commit Graph

9012 Commits

Author SHA1 Message Date
Varun Choudhary
3fd367004c Console: support for session variable in Data tab performance mode for permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11077
GitOrigin-RevId: d468647ea1124bc4c297ef552be07c6d6cb4f83f
2024-11-19 05:40:11 +00:00
Brandon Simmons
426a834412 ENG-1287 remove metadata copy from SQL artifact (#1348)
<!-- The PR description should answer 2 important questions: -->

### What

Remove copies of metadata from SQL artifacts:

Resulting in **19% smaller artifact** for chinook, **17% faster
runtime**.
Customer metadata with multiple subgraphs will show more dramatic
effect.

There was a separate copy of the metadata stored for each subgraph in
the sql "catalog". From the point of view of MBS we were serializing 2+N
copies of the same metadata which bloats artifacts and is very slow.

Additionally the usage sites became confusing because you had multiple
identical (we assume) copies of metadata in scope at the same time.

Instead we reconstruct the original Catalog type before use, because
it's required for the Datafusion impls

### How

convert to a different type for serialization, re-hydrate in body of sql
code

V3_GIT_ORIGIN_REV_ID: 0e7e35255cfe8fe01ea328a1d7cb96db0e2dd726
2024-11-18 18:26:36 +00:00
Rakesh Emmadi
5dd7edcb7f Changelog for v2024.11.18 (#1357)
Release v2024.11.18

V3_GIT_ORIGIN_REV_ID: a6afe29974bb6e0fbcbe4552d26466b18f26032e
2024-11-18 15:19:00 +00:00
Daniel Harvey
851e3accc9 Split object_types from models in JSONAPI catalog / schema (#1356)
<!-- The PR description should answer 2 important questions: -->

### What

Previously in JSONAPI a model held all it's field types. This approach
quickly falls apart with recursive types and when adding nested fields /
relationships.

### How

This outputs the object types as their own items in the catalog and
refers to them throughout rather than inlining the types everywhere.

V3_GIT_ORIGIN_REV_ID: 7f05bf964c6551c9aaf04ba6f2e02bf8f0ce272d
2024-11-18 11:14:10 +00:00
dependabot[bot]
b8da04cf61 Bump serde_json from 1.0.132 to 1.0.133 (#1354)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.132 to
1.0.133.
<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>v1.0.133</h2>
<ul>
<li>Implement From&lt;[T; N]&gt; for serde_json::Value (<a
href="https://redirect.github.com/serde-rs/json/issues/1215">#1215</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0903de449c"><code>0903de4</code></a>
Release 1.0.133</li>
<li><a
href="2b65ca0949"><code>2b65ca0</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1215">#1215</a>
from dtolnay/fromarray</li>
<li><a
href="4e5f985958"><code>4e5f985</code></a>
Implement From&lt;[T; N]&gt; for Value</li>
<li><a
href="2ccb5b67ca"><code>2ccb5b6</code></a>
Disable question_mark clippy lint in lexical test</li>
<li><a
href="a11f5f2bc4"><code>a11f5f2</code></a>
Resolve unnecessary_map_or clippy lints</li>
<li><a
href="07f280a79c"><code>07f280a</code></a>
Wrap PR 1213 to 80 columns</li>
<li><a
href="75ed44722d"><code>75ed447</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1213">#1213</a>
from djmitche/safety-comment</li>
<li><a
href="73011c0b2b"><code>73011c0</code></a>
Add a safety comment to unsafe block</li>
<li><a
href="be2198a54d"><code>be2198a</code></a>
Prevent upload-artifact step from causing CI failure</li>
<li><a
href="7cce517f53"><code>7cce517</code></a>
Raise minimum version for preserve_order feature to Rust 1.65</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/json/compare/v1.0.132...v1.0.133">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.132&new-version=1.0.133)](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: fb9be45dad350c6f82da9954bfb22b6bc30b7c63
2024-11-18 09:02:43 +00:00
dependabot[bot]
7c7483d6af Bump anyhow from 1.0.92 to 1.0.93 (#1353)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.92 to 1.0.93.
<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.93</h2>
<ul>
<li>Update dev-dependencies to <code>thiserror</code> v2</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="713bda9247"><code>713bda9</code></a>
Release 1.0.93</li>
<li><a
href="f91c247cf8"><code>f91c247</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/391">#391</a>
from dtolnay/thiserror</li>
<li><a
href="2a3901c0b1"><code>2a3901c</code></a>
Isolate old rustc version tests from needing anyhow dev-dependencies in
lockfile</li>
<li><a
href="3ca2cdd795"><code>3ca2cdd</code></a>
Update dev-dependencies to thiserror v2</li>
<li>See full diff in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.92...1.0.93">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.92&new-version=1.0.93)](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: 1e2b6601012bef1430d82d1d638300e288c4d24a
2024-11-18 09:02:39 +00:00
dependabot[bot]
21c430ce8d Bump serde from 1.0.214 to 1.0.215 (#1352)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.214 to
1.0.215.
<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.215</h2>
<ul>
<li>Produce warning when multiple fields or variants have the same
deserialization name (<a
href="https://redirect.github.com/serde-rs/serde/issues/2855">#2855</a>,
<a
href="https://redirect.github.com/serde-rs/serde/issues/2856">#2856</a>,
<a
href="https://redirect.github.com/serde-rs/serde/issues/2857">#2857</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8939af48fe"><code>8939af4</code></a>
Release 1.0.215</li>
<li><a
href="fa5d58cd00"><code>fa5d58c</code></a>
Use ui test syntax that does not interfere with rustfmt</li>
<li><a
href="1a3cf4b3c1"><code>1a3cf4b</code></a>
Update PR 2562 ui tests</li>
<li><a
href="7d96352e96"><code>7d96352</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2857">#2857</a>
from dtolnay/collide</li>
<li><a
href="111ecc5d8c"><code>111ecc5</code></a>
Update ui tests for warning on colliding aliases</li>
<li><a
href="edd6fe954b"><code>edd6fe9</code></a>
Revert &quot;Add checks for conflicts for aliases&quot;</li>
<li><a
href="a20e9249c5"><code>a20e924</code></a>
Revert &quot;pacify clippy&quot;</li>
<li><a
href="b1353a99cd"><code>b1353a9</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2856">#2856</a>
from dtolnay/dename</li>
<li><a
href="c59e876bb3"><code>c59e876</code></a>
Produce a separate warning for every colliding name</li>
<li><a
href="7f1e697c0d"><code>7f1e697</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2855">#2855</a>
from dtolnay/namespan</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.214...v1.0.215">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.214&new-version=1.0.215)](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: 0aacba651e47e810bca0a4388d77c4a0b254080f
2024-11-18 09:02:34 +00:00
dependabot[bot]
b3034e9c4f Bump axum from 0.7.7 to 0.7.9 (#1351)
Bumps [axum](https://github.com/tokio-rs/axum) from 0.7.7 to 0.7.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/axum/releases">axum's
releases</a>.</em></p>
<blockquote>
<h2>axum - v0.7.9</h2>
<ul>
<li><strong>fixed:</strong> Avoid setting content-length before
middleware (<a
href="https://redirect.github.com/tokio-rs/axum/issues/3031">#3031</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/3031">#3031</a>:<a
href="https://redirect.github.com/tokio-rs/axum/pull/3031">tokio-rs/axum#3031</a></p>
<h2>axum - v0.7.8</h2>
<ul>
<li><strong>fixed:</strong> Skip SSE incompatible chars of
<code>serde_json::RawValue</code> in <code>Event::json_data</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2992">#2992</a>)</li>
<li><strong>added:</strong> Add <code>method_not_allowed_fallback</code>
to set a fallback when a path matches but there is no handler for the
given HTTP method (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2903">#2903</a>)</li>
<li><strong>added:</strong> Add <code>MethodFilter::CONNECT</code>,
<code>routing::connect[_service]</code>
and <code>MethodRouter::connect[_service]</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2961">#2961</a>)</li>
<li><strong>added:</strong> Add <code>NoContent</code> as a
self-described shortcut for <code>StatusCode::NO_CONTENT</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2978">#2978</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2903">#2903</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2903">tokio-rs/axum#2903</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2961">#2961</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2961">tokio-rs/axum#2961</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2978">#2978</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2978">tokio-rs/axum#2978</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2992">#2992</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2992">tokio-rs/axum#2992</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9983bc1da4"><code>9983bc1</code></a>
Bump versions</li>
<li><a
href="a8ce6fa030"><code>a8ce6fa</code></a>
axum-extra: Add links to features table (<a
href="https://redirect.github.com/tokio-rs/axum/issues/3030">#3030</a>)</li>
<li><a
href="ce3d42947e"><code>ce3d429</code></a>
fix: Avoid setting content-length before middleware (<a
href="https://redirect.github.com/tokio-rs/axum/issues/3031">#3031</a>)</li>
<li><a
href="893bb75e3b"><code>893bb75</code></a>
CI: allow <code>pin-project-lite</code> in public dependencies (<a
href="https://redirect.github.com/tokio-rs/axum/issues/3020">#3020</a>)</li>
<li><a
href="feee742ca1"><code>feee742</code></a>
Bump versions</li>
<li><a
href="da4580247a"><code>da45802</code></a>
Some documentation fixes (<a
href="https://redirect.github.com/tokio-rs/axum/issues/3027">#3027</a>)</li>
<li><a
href="8bc326cc3d"><code>8bc326c</code></a>
Improve docs regarding state and extensions (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2991">#2991</a>)</li>
<li><a
href="b30cdcfbea"><code>b30cdcf</code></a>
Remove unneeded macro usage (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2995">#2995</a>)</li>
<li><a
href="185804398f"><code>1858043</code></a>
fix(sse): skip sse incompatible chars of
<code>serde_json::RawValue</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2992">#2992</a>)</li>
<li><a
href="43814c174f"><code>43814c1</code></a>
Fix TSR redirecting to top-level inside nested Router (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2993">#2993</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/axum/compare/axum-v0.7.7...axum-v0.7.9">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axum&package-manager=cargo&previous-version=0.7.7&new-version=0.7.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] <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: 0f5a8540826dbe081722c903fb1b3b8cd024bc53
2024-11-18 09:02:29 +00:00
dependabot[bot]
6b40ae4c14 Bump tokio from 1.41.0 to 1.41.1 (#1350)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.41.0 to 1.41.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.41.1</h2>
<h1>1.41.1 (Nov 7th, 2024)</h1>
<h3>Fixed</h3>
<ul>
<li>metrics: fix bug with wrong number of buckets for the histogram (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6957">#6957</a>)</li>
<li>net: display <code>net</code> requirement for
<code>net::UdpSocket</code> in docs (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6938">#6938</a>)</li>
<li>net: fix typo in <code>TcpStream</code> internal comment (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6944">#6944</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/6957">#6957</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6957">tokio-rs/tokio#6957</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6938">#6938</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6938">tokio-rs/tokio#6938</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6944">#6944</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6944">tokio-rs/tokio#6944</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bb7ca7507b"><code>bb7ca75</code></a>
chore: prepare Tokio v1.41.1 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6959">#6959</a>)</li>
<li><a
href="4a34b77af5"><code>4a34b77</code></a>
metrics: fix bug with wrong number of buckets for the histogram (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6957">#6957</a>)</li>
<li><a
href="8897885425"><code>8897885</code></a>
docs: fix mismatched backticks in CONTRIBUTING.md (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6951">#6951</a>)</li>
<li><a
href="0dbdd196b6"><code>0dbdd19</code></a>
ci: update cargo-check-external-types to 0.1.13 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6949">#6949</a>)</li>
<li><a
href="94e55c092b"><code>94e55c0</code></a>
net: fix typo in <code>TcpStream</code> internal comment (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6944">#6944</a>)</li>
<li><a
href="4468f27c31"><code>4468f27</code></a>
metrics: fixed flaky <code>worker_steal_count</code> test (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6932">#6932</a>)</li>
<li><a
href="070a825999"><code>070a825</code></a>
metrics: removed race condition from global_queue_depth_multi_thread
test (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6">#6</a>...</li>
<li><a
href="946401c345"><code>946401c</code></a>
net: display <code>net</code> requirement for
<code>net::UdpSocket</code> in docs (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6938">#6938</a>)</li>
<li><a
href="0c01fd23b4"><code>0c01fd2</code></a>
ci: use patched version of cargo-check-external-types to fix CI failure
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6937">#6937</a>)</li>
<li><a
href="ebe241647e"><code>ebe2416</code></a>
ci: use cargo deny (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6931">#6931</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.41.0...tokio-1.41.1">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.41.0&new-version=1.41.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: 09ece37be4b01b4084b57f711396d358eb8584d3
2024-11-18 08:48:09 +00:00
Daniel Harvey
bf61f3e18b Use type rather than model names in JSONAPI sparse fields (#1349)
<!-- The PR description should answer 2 important questions: -->

### What

Given a model name `Authors` with an `Author` type underneath, this
changes field selection for JSONAPI to use `fields[Author]` instead of
`fields[Authors]`.

This will make things more consistent when we are also filtering other
types from relationships or nested fields too, which will have to use
type names, for example
`fields[Author]=name,articles&fields[Article]=title`

V3_GIT_ORIGIN_REV_ID: fff43c673888877ca8b2edb6e5ca9fdc846675a5
2024-11-15 13:58:54 +00:00
Sean Park-Ross
5c7e20f83b Docs: Bot: Update
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11079
GitOrigin-RevId: 48da2933e84289a5afca007ed054f5070bc11eaf
2024-11-14 17:10:45 +00:00
Daniel Harvey
ee3c1a5a9a Make using ObjectBooleanExpressionType an error (#1344)
<!-- The PR description should answer 2 important questions: -->

### What

These have been deprecated for a while, and we now have a codemod to fix
users metadata, so it's time to make these officially deprecated. Any
`ObjectBooleanExpressionType` will now raise an error.

V3_GIT_ORIGIN_REV_ID: f3dd18afba40e369e82a15a7fbbfe31004d44067
2024-11-14 17:02:38 +00:00
Daniel Harvey
4e89dd40eb Use BooleanExpressionType in new plan filtering (#1334)
<!-- The PR description should answer 2 important questions: -->

### What

Previously the OpenDD pipeline has ignored `BooleanExpressionType` as
they were not available outside GraphQL. Now they are, so we use them,
and test them in the JSONAPI pipeline.

This means that the SQL frontend cannot use filtering unless models have
a `BooleanExpressionType` defined. These are generated by the CLI, so
hopefully this is fine.

Depends on #1336

V3_GIT_ORIGIN_REV_ID: 4037585ef36bc99c99a482361084ccd09c5c6bb1
2024-11-14 16:27:47 +00:00
Daniel Harvey
6e69ae03c3 Remove misleading JSONB from Order By changelog entry (#1347)
<!-- The PR description should answer 2 important questions: -->

### What

What's important about the feature is that it accesses nested fields
rather than being specific to any particular underlying representation.

V3_GIT_ORIGIN_REV_ID: 648464f925f23efde2e764b709a9b3e067ff6a57
2024-11-14 11:47:12 +00:00
Daniel Harvey
3cb1fc67f6 Add metrics for JSONAPI (#1345)
V3_GIT_ORIGIN_REV_ID: a2a0c4ba404dce98c851c8637917219fc5b2d625
2024-11-14 11:27:24 +00:00
Daniel Chambers
f255b5e48a Nested relationships: Refactor capabilities, add engine test, fix docker compose engine metadata (#1341)
### What
This PR does three related things:
* Adds an execution test that tests that nested relationships work in
field selection in Postgres (taken from #935)
* Refactors the way capabilities are handled in metadata resolve to
account for difference between NDC 0.1.x and 0.2.x. Specifically, NDC
0.1.x connectors are assumed to support nested relationships in field
selection, but do not support them in filtering and ordering. Whereas in
NDC 0.2.x, a capability exists to indicate nested relationship support,
but then you must support them in filtering and ordering as well as
field selection.
* Updates the metadata used in the default docker compose so that it:
    * uses an up to date pg schema
    * uses BooleanExpressionType instead of ObjectBooleanExpression
    * removes commands that do not exist on the pg connector
* adds the Institutions model so that nested relationships can be tested

This PR does not add support for nested relationships in filtering or in
ordering. It also does not block nested relationships in field selection
for NDC 0.2.x connectors that do not support it. This will all come in
later PRs.

### How

In `metadata_resolve`, the resolved `DataConnector` used to contain a
copy of the `ndc_models::Capabilities`. This has been removed and
instead a `metadata_resolve` specific `DataConnectorCapabilities`
structure is used instead. This decouples `metadata_resolve` from
`ndc_models` and allows it to capture differences between NDC 0.1.x and
0.2.x properly.

There is now a specific function per NDC version that creates a
`DataConnectorCapabilities`. This removes the need for capabilities
migration code.

V3_GIT_ORIGIN_REV_ID: 0eb119aab0e5fa22977d84820025f75c6102036d
2024-11-13 12:28:29 +00:00
Daniel Harvey
dd070be7fb Changelog for v2024.11.13 (#1343)
<!-- The PR description should answer 2 important questions: -->

### What

Update changelog for `v2024.11.13`

V3_GIT_ORIGIN_REV_ID: e8ef1db536825e8266c663978be6832463e8d378
2024-11-13 12:23:18 +00:00
Varun Choudhary
4a40182bcf Console: Fix permission issue with composite FK
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11075
GitOrigin-RevId: 69ac95f303461f6a1d6db0914ef27910f24e144b
2024-11-13 11:44:26 +00:00
Vishnu Bharathi
134eb0fd68 ci: tag release v2.45.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11073
GitOrigin-RevId: 2e9cd62573b0677ce7289c4eac730efdf43f1eda
2024-11-13 07:02:47 +00:00
paritosh-08
104365205c wip: plan refactor type changes (part 1) (#1339)
---------

Co-authored-by: Anon Ray <ecthiender@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: c1b88c89d2ad9ad80e20a1763f036db85798ec3b
2024-11-13 06:41:46 +00:00
Daniel Harvey
85afd13f34 OperatorMapping struct newtype (#1336)
<!-- The PR description should answer 2 important questions: -->

### What

Operator mappings in boolean expressions allow us to override the name
of an operator, so we can call some database's `_eq` operator the much
more attractive `equals`. If not override is provided we can just use
the database's name directly. We make this a newtype with a `get`
function to encode this logic and make doing the right thing the easiest
thing.

V3_GIT_ORIGIN_REV_ID: e47f4e291494562ed1551d0d7469259198862a0a
2024-11-12 17:37:21 +00:00
Daniel Harvey
a2353ae3de Revert "Build: use native target CPU (#1330)" (#1338)
This reverts commit 7b5d5668b3a8949dd56b2a887f10d964d523bdd6.

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

### What

Deployed different commits to `staging` and this one broke it, so
rolling it back.

V3_GIT_ORIGIN_REV_ID: ba93bbc61b38d2c756e109e24566f8d51b01d458
2024-11-12 12:21:37 +00:00
Rakesh Emmadi
c780aaed53 graphql-ws: send keepalive messages to the client at regular intervals (#1335)
<!-- 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? -->

Send `type: ping` messages on a websocket connection at regular
intervals to avoid keeping it idle.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
- Spawn an async thread that send the ping messages at regular
intervals.
- Abort the thread before closing a connection.

A test case is written to confirm the keepalive messsage sent. Also this
PR does a tiny no-op refactor to the `expect_text_message` helper
function in the graphql-ws tests.

V3_GIT_ORIGIN_REV_ID: 65b02cf1f6502bd3a6a9460673e3d87f24738d33
2024-11-12 05:58:34 +00:00
Daniel Harvey
41c9b1d816 Changelog for v2024.11.11 (#1333)
<!-- The PR description should answer 2 important questions: -->

### What

Updated changelog for release `v2024.11.11`

V3_GIT_ORIGIN_REV_ID: 4ced0b477a8b147e53e7516512abbc4de2384ab7
2024-11-11 16:02:51 +00:00
Rakesh Emmadi
716b50fbb8 set the request.type = http | websocket attribute in the opening spans (#1332)
<!-- 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? -->

Set the `request.type` attribute in the opening spans to determine the
request type, either http or websocket.

### How

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

Define an enum type to capture the request type and set its `to_str()`
value in the `request.type` attribute.

V3_GIT_ORIGIN_REV_ID: d0370d8a5b7938a546a74641bf7bfee6da2dd33f
2024-11-11 14:48:13 +00:00
Rakesh Emmadi
bbdedbb258 metadata-resolve: disallow duplicate model root fields (#1322)
<!-- 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? -->
Disallow duplicate root fields in a model GraphQL config. This is a
backward incompatible change which could break any existing builds with
duplicate root fields. Hence, this check is guarded behind a
compatibility date. However, warnings are thrown during a build if
metadata contains duplicate graphql root fields.

### How

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

Add a check while resolving the graphql metadata of a model definition.

V3_GIT_ORIGIN_REV_ID: d083c62fa359df8742bbc16df821d46275d29e79
2024-11-11 14:41:45 +00:00
dependabot[bot]
5c5af7e8da Bump url from 2.5.2 to 2.5.3 (#1325)
Bumps [url](https://github.com/servo/rust-url) from 2.5.2 to 2.5.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/servo/rust-url/releases">url's
releases</a>.</em></p>
<blockquote>
<h2>v2.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: enable wasip2 feature for wasm32-wasip2 target by <a
href="https://github.com/brooksmtownsend"><code>@​brooksmtownsend</code></a>
in <a
href="https://redirect.github.com/servo/rust-url/pull/960">servo/rust-url#960</a></li>
<li>Fix idna tests with no_std by <a
href="https://github.com/cjwatson"><code>@​cjwatson</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/963">servo/rust-url#963</a></li>
<li>Fix debugger_visualizer test failures. by <a
href="https://github.com/valenting"><code>@​valenting</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/967">servo/rust-url#967</a></li>
<li>Add AsciiSet::EMPTY and boolean operators by <a
href="https://github.com/joshka"><code>@​joshka</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/969">servo/rust-url#969</a></li>
<li>mention why we pin unicode-width by <a
href="https://github.com/Manishearth"><code>@​Manishearth</code></a> in
<a
href="https://redirect.github.com/servo/rust-url/pull/972">servo/rust-url#972</a></li>
<li>refactor and add tests for percent encoding by <a
href="https://github.com/joshka"><code>@​joshka</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/977">servo/rust-url#977</a></li>
<li>Add a test for and fix issue <a
href="https://redirect.github.com/servo/rust-url/issues/974">#974</a> by
<a href="https://github.com/hansl"><code>@​hansl</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/975">servo/rust-url#975</a></li>
<li><code>no_std</code> support for the <code>url</code> crate by <a
href="https://github.com/domenukk"><code>@​domenukk</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/831">servo/rust-url#831</a></li>
<li>Normalize URL paths: convert /.//p, /..//p, and //p to p by <a
href="https://github.com/theskim"><code>@​theskim</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/943">servo/rust-url#943</a></li>
<li>support Hermit by <a
href="https://github.com/m-mueller678"><code>@​m-mueller678</code></a>
in <a
href="https://redirect.github.com/servo/rust-url/pull/985">servo/rust-url#985</a></li>
<li>fix: support <code>wasm32-wasip2</code> on the stable channel by <a
href="https://github.com/brooksmtownsend"><code>@​brooksmtownsend</code></a>
in <a
href="https://redirect.github.com/servo/rust-url/pull/983">servo/rust-url#983</a></li>
<li>Improve serde error output by <a
href="https://github.com/konstin"><code>@​konstin</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/982">servo/rust-url#982</a></li>
<li>OSS-Fuzz: Add more fuzzer by <a
href="https://github.com/arthurscchan"><code>@​arthurscchan</code></a>
in <a
href="https://redirect.github.com/servo/rust-url/pull/988">servo/rust-url#988</a></li>
<li>Merge idna-v1x to main by <a
href="https://github.com/hsivonen"><code>@​hsivonen</code></a> in <a
href="https://redirect.github.com/servo/rust-url/pull/990">servo/rust-url#990</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/brooksmtownsend"><code>@​brooksmtownsend</code></a>
made their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/960">servo/rust-url#960</a></li>
<li><a href="https://github.com/cjwatson"><code>@​cjwatson</code></a>
made their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/963">servo/rust-url#963</a></li>
<li><a href="https://github.com/joshka"><code>@​joshka</code></a> made
their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/969">servo/rust-url#969</a></li>
<li><a href="https://github.com/hansl"><code>@​hansl</code></a> made
their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/975">servo/rust-url#975</a></li>
<li><a href="https://github.com/theskim"><code>@​theskim</code></a> made
their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/943">servo/rust-url#943</a></li>
<li><a
href="https://github.com/m-mueller678"><code>@​m-mueller678</code></a>
made their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/985">servo/rust-url#985</a></li>
<li><a href="https://github.com/konstin"><code>@​konstin</code></a> made
their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/982">servo/rust-url#982</a></li>
<li><a
href="https://github.com/arthurscchan"><code>@​arthurscchan</code></a>
made their first contribution in <a
href="https://redirect.github.com/servo/rust-url/pull/988">servo/rust-url#988</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/servo/rust-url/compare/v2.5.2...v2.5.3">https://github.com/servo/rust-url/compare/v2.5.2...v2.5.3</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8a683ff4ab"><code>8a683ff</code></a>
Merge idna-v1x to main (<a
href="https://redirect.github.com/servo/rust-url/issues/990">#990</a>)</li>
<li><a
href="08a326820a"><code>08a3268</code></a>
OSS-Fuzz: Add more fuzzers (<a
href="https://redirect.github.com/servo/rust-url/issues/988">#988</a>)</li>
<li><a
href="5d363cc3cd"><code>5d363cc</code></a>
Improve serde error output (<a
href="https://redirect.github.com/servo/rust-url/issues/982">#982</a>)</li>
<li><a
href="30e62589c7"><code>30e6258</code></a>
fix: support wasm32-wasip2 on stable channel (<a
href="https://redirect.github.com/servo/rust-url/issues/983">#983</a>)</li>
<li><a
href="bf089c41a0"><code>bf089c4</code></a>
support hermit (<a
href="https://redirect.github.com/servo/rust-url/issues/985">#985</a>)</li>
<li><a
href="b08a655d07"><code>b08a655</code></a>
Normalize URL paths: convert /.//p, /..//p, and //p to p (<a
href="https://redirect.github.com/servo/rust-url/issues/943">#943</a>)</li>
<li><a
href="ebd5cfbf6f"><code>ebd5cfb</code></a>
<code>no_std</code>support for the <code>url</code> crate (<a
href="https://redirect.github.com/servo/rust-url/issues/831">#831</a>)</li>
<li><a
href="7eccac9a0b"><code>7eccac9</code></a>
Add a test for and fix issue <a
href="https://redirect.github.com/servo/rust-url/issues/974">#974</a>
(<a
href="https://redirect.github.com/servo/rust-url/issues/975">#975</a>)</li>
<li><a
href="710e1e7da0"><code>710e1e7</code></a>
refactor and add tests for percent encoding (<a
href="https://redirect.github.com/servo/rust-url/issues/977">#977</a>)</li>
<li><a
href="6050a6e001"><code>6050a6e</code></a>
mention why we pin unicode-width (<a
href="https://redirect.github.com/servo/rust-url/issues/972">#972</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/servo/rust-url/compare/v2.5.2...v2.5.3">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=url&package-manager=cargo&previous-version=2.5.2&new-version=2.5.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] <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>
Co-authored-by: Daniel Harvey <danieljamesharvey@gmail.com>
V3_GIT_ORIGIN_REV_ID: 6e7a826d090fa213afe7c89414691090fed078b6
2024-11-11 12:45:57 +00:00
Daniel Harvey
056b1c18fc Stop Nix rebuilding (#1329)
<!-- The PR description should answer 2 important questions: -->

### What

Our Nix build was building all the workspace crates as part of it's deps
step. This means when any library crate is changed, we throw away all
the caching, which isn't ideal. This filters the source files out of
those builds, so that we get more cache hits. We also move all Cargo
features into the workspace, which I've been meaning to do for ages, so
things are more consistent, and again, we get more cache hits generally.

V3_GIT_ORIGIN_REV_ID: c724b152692575edf6c00ab426e48ecca13aa998
2024-11-11 12:06:31 +00:00
Daniel Harvey
9f28f41a0e Build: use native target CPU (#1330)
<!-- The PR description should answer 2 important questions: -->

### What

Have seen this advised in both the [Rust Performance
Book](https://nnethercote.github.io/perf-book/build-configuration.html#cpu-specific-instructions)
and in the [Datafusion
docs](https://datafusion.apache.org/user-guide/crate-configuration.html),
seems like there's no drawbacks and the possibility of extra juice. My
M1 Mac shows a no-op in benchmarks, but since it's going to change
depending on CPU plan to merge and take a look at the CI benchmarks too.

V3_GIT_ORIGIN_REV_ID: 7b5d5668b3a8949dd56b2a887f10d964d523bdd6
2024-11-11 11:49:20 +00:00
Daniel Harvey
41fb74faba Move boolean expression fields out of graphql config (#1319)
<!-- The PR description should answer 2 important questions: -->

### What

We only resolve boolean expression fields if there is a `graphql` name
defined, which is not helpful for using them in JSONAPI or SQL. This
makes the validation happen earlier.

This means users that have broken boolean expressions that did not have
a `graphql` field would have been allowed to sit broken, but now those
will error, so this is behind a new compatibility config flag.

### How

Move `scalar_fields` and `object_fields` resolve into `object` steps
instead of the `graphql` steps of resolve for
`ObjectBooleanExpressionType` and `BooleanExpressionType`.

Note: we really need to get `ObjectBooleanExpressionType` deprecated and
deleted, it causes so much extra work and complexity everywhere.
V3_GIT_ORIGIN_REV_ID: c6f0849d412b40f3484fb44c1b36ebdf77ac60c1
2024-11-11 11:46:23 +00:00
dependabot[bot]
cfda861bdc Bump serde from 1.0.210 to 1.0.214 (#1327)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.210 to
1.0.214.
<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.214</h2>
<ul>
<li>Implement IntoDeserializer for all Deserializers in serde:🇩🇪:value
module (<a
href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.213</h2>
<ul>
<li>Fix support for macro-generated <code>with</code> attributes inside
a newtype struct (<a
href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>)</li>
</ul>
<h2>v1.0.212</h2>
<ul>
<li>Fix hygiene of macro-generated local variable accesses in
serde(with) wrappers (<a
href="https://redirect.github.com/serde-rs/serde/issues/2845">#2845</a>)</li>
</ul>
<h2>v1.0.211</h2>
<ul>
<li>Improve error reporting about mismatched signature in
<code>with</code> and <code>default</code> attributes (<a
href="https://redirect.github.com/serde-rs/serde/issues/2558">#2558</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Show variant aliases in error message when variant deserialization
fails (<a
href="https://redirect.github.com/serde-rs/serde/issues/2566">#2566</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Improve binary size of untagged enum and internally tagged enum
deserialization by about 12% (<a
href="https://redirect.github.com/serde-rs/serde/issues/2821">#2821</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="418062165f"><code>4180621</code></a>
Release 1.0.214</li>
<li><a
href="210373b3b6"><code>210373b</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>
from Mingun/into_deserializer-for-deserializers</li>
<li><a
href="9cda015733"><code>9cda015</code></a>
Implement IntoDeserializer for all Deserializers in serde:🇩🇪:value
module</li>
<li><a
href="58a8d22931"><code>58a8d22</code></a>
Release 1.0.213</li>
<li><a
href="ef0ed22593"><code>ef0ed22</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>
from dtolnay/newtypewith</li>
<li><a
href="79925ac394"><code>79925ac</code></a>
Ignore dead_code warning in regression test</li>
<li><a
href="b60e4092ec"><code>b60e409</code></a>
Hygiene for macro-generated newtype struct deserialization with 'with'
attr</li>
<li><a
href="fdc36e5c06"><code>fdc36e5</code></a>
Add regression test for issue 2846</li>
<li><a
href="49e11ce1ba"><code>49e11ce</code></a>
Ignore trivially_copy_pass_by_ref pedantic clippy lint in test</li>
<li><a
href="7ae1b5f8f3"><code>7ae1b5f</code></a>
Release 1.0.212</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.214">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.210&new-version=1.0.214)](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: e363e42fbcc9826cdd38a8d81ef3f8f045875e34
2024-11-11 09:30:03 +00:00
dependabot[bot]
9b86af2486 Bump csv from 1.3.0 to 1.3.1 (#1326)
Bumps [csv](https://github.com/BurntSushi/rust-csv) from 1.3.0 to 1.3.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="00b80bdb54"><code>00b80bd</code></a>
1.3.1</li>
<li><a
href="ce01ae7fe4"><code>ce01ae7</code></a>
reader: tweak record trimming logic</li>
<li><a
href="06764b91b8"><code>06764b9</code></a>
github: add FUNDING</li>
<li><a
href="533d37b7c9"><code>533d37b</code></a>
ci: bump pinned to Rust 1.65</li>
<li>See full diff in <a
href="https://github.com/BurntSushi/rust-csv/compare/1.3.0...1.3.1">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=csv&package-manager=cargo&previous-version=1.3.0&new-version=1.3.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: 47b43fedf3c883f0d69345d2954c6f5147e1b182
2024-11-11 09:29:57 +00:00
dependabot[bot]
13043ccd3e Bump thiserror from 1.0.64 to 1.0.69 (#1324)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.64 to
1.0.69.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>1.0.69</h2>
<ul>
<li>Backport 2.0.2 fixes</li>
</ul>
<h2>1.0.68</h2>
<ul>
<li>Handle incomplete expressions more robustly in format arguments,
such as while code is being typed (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/341">#341</a>,
<a
href="https://redirect.github.com/dtolnay/thiserror/issues/344">#344</a>)</li>
</ul>
<h2>1.0.67</h2>
<ul>
<li>Improve expression syntax support inside format arguments (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/335">#335</a>,
<a
href="https://redirect.github.com/dtolnay/thiserror/issues/337">#337</a>,
<a
href="https://redirect.github.com/dtolnay/thiserror/issues/339">#339</a>,
<a
href="https://redirect.github.com/dtolnay/thiserror/issues/340">#340</a>)</li>
</ul>
<h2>1.0.66</h2>
<ul>
<li>Improve compile error on malformed format attribute (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/327">#327</a>)</li>
</ul>
<h2>1.0.65</h2>
<ul>
<li>Ensure OUT_DIR is left with deterministic contents after build
script execution (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/325">#325</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="41938bd3a0"><code>41938bd</code></a>
Release 1.0.69</li>
<li><a
href="9d6506e860"><code>9d6506e</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/382">#382</a>
from dtolnay/hang</li>
<li><a
href="591a44d9a3"><code>591a44d</code></a>
Fix fallback fmt expression parser hang</li>
<li><a
href="5b36e375c2"><code>5b36e37</code></a>
Add ui test of invalid expression syntax in display attribute</li>
<li><a
href="8d06fb5549"><code>8d06fb5</code></a>
Release 1.0.68</li>
<li><a
href="372fd8a71a"><code>372fd8a</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/344">#344</a>
from dtolnay/binop</li>
<li><a
href="08f89925bf"><code>08f8992</code></a>
Disregard equality binop in fallback parser</li>
<li><a
href="d2a823d2ae"><code>d2a823d</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/343">#343</a>
from dtolnay/unnamed</li>
<li><a
href="b3bf7a6f69"><code>b3bf7a6</code></a>
Add logic to determine whether unnamed fmt arguments are present</li>
<li><a
href="490f9c017b"><code>490f9c0</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/342">#342</a>
from dtolnay/synfull</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/thiserror/compare/1.0.64...1.0.69">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.64&new-version=1.0.69)](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: bfec7ed0b8622954c3fda247160a0facce2e1ec0
2024-11-11 08:53:09 +00:00
Brandon Simmons
efee881784 ENG-1227: mbs: reduce artifact size by omitting "default" values (#1323)
We get a 17% reduction in size for chinook.json, 14% for our big schema.

Benchmark is 8% faster for chinook.json

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

### What

reduce artifact size

### How

remove certain common "default" fields on serialization, to be
repopulated on deserialization. Since this works at the serde level we
should still benefit if we manage to switch to e.g. bincode

I attempted to create a macro for this, but decided it wasn't worth it.
Fields were chosen by sorting and counting json fields, and adding these
annotations for the heaviest ones.

V3_GIT_ORIGIN_REV_ID: 4605016021fa6aafb97759e3bd5346116413a0ef
2024-11-07 16:35:05 +00:00
Poojan Savani
70b158e173 console: new prometheus monitoring banner added
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11070
GitOrigin-RevId: 247731f7478e89bec9fc28036bdf14dfea2ea20d
2024-11-07 11:10:25 +00:00
Rakesh Emmadi
91f74550b5 metadata-resolve: refactor duplicate root field reporting in commands (#1320)
<!-- 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? -->
No-op refactor. Just updates the error message.

### How

<!-- How is it trying to accomplish it (what are the implementation
steps)? -->
Define a type to track root fields and report error if the field is
already in use.

V3_GIT_ORIGIN_REV_ID: 91533ee0dd48087617e1950f1aeb42a1787edc16
2024-11-06 15:59:09 +00:00
Daniel Chambers
d3491fc9f6 Upgrade to NDC v0.2.0-rc.1 (#1291)
### What
This PR updates the engine to use the NDC Spec v0.2.0-rc.1 version. This
is very likely to be the final RC before release.

### How

The `ndc_models` crate got updated, which then resulted in the schema
migration code in `metadata_resolve` being updated. This affected a lot
of test results because connectors that used deprecated type
representations got migrated to other representations, and if a type
representation was missing then JSON was used instead.

The NDC request-sending code in `execute` was updated to send the
`X-Hasura-NDC-Version` header depending on the version of request
getting sent.

The custom connector was updated to be compatible with the new NDC
0.2.0-rc.1 types. This resulted in the schema changing, so a lot of
tests that contained the connector's schema were updated.

---------

Co-authored-by: Daniel Harvey <danieljamesharvey@gmail.com>
V3_GIT_ORIGIN_REV_ID: b1c7081eb1ee6cffdead08328a857903102332c6
2024-11-06 13:08:10 +00:00
Daniel Harvey
82489ad32f Update type representations (#1305)
<!-- The PR description should answer 2 important questions: -->

### What

These are no longer used since
https://github.com/hasura/v3-engine/pull/1301, let's remove them from
the metadata.

V3_GIT_ORIGIN_REV_ID: 17194f7fa30860738e99de6098fa84d212fee0d2
2024-11-06 11:44:07 +00:00
Daniel Harvey
9790e1fd86 JSONAPI filtering part 1 (#1314)
<!-- The PR description should answer 2 important questions: -->

### What

First iteration of JSONAPI filtering

What does it do?
- Field comparisons against values
- And
- Or

What doesn't it do
- Generate schema
- Use `BooleanExpressionType` to work out which operators are available
- Work for nested fields (which don't work anyway atm)

V3_GIT_ORIGIN_REV_ID: 71f490b2767275b5e57fa4bcf213f2339391c093
2024-11-05 18:09:02 +00:00
Rakesh Emmadi
b8629eaa58 server: implement protocol connection_init timeout
## Summary by CodeRabbit

## Release Notes

- **Documentation**
	- Updated the configuration documentation for the Hasura GraphQL Engine, including new flags and environment variables, with clarifications on WebSocket connection initialization and deprecated options.

- **Bug Fixes**
	- Enhanced WebSocket connection management and error handling, ensuring proper initialization and cleanup of connections across various components.

- **Tests**
	- Improved tests for WebSocket connection handling and logging, ensuring robust verification of connection states and error responses.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/11069
GitOrigin-RevId: 8ee25d702a64f3bb04077bbcf0f3e1bd10c916d6
2024-11-05 11:26:43 +00:00
Daniel Harvey
c62e5fed32 Enable strictDeps in our Nix builds (#1318)
<!-- The PR description should answer 2 important questions: -->

### What

All the docs examples have it, [it's recommended by the
author](https://github.com/ipetkov/crane/issues/403#issuecomment-1743416192),
and it should help with unnecessary rebuilds.

V3_GIT_ORIGIN_REV_ID: 3596dd987090756e0914f7babb1329c0d9c1a263
2024-11-05 10:13:28 +00:00
Daniel Harvey
9f7d961209 Update changelog for v2024.11.05 (#1317)
<!-- The PR description should answer 2 important questions: -->

### What

Changelog update.

V3_GIT_ORIGIN_REV_ID: 3162167208fd9cce1d5f5bda4f28ef3f65339ce9
2024-11-05 09:50:33 +00:00
Daniel Harvey
1b143c10ff Fix JSONAPI sparse fields (#1316)
<!-- The PR description should answer 2 important questions: -->

### What

Accidentally made the fallthrough to show all fields too liberal, so our
"include this field?" function became const true. Now we check properly.

V3_GIT_ORIGIN_REV_ID: a56ce76e1cdf57ea17856b9835128f75b3cf18c3
2024-11-05 09:50:27 +00:00
Rakesh Emmadi
d4465ce035 graphql-ws: fix stop all pollers when a connection is dropped (#1315)
<!-- 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? -->
Fix a bug with pollers are not being stopped when the connection is
dropped.

### How
Fetch all poller operation ids at once from a mutex map and stop each
poller associated with them in a for-loop.
<!-- How is it trying to accomplish it (what are the implementation
steps)? -->

V3_GIT_ORIGIN_REV_ID: f17511d611b92ace3de2c83e606d26214649878b
2024-11-05 03:54:32 +00:00
Daniel Harvey
c8d43adb1c JSONAPI in multitenant (#1303)
V3_GIT_ORIGIN_REV_ID: 9be48c7e0fa948a1c36d94a48f0a2913984b24a7
2024-11-04 15:11:35 +00:00
Daniel Harvey
df79ec144c Print nix build debugging in build (#1313)
<!-- The PR description should answer 2 important questions: -->

### What

I feel like Nix builds more than it should, and I'm interested why.
[According to the crane
docs](https://crane.dev/faq/constant-rebuilds.html#debugging-with-just-nix),
we can use this to hopefully see what is going on, by diffing the output
between builds.

### How

Add `nix derivation show -r .#output` as a build step.

V3_GIT_ORIGIN_REV_ID: 32bce8315874b9effb075aa834a891cf0dcc00e2
2024-11-04 12:27:34 +00:00
Daniel Harvey
e537c88d4f Use BTreeSet to collect Role in metadata-resolve (#1312)
<!-- The PR description should answer 2 important questions: -->

### What

JSONAPI builds iterate over `roles` in metadata, and one was very slow,
realised it was because it was calculating for `admin` over and over.
This changes the `roles` in `metadata-resolve` to be collected in a
`BTreeSet` to remove duplicates, which fixes the problem.

### How

Change `Vec` to `BTreeSet`, fix type errors and snapshots.

V3_GIT_ORIGIN_REV_ID: c61ef9e490c3cde9d004c08ef71dc73e92cd6e7e
2024-11-04 11:42:46 +00:00
dependabot[bot]
1667c96c5d Bump derive_more from 0.99.18 to 1.0.0 (#1310)
Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.18
to 1.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JelteF/derive_more/releases">derive_more's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.0 - Finally a stable release</h2>
<p><code>derive_more</code> is a library that adds derives for many of
the standard library traits. By using this library the following code
just works:</p>
<pre lang="rust"><code>use derive_more::{Add, Display, From, Into};
<p>#[derive(PartialEq, From, Add)]
struct MyInt(i32);</p>
<p>#[derive(PartialEq, From, Into)]
struct Point2D {
x: i32,
y: i32,
}</p>
<p>#[derive(PartialEq, From, Add, Display)]
enum MyEnum {
#[display(&quot;int: {_0}&quot;)]
Int(i32),
Uint(u32),
#[display(&quot;nothing&quot;)]
Nothing,
}</p>
<p>assert!(MyInt(11) == MyInt(5) + 6.into());
assert!((5, 6) == Point2D { x: 5, y: 6 }.into());
assert!(MyEnum::Int(15) == (MyEnum::Int(8) + 7.into()).unwrap());
assert!(MyEnum::Int(15).to_string() == &quot;int: 15&quot;);
assert!(MyEnum::Uint(42).to_string() == &quot;42&quot;);
assert!(MyEnum::Nothing.to_string() == &quot;nothing&quot;);
</code></pre></p>
<p>Now, more than 8 years after the first commit and almost 5 years
after the 0.99.0 release, <code>derive_more</code> has finally reached
its 1.0.0 release. This release contains a lot of changes (including
some breaking ones) to make it easier to use the derives and make it
possible to extend them without having to break backwards compatibility
again. There are five major changes that I would like to call out, but
there are many more changes that are documented below:</p>
<ol>
<li>There is a new <code>Debug</code> derive that can be used to easily
customize <code>Debug</code> formatting.</li>
<li>A greatly improved <code>Display</code> derive, which allows you to
do anything that <a
href="https://github.com/dtolnay/thiserror"><code>thiserror</code></a>
provides, but it works for any type not just errors. And by combining
the <code>Display</code> derive with the <code>Error</code> and
<code>From</code> derives, there shouldn't really be any need to use
<code>thiserror</code> anymore (if you are missing a feature/behaviour
from <code>thiserror</code> please report an issue).</li>
<li>Traits that can return errors now return a type that implements
<code>Error</code> when an error occurs instead of a <code>&amp;'static
str</code>.</li>
<li>When using <code>use derive_more::SomeTrait</code> the actual trait
is also imported not just the derive macro. This is especially useful
for <code>Error</code> and
<code>Display</code></li>
<li>The docs are now rendered on docs.rs and are much better
overall.</li>
</ol>
<h3>Breaking changes</h3>
<ul>
<li>The minimum supported Rust version (MSRV) is now Rust 1.75.</li>
<li>Add the <code>std</code> feature which should be disabled in
<code>no_std</code> environments.</li>
<li>All Cargo features, except <code>std</code>, are now disabled by
default. The <code>full</code> feature can be used to get the old
behavior of supporting all possible derives.</li>
<li>The <code>TryFrom</code>, <code>Add</code>, <code>Sub</code>,
<code>BitAnd</code>, <code>BitOr</code>, <code>BitXor</code>,
<code>Not</code> and <code>Neg</code> derives now return a dedicated
error type instead of a <code>&amp;'static str</code> on error.</li>
<li>The <code>FromStr</code> derive now uses a dedicated
<code>FromStrError</code> error type instead of generating unique one
each time.</li>
<li>The <code>Display</code> derive (and other <code>fmt</code>-like
ones) now uses <code>#[display(&quot;...&quot;,
(&lt;expr&gt;),*)]</code> syntax instead of <code>#[display(fmt =
&quot;...&quot;, (&quot;&lt;expr&gt;&quot;),*)]</code>, and
<code>#[display(bound(&lt;bound&gt;))]</code> instead of
<code>#[display(bound = &quot;&lt;bound&gt;&quot;)]</code>. So without
the double quotes around the expressions and bounds.</li>
<li>The <code>Debug</code> and <code>Display</code> derives (and other
<code>fmt</code>-like ones) now transparently delegate to the inner type
when <code>#[display(&quot;...&quot;, (&lt;expr&gt;),*)]</code>
attribute is trivially substitutable with a transparent call. (<a
href="https://redirect.github.com/JelteF/derive_more/pull/322">#322</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md">derive_more's
changelog</a>.</em></p>
<blockquote>
<h2>1.0.0 - 2024-08-07</h2>
<p>More than 8 years after the first commit and almost 5 years after the
0.99.0
release, <code>derive_more</code> has finally reached its 1.0.0 release.
This release
contains a lot of changes (including some breaking ones) to make it
easier to
use the derives and make it possible to extend them without having to
break
backwards compatibility again. There are five major changes that I would
like
to call out, but there are many more changes that are documented
below:</p>
<ol>
<li>There is a new <code>Debug</code> derive that can be used to easily
customize <code>Debug</code>
formatting.</li>
<li>A greatly improved <code>Display</code> derive, which allows you to
do anything that
<a
href="https://github.com/dtolnay/thiserror"><code>thiserror</code></a>
provides, but it works
for any type not just errors. And by combining the <code>Display</code>
derive with the
<code>Error</code> and <code>From</code> derives, there shouldn't really
be any need to use
<code>thiserror</code> anymore (if you are missing a feature/behaviour
from <code>thiserror</code>
please report an issue).</li>
<li>Traits that can return errors now return a type that implements
<code>Error</code>
when an error occurs instead of a <code>&amp;'static str</code>.</li>
<li>When using <code>use derive_more::SomeTrait</code> the actual trait
is also imported
not just the derive macro. This is especially useful for
<code>Error</code> and
<code>Display</code></li>
<li>The docs are now rendered on docs.rs and are much better
overall.</li>
</ol>
<h3>Breaking changes</h3>
<ul>
<li>The minimum supported Rust version (MSRV) is now Rust 1.75.</li>
<li>Add the <code>std</code> feature which should be disabled in
<code>no_std</code> environments.</li>
<li>All Cargo features, except <code>std</code>, are now disabled by
default. The <code>full</code>
feature can be used to get the old behavior of supporting all possible
derives.</li>
<li>The <code>TryFrom</code>, <code>Add</code>, <code>Sub</code>,
<code>BitAnd</code>, <code>BitOr</code>, <code>BitXor</code>,
<code>Not</code> and <code>Neg</code>
derives now return a dedicated error type instead of a
<code>&amp;'static str</code> on
error.</li>
<li>The <code>FromStr</code> derive now uses a dedicated
<code>FromStrError</code> error type instead
of generating unique one each time.</li>
<li>The <code>Display</code> derive (and other <code>fmt</code>-like
ones) now uses
<code>#[display(&quot;...&quot;, (&lt;expr&gt;),*)]</code> syntax
instead of
<code>#[display(fmt = &quot;...&quot;,
(&quot;&lt;expr&gt;&quot;),*)]</code>, and
<code>#[display(bound(&lt;bound&gt;))]</code>
instead of <code>#[display(bound = &quot;&lt;bound&gt;&quot;)]</code>.
So without the double quotes
around the expressions and bounds.</li>
<li>The <code>Debug</code> and <code>Display</code> derives (and other
<code>fmt</code>-like ones) now transparently
delegate to the inner type when <code>#[display(&quot;...&quot;,
(&lt;expr&gt;),*)]</code> attribute is
trivially substitutable with a transparent call.
(<a
href="https://redirect.github.com/JelteF/derive_more/pull/322">#322</a>)</li>
<li>The <code>DebugCustom</code> derive is renamed to just
<code>Debug</code> (gated now under a separate
<code>debug</code> feature), and its semantics were changed to be a
superset of <code>std</code> variant
of <code>Debug</code>.</li>
<li>The <code>From</code> derive doesn't derive
<code>From&lt;()&gt;</code> for enum variants without any
fields anymore. This feature was removed because it was considered
useless in</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d7f5b9e94d"><code>d7f5b9e</code></a>
chore: Release</li>
<li><a
href="40201b1e2e"><code>40201b1</code></a>
Update release date to be correct</li>
<li><a
href="88863ca4e6"><code>88863ca</code></a>
Update changelog wording</li>
<li><a
href="b713835894"><code>b713835</code></a>
Improve error when not enabling any features</li>
<li><a
href="330e4252fb"><code>330e425</code></a>
Order features in Cargo.toml alphabetically</li>
<li><a
href="84f2cbb05f"><code>84f2cbb</code></a>
Update README and CHANGELOG in preparation of 1.0.0</li>
<li><a
href="e8d60cf0e5"><code>e8d60cf</code></a>
Add compile_fail test for on purpose limited bounds (<a
href="https://redirect.github.com/JelteF/derive_more/issues/393">#393</a>,
<a
href="https://redirect.github.com/JelteF/derive_more/issues/392">#392</a>)</li>
<li><a
href="f665d18125"><code>f665d18</code></a>
Make anyhow reference a bit less strong</li>
<li><a
href="6d632b2db2"><code>6d632b2</code></a>
Add release announcement (<a
href="https://redirect.github.com/JelteF/derive_more/issues/390">#390</a>)</li>
<li><a
href="e87ab1315f"><code>e87ab13</code></a>
Don't create git tags for derive_more-impl (<a
href="https://redirect.github.com/JelteF/derive_more/issues/391">#391</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/JelteF/derive_more/compare/v0.99.18...v1.0.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=derive_more&package-manager=cargo&previous-version=0.99.18&new-version=1.0.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>
Co-authored-by: Daniel Harvey <danieljamesharvey@gmail.com>
V3_GIT_ORIGIN_REV_ID: 2a5d2033a90d16d5bf2096db5a717e31128b8c00
2024-11-04 11:13:21 +00:00
dependabot[bot]
fb5fd77b04 Bump anyhow from 1.0.91 to 1.0.92 (#1311)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.91 to 1.0.92.
<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.92</h2>
<ul>
<li>Support Rust 1.82's <code>&amp;raw const</code> and <code>&amp;raw
mut</code> syntax inside <code>ensure!</code> (<a
href="https://redirect.github.com/dtolnay/anyhow/issues/390">#390</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fd03a8e792"><code>fd03a8e</code></a>
Release 1.0.92</li>
<li><a
href="a16252b39b"><code>a16252b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/390">#390</a>
from dtolnay/rawaddr</li>
<li><a
href="fcf2ef8da5"><code>fcf2ef8</code></a>
Compile &amp;raw test on Rust 1.82+ only</li>
<li><a
href="1e7e9fe1ed"><code>1e7e9fe</code></a>
Parse raw address expression syntax</li>
<li><a
href="7d1a8f9c1d"><code>7d1a8f9</code></a>
Add test of raw addr expression syntax</li>
<li>See full diff in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.91...1.0.92">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.91&new-version=1.0.92)](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: 3ed3791e3e2b35bdd1aa1cd5b72b00a65aa3248b
2024-11-04 09:21:06 +00:00
dependabot[bot]
f83c63c8e8 Bump serde_json from 1.0.128 to 1.0.132 (#1309)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.128 to
1.0.132.
<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.132</h2>
<ul>
<li>Improve binary size and compile time for JSON array and JSON object
deserialization by about 50% (<a
href="https://redirect.github.com/serde-rs/json/issues/1205">#1205</a>)</li>
<li>Improve performance of JSON array and JSON object deserialization by
about 8% (<a
href="https://redirect.github.com/serde-rs/json/issues/1206">#1206</a>)</li>
</ul>
<h2>1.0.131</h2>
<ul>
<li>Implement Deserializer and IntoDeserializer for <code>Map&lt;String,
Value&gt;</code> and <code>&amp;Map&lt;String, Value&gt;</code> (<a
href="https://redirect.github.com/serde-rs/json/issues/1135">#1135</a>,
thanks <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a>)</li>
</ul>
<h2>1.0.130</h2>
<ul>
<li>Support converting and deserializing <code>Number</code> from i128
and u128 (<a
href="https://redirect.github.com/serde-rs/json/issues/1141">#1141</a>,
thanks <a
href="https://github.com/druide"><code>@​druide</code></a>)</li>
</ul>
<h2>1.0.129</h2>
<ul>
<li>Add <a
href="https://docs.rs/serde_json/1/serde_json/struct.Map.html#method.sort_keys"><code>serde_json::Map::sort_keys</code></a>
and <a
href="https://docs.rs/serde_json/1/serde_json/enum.Value.html#method.sort_all_objects"><code>serde_json::Value::sort_all_objects</code></a>
(<a
href="https://redirect.github.com/serde-rs/json/issues/1199">#1199</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="86d933cfd7"><code>86d933c</code></a>
Release 1.0.132</li>
<li><a
href="f45b422a3b"><code>f45b422</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1206">#1206</a>
from dtolnay/hasnext</li>
<li><a
href="f2082d2a04"><code>f2082d2</code></a>
Clearer order of comparisons</li>
<li><a
href="0f54a1a0df"><code>0f54a1a</code></a>
Handle early return sooner on eof in seq or map</li>
<li><a
href="2a4cb44f7c"><code>2a4cb44</code></a>
Rearrange 'match peek'</li>
<li><a
href="4cb90ce66d"><code>4cb90ce</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1205">#1205</a>
from dtolnay/hasnext</li>
<li><a
href="b71ccd2d8f"><code>b71ccd2</code></a>
Reduce duplicative instantiation of logic in SeqAccess and
MapAccess</li>
<li><a
href="a810ba9850"><code>a810ba9</code></a>
Release 1.0.131</li>
<li><a
href="0d084c5038"><code>0d084c5</code></a>
Touch up PR 1135</li>
<li><a
href="b4954a9561"><code>b4954a9</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1135">#1135</a>
from swlynch99/map-deserializer</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/json/compare/1.0.128...1.0.132">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.128&new-version=1.0.132)](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: e8b51e0d7f60a5759a4f0f91ee48886adc3b8d86
2024-11-04 09:17:17 +00:00