Commit Graph

292 Commits

Author SHA1 Message Date
Daniel Harvey
e68db9136d add exports to tracing-util (#387)
<!-- Thank you for submitting this PR! :) -->

## Description

We don't want `v3-engine-multitenant` to import any opentelemetry
libraries directly, so we add more functions and re-exports here
instead.

V3_GIT_ORIGIN_REV_ID: 2e38b9b1ba6fda23d1bfe8e20549c3a95bd5a2fa
2024-03-25 09:49:22 +00:00
Daniel Harvey
af1a7a9164 update to Rust 1.77.0 (#388)
<!-- Thank you for submitting this PR! :) -->

## Description

https://github.com/rust-lang/rust/releases/tag/1.77.0

V3_GIT_ORIGIN_REV_ID: 7cdbe93ba6188b690c8dd22d86009d1a64470472
2024-03-25 08:25:10 +00:00
paritosh-08
0642cbadaa support apollo federation (part 1) (#332)
<!-- Thank you for submitting this PR! :) -->

## Description

This PR adds the capability to expose _entities and _service fields.
Apollo Federation uses these fields to extend types in other subgraphs
using the types from a subgraph. We can now use Hasura v3 as a subgraph
in an Apollo federated supergraph.

To make this possible, we had to do the following metadata changes:

- Add `apolloFederation` in `ObjectType.graphql`:
  ```yaml
  apolloFederation:
      keys:
        - fields:
          - id
  ```
- Add `apolloFederation` in `Model.graphql`:
  ```yaml
  apolloFederation:
      entitySource: true
  ```
- Add `apolloFederation` in `GraphqlConfig`:
  ```yaml
  apolloFederation:
      enableRootFields: true
  ```

https://github.com/hasura/v3-engine/assets/85472423/b3223c61-360a-4ed6-b8ab-b394469957ce

RFC:
https://github.com/hasura/graphql-engine/pull/10141/files#diff-a9f74850aca6ecad1556723e4b3c7395e59f26cd40d9de20bfef83cb9c64f028

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [ ] community-edition
- [ ] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [ ] enhancement
- [ ] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

_Replace with changelog entry_

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

V3_GIT_ORIGIN_REV_ID: 73cb9e6c8ef4bfe64d0f0cd9ce3ccbd32e208712
2024-03-22 02:29:49 +00:00
Samir Talwar
e931a391eb Various improvements to the Docker Compose services. (#383)
I got frustrated by the lack of useful output when services failed to
start in CI, so I thought I'd mess around.

I made some changes so that:

1. we wait for services with health checks to report as healthy,
2. we do not rebuild the engine or custom connector when they start,
3. the health checks work (apart from ndc-postgres, which will come
later), and
4. we use environment variables rather than command-line arguments where
possible.

I have also renamed the "agent" binary to "custom-connector", matching
its crate, because it was driving me a little crazy.

V3_GIT_ORIGIN_REV_ID: 8d672b0b25438b54d47368ce82cd236cfdd4e554
2024-03-21 16:49:38 +00:00
Daniel Harvey
db87ec1ab8 accept JSON strings for ID values (#384)
<!-- Thank you for submitting this PR! :) -->

## Description

Forgot this case in https://github.com/hasura/v3-engine/pull/350 - we
should allow strings to be used for GraphQL `ID` values.

<!--
  Questions to consider answering:
  1. What user-facing changes are being made?
2. What are issues related to this PR? (Consider adding `(close
#<issue-no>)` to the PR title)
  3. What is the conceptual design behind this PR?
  4. How can this PR be tested/verified?
  5. Does the PR have limitations?
  6. Does the PR introduce breaking changes?
-->

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [X] community-edition
- [X] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [X] enhancement
- [ ] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

Allow JSON strings to be passed for arguments with ID scalar type.

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

V3_GIT_ORIGIN_REV_ID: df2a81a891a6aa0af54c9792916e1469b823f769
2024-03-21 16:22:52 +00:00
Samir Talwar
aa11947067 Disable benchmarks in unit tests. (#376)
This means that we can pass arguments to the Criterion benchmarks
because the test binaries do not try and run.

For example, if you run this:

```
cargo bench -- --warm-up-time=1 --measurement-time=1
```

… it will currently fail, because it will also pass these arguments to
the tests. Disabling the benchmarks for the tests fixes this.

V3_GIT_ORIGIN_REV_ID: 10fe0683b82c506e1a11b24ca0a0a4041e37b655
2024-03-21 12:42:26 +00:00
Philip Lykke Carlsen
b57a8f9f02 Guard against empty selection sets (#377)
## Description

This PR adds a check which ensures that empty selection sets (i.e.,
selecting a field of object type (or list of object type)) in queries
raise an error.

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [x] community-edition
- [x] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [ ] enhancement
- [x] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

Ensure to reject queries with empty selection sets

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

V3_GIT_ORIGIN_REV_ID: 79049c39b58288f39ec29ecf713cc3622842d47e
2024-03-21 11:46:00 +00:00
Samir Talwar
fb89603a11 Automate the inclusion of packages in the Justfile package selector. (#382)
Make the computer do boring computer work.

V3_GIT_ORIGIN_REV_ID: e8438293e1307f2f8d5c72d4d88d1a19bbc1577e
2024-03-21 10:40:45 +00:00
paritosh-08
2172cdae7e downgrade opentelemetry versions (#380)
<!-- Thank you for submitting this PR! :) -->

## Description

This PR downgrades the opentelemetry versions to 0.20. This fixed the
tracing propagation issues faced
[here](https://hasurahq.slack.com/archives/C066TKMH79R/p1710177836329809).

### TODOs:

- [ ] Figure out the exact issue which caused the context propagation to
stop working
- [ ] Open an issue with
[opentelemetry](https://github.com/open-telemetry/opentelemetry-rust)
(if required).

Co-authored-by: Anon Ray <ecthiender@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 0bc4d8142bd2f671e04d1cbf806f4626e2217332
2024-03-21 09:57:30 +00:00
Daniel Harvey
e3bd16b5db Revert Bump serde_with from 2.3.3 to 3.7.0 (#381)
Reverts hasura/v3-engine#367

This is causing downstream problems in `v3-metadata-build-service`,
let's roll back for now to unblock things.

V3_GIT_ORIGIN_REV_ID: 3261f2f12825c8eac3353a2282b982f0f3bac80e
2024-03-21 09:33:15 +00:00
Rakesh Emmadi
25d6f571ad avoid using deprecated field in json schema examples (#379)
V3_GIT_ORIGIN_REV_ID: 0e243e37154b745514c9560637bcbe512cd5cf38
2024-03-21 08:37:12 +00:00
paritosh-08
3dc725dce6 remove accidentally duplicated files (#378)
Remove accidentally duplicated files from #349

V3_GIT_ORIGIN_REV_ID: 40ff3f142cd44915d3f6d5bea3cdc99d78f90e71
2024-03-21 06:59:14 +00:00
Anon Ray
e4b1f3166c fix: remote joins bug with nested selections (#371)
## Description

This PR fixes a bug when remote joins is used within nested selections.
The bug is described in #318

Closes: https://hasurahq.atlassian.net/browse/V3ENGINE-20

The fix is to remove the replacement tokens data type. And instead use
each `Argument` as the key to lookup in RHS response and join with LHS
response.

<!--
  Questions to consider answering:
  1. What user-facing changes are being made?
2. What are issues related to this PR? (Consider adding `(close
#<issue-no>)` to the PR title)
  3. What is the conceptual design behind this PR?
  4. How can this PR be tested/verified?
  5. Does the PR have limitations?
  6. Does the PR introduce breaking changes?
-->

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [x] community-edition
- [x] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [ ] enhancement
- [x] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

Fix bug when remote joins are used within nested selections

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

---------

Co-authored-by: Gil Mizrahi <gil@hasura.io>
V3_GIT_ORIGIN_REV_ID: 3c0648f5fb21eb4f1d6cc004db2f3ee61a731c38
2024-03-20 17:50:19 +00:00
dependabot[bot]
92fc015fac Bump serde_with from 2.3.3 to 3.7.0 (#367)
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 2.3.3 to
3.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jonasbb/serde_with/releases">serde_with's
releases</a>.</em></p>
<blockquote>
<h2>serde_with v3.7.0</h2>
<h3>Added</h3>
<ul>
<li>Implement <code>JsonSchemaAs</code> for <code>EnumMap</code> by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/697">#697</a>)</li>
<li>Implement <code>JsonSchemaAs</code> for
<code>IfIsHumanReadable</code> by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/717">#717</a>)</li>
<li>Implement <code>JsonSchemaAs</code> for <code>KeyValueMap</code> by
<a href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/713">#713</a>)</li>
<li>Implement <code>JsonSchemaAs</code> for <code>OneOrMany</code> by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/719">#719</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Detect conflicting <code>schema_with</code> attributes on fields
with <code>schemars</code> annotations by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/715">#715</a>)
This extends the existing avoidance mechanism to a new variant fixing <a
href="https://redirect.github.com/jonasbb/serde_with/issues/712">#712</a>.</li>
</ul>
<h2>serde_with v3.6.1</h2>
<h3>Changed</h3>
<ul>
<li>Eliminate dependency on serde's &quot;derive&quot; feature by <a
href="https://github.com/dtolnay"><code>@​dtolnay</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/694">#694</a>)
This allows parallel compilation of <code>serde</code> and
<code>serde_derive</code> which can speed up the wallclock time.
It requires that downstream crates do not use the &quot;derive&quot;
feature either.</li>
</ul>
<h2>serde_with v3.6.0</h2>
<h3>Added</h3>
<ul>
<li>Add <code>IfIsHumanReadable</code> for conditional implementation by
<a href="https://github.com/irriden"><code>@​irriden</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/690">#690</a>)
Used to specify different transformations for text-based and binary
formats.</li>
<li>Add more <code>JsonSchemaAs</code> impls for all
<code>Duration*</code> and <code>Timestamp*</code> adaptors by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/685">#685</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Bump MSRV to 1.65, since that is required for the <code>regex</code>
dependency.</li>
</ul>
<h2>serde_with v3.5.1</h2>
<h3>Fixed</h3>
<ul>
<li>The <code>serde_as</code> macro now better detects existing
<code>schemars</code> attributes on fields and incorporates them by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/682">#682</a>)
This avoids errors on existing <code>#[schemars(with = ...)]</code>
annotations.</li>
</ul>
<h2>serde_with v3.5.0</h2>
<h3>Added</h3>
<ul>
<li>Support for <code>schemars</code> integration added by <a
href="https://github.com/swlynch99"><code>@​swlynch99</code></a> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/666">#666</a>)
The support uses a new <code>Schema</code> top-level item which
implements <code>JsonSchema</code>
The <code>serde_as</code> macro can now detect <code>schemars</code>
usage and emits matching annotations for all fields with
<code>serde_as</code> attribute.
Many types of this crate come already with support for the
<code>schemars</code>, but support is not complete and will be extended
over time.</li>
</ul>
<h2>serde_with v3.4.0</h2>
<ul>
<li>
<p>Lower minimum required serde version to 1.0.152 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/653">#653</a>)
Thanks to <a href="https://github.com/banool"><code>@​banool</code></a>
for submitting the PR.</p>
<p>This allows people that have a problem with 1.0.153 to still use
<code>serde_with</code>.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bcda3fa3ff"><code>bcda3fa</code></a>
Bump version to 3.7.0 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/720">#720</a>)</li>
<li><a
href="a446da1e12"><code>a446da1</code></a>
Bump version to 3.7.0</li>
<li><a
href="7e9772ff1e"><code>7e9772f</code></a>
Implement <code>JsonSchemaAs</code> for <code>OneOrMany</code> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/719">#719</a>)</li>
<li><a
href="5e360837b0"><code>5e36083</code></a>
Add impls and tests for OneOrMany</li>
<li><a
href="c5c35db655"><code>c5c35db</code></a>
Implement JsonSchemaAs for KeyValueMap (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/713">#713</a>)</li>
<li><a
href="046f820610"><code>046f820</code></a>
Bump the github-actions group with 1 update (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/718">#718</a>)</li>
<li><a
href="7e87fe5632"><code>7e87fe5</code></a>
Bump the github-actions group with 1 update</li>
<li><a
href="ffade779c5"><code>ffade77</code></a>
Add <code>JsonSchemaAs</code> impl for <code>IfIsHumanReadable</code>
(<a
href="https://redirect.github.com/jonasbb/serde_with/issues/717">#717</a>)</li>
<li><a
href="bb2ab60a3a"><code>bb2ab60</code></a>
Add JsonSchemaAs impl for IfIsHumanReadable</li>
<li><a
href="a80425783f"><code>a804257</code></a>
Implement JsonSchemaAs for KeyValueMap</li>
<li>Additional commits viewable in <a
href="https://github.com/jonasbb/serde_with/compare/v2.3.3...v3.7.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_with&package-manager=cargo&previous-version=2.3.3&new-version=3.7.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>
V3_GIT_ORIGIN_REV_ID: 1db291014bc664f7e9d46c8f187989994980ea85
2024-03-20 14:26:14 +00:00
Philip Lykke Carlsen
631df50fb8 Reference correct folder for auth hook (#375)
## Description

The `just dev` command had ceased to work because the path to the auth
hook dockerfile had changed with the move to the `crates/` folder.

V3_GIT_ORIGIN_REV_ID: 52c21e41ff39125daeffb7e1a8e5b77664617d7b
2024-03-20 13:45:38 +00:00
Rakesh Emmadi
ce1d0d23e3 Deny unknown fields while deserializing Deprecated (#374)
Add `serde(deny_unknown_fields)` attribute for `Deprecated` struct. In
v3-metadata-build-service, there's a test to ensure no arbitrary
additional properties exists for any schema definition except
`JWTClaimsMap` struct. It actually caught the missing
`deny_unknown_fields` attribute for `Deprecated` struct. This PR also
includes the same test to catch such misses in the future.

V3_GIT_ORIGIN_REV_ID: 2c0a9d2efcd76946885f2e54a364a388e80c283b
2024-03-20 12:25:38 +00:00
dependabot[bot]
596a5db1a0 Bump bson from 2.7.0 to 2.9.0 (#368)
Bumps [bson](https://github.com/mongodb/bson-rust) from 2.7.0 to 2.9.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/bson-rust/releases">bson's
releases</a>.</em></p>
<blockquote>
<h2>v2.9.0</h2>
<p>The MongoDB Rust driver team is pleased to announce the v2.9.0
release of the <code>bson</code> crate.</p>
<h2>Highlighted Changes</h2>
<p>This release adds several externally contributed improvements!</p>
<ul>
<li>A new <code>RawIter</code> type that iterates over elements in a
document without deserializing them,</li>
<li>An improvement to the <code>doc</code> and <code>bson</code> macros
(and their <code>raw</code> counterparts) that allows using types that
implement <code>Into&lt;Bson&gt;</code> or
<code>Into&lt;RawBson&gt;</code>,</li>
<li>An impl of <code>From&lt;&amp;mut T&gt;</code> for <code>Bson</code>
for types that implement <code>Into&lt;Bson&gt;</code>,</li>
<li>A smaller dependency tree thanks to updating the indexmap
crate,</li>
<li>And a fix for the <code>serde_with</code> 3.x support for the
<code>Uuid</code> type.</li>
</ul>
<h2>Full Release Notes</h2>
<h2>New Features</h2>
<ul>
<li>RUST-1815 provide lazy iterator implementation (thanks <a
href="https://github.com/tychoish"><code>@​tychoish</code></a>!)</li>
<li>RUST-1716 Add BSON Binary Data subtype Sensitive (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/454">#454</a>)</li>
</ul>
<h2>Improvements</h2>
<ul>
<li>RUST-1822 Allow using the {,raw}{bson,doc} with types implementing
Into<!-- raw HTML omitted --> (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/450">#450</a>)
(thanks <a
href="https://github.com/tyilo"><code>@​tyilo</code></a>!)</li>
<li>RUST-1825 Implement From<!-- raw HTML omitted --> for Bson (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/452">#452</a>)
(thanks <a
href="https://github.com/tyilo"><code>@​tyilo</code></a>!)</li>
<li>RUST-1814 minor: bump indexmap to 2.1.0 (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/448">#448</a>)
(thanks <a
href="https://github.com/froydnj"><code>@​froydnj</code></a>!)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>RUST-1828 Fix feature name for serde_with Uuid implementation (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/453">#453</a>)
(thanks <a
href="https://github.com/jonasbb"><code>@​jonasbb</code></a>!)</li>
</ul>
<h2>v2.8.1</h2>
<p>The MongoDB Rust driver team is pleased to announce the v2.8.1
release of the <code>bson</code> crate.</p>
<h2>Highlighted Changes</h2>
<p>This release fixes compilation for the <code>wasm32-wasi</code>
target, which broke in the 2.8.0 release.</p>
<h2>Full Release Notes</h2>
<h2>Bugfixes</h2>
<ul>
<li>Fix compilation on wasm32-wasi target <a
href="https://redirect.github.com/mongodb/bson-rust/issues/445">#445</a>
(thanks <a
href="https://github.com/tyranron"><code>@​tyranron</code></a>!)</li>
</ul>
<h2>v2.8.0</h2>
<p>The MongoDB Rust driver team is pleased to announce the v2.8.0
release of the <code>bson</code> crate.</p>
<h2>Highlighted Changes</h2>
<p>This release adds optimizations to the <code>serde</code> integration
that show up to 50% deserialization speed improvement in our benchmarks,
as well as a variety of user-submitted fixes.</p>
<h2>Full Release Notes</h2>
<h2>Improvements</h2>
<ul>
<li>RUST-1132 Implement DeserializeSeed for owned and borrowed raw
documents (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/433">#433</a>)</li>
<li>RUST-1780 Bump MSRV to 1.61.0, upgrade ahash to 0.8.5 in
<code>Cargo.lock.msrv</code> (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/436">#436</a>)
(thanks <a
href="https://github.com/stIncMale"><code>@​stIncMale</code></a>!)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="38ffff5343"><code>38ffff5</code></a>
release v2.9.0 (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/455">#455</a>)</li>
<li><a
href="230dab13f5"><code>230dab1</code></a>
RUST-1716 Add BSON Binary Data subtype Sensitive (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/454">#454</a>)</li>
<li><a
href="81a9895089"><code>81a9895</code></a>
Fix feature name for serde_with Uuid implementation (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/453">#453</a>)</li>
<li><a
href="8247d271b2"><code>8247d27</code></a>
Implement From&lt;&amp;mut T&gt; for Bson (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/452">#452</a>)</li>
<li><a
href="622007da1d"><code>622007d</code></a>
minor: update clippy to 1.75 (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/451">#451</a>)</li>
<li><a
href="7e114303ae"><code>7e11430</code></a>
Allow using the {,raw}{bson,doc} with types implementing
Into&lt;{,Raw}Bson&gt; (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/450">#450</a>)</li>
<li><a
href="9294ee5b45"><code>9294ee5</code></a>
provide lazy iterator implementation (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/449">#449</a>)</li>
<li><a
href="d044889a9f"><code>d044889</code></a>
minor: bump indexmap to <code>2.1.0</code> (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/448">#448</a>)</li>
<li><a
href="4af5805248"><code>4af5805</code></a>
Fix compilation on <code>wasm32-wasi</code> target (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/445">#445</a>)</li>
<li><a
href="6981c342c7"><code>6981c34</code></a>
release v2.8.0 (<a
href="https://redirect.github.com/mongodb/bson-rust/issues/443">#443</a>)
(<a
href="https://redirect.github.com/mongodb/bson-rust/issues/444">#444</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/mongodb/bson-rust/compare/v2.7.0...v2.9.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bson&package-manager=cargo&previous-version=2.7.0&new-version=2.9.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>
V3_GIT_ORIGIN_REV_ID: 8e483de7788695902efdfbb2c9fe0b9b185b4bf7
2024-03-20 12:04:53 +00:00
dependabot[bot]
2898a0dbe6 Bump openssl from 0.10.60 to 0.10.64 (#370)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.60
to 0.10.64.
<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.64</h2>
<h2>What's Changed</h2>
<ul>
<li>Make _STACK opaque for LibreSSL &gt;= 3.9.0 by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2153">sfackler/rust-openssl#2153</a></li>
<li>enable x509 verify and groups list for boringssl by <a
href="https://github.com/zh-jq"><code>@​zh-jq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2155">sfackler/rust-openssl#2155</a></li>
<li>Cleanup some not-required Path::new invocations by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2158">sfackler/rust-openssl#2158</a></li>
<li>fixed a clippy (nightly) warning by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2161">sfackler/rust-openssl#2161</a></li>
<li>Bump actions versions by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2162">sfackler/rust-openssl#2162</a></li>
<li>Add support for setting the nonce type and digest on a PKEY_CTX by
<a href="https://github.com/facutuesca"><code>@​facutuesca</code></a> in
<a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2144">sfackler/rust-openssl#2144</a></li>
<li>rebuild openssl-sys if the underlying openssl has changed by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2157">sfackler/rust-openssl#2157</a></li>
<li>Added binding for EVP_default_properties_enable_fips by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2168">sfackler/rust-openssl#2168</a></li>
<li>LibreSSL 3.9: fix CRYPTO_malloc/free signatures by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2170">sfackler/rust-openssl#2170</a></li>
<li>Expose alias on X509 structs by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2167">sfackler/rust-openssl#2167</a></li>
<li>bump openssl and openssl-sys + changelogs by <a
href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2175">sfackler/rust-openssl#2175</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.63...openssl-v0.10.64">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.63...openssl-v0.10.64</a></p>
<h2>openssl-v0.10.63</h2>
<h2>What's Changed</h2>
<ul>
<li>Allow passing a passphrase callback when loading a public key by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2135">sfackler/rust-openssl#2135</a></li>
<li>Expose several additional ciphers for symmetry with symm by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2140">sfackler/rust-openssl#2140</a></li>
<li>brew: add openssl@3.0 (for 3.0.x LTS releases) by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2141">sfackler/rust-openssl#2141</a></li>
<li>Add PKey::from_dhx by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2142">sfackler/rust-openssl#2142</a></li>
<li>Make X509_PURPOSE opaque for LibreSSL &gt;= 3.9.0 by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2145">sfackler/rust-openssl#2145</a></li>
<li>PEM parsing: check last error instead of first by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2148">sfackler/rust-openssl#2148</a></li>
<li>Expose brainpool NIDs on libressl by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2150">sfackler/rust-openssl#2150</a></li>
<li>Add two methods to the PKCS7 API by <a
href="https://github.com/facutuesca"><code>@​facutuesca</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2111">sfackler/rust-openssl#2111</a></li>
<li>add more boringssl methods by <a
href="https://github.com/zh-jq"><code>@​zh-jq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2138">sfackler/rust-openssl#2138</a></li>
<li>Release openssl v0.10.63 and openssl-sys v0.9.99 by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2152">sfackler/rust-openssl#2152</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.62...openssl-v0.10.63">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.62...openssl-v0.10.63</a></p>
<h2>openssl-v0.10.62</h2>
<h2>What's Changed</h2>
<ul>
<li>fixes <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2119">#2119</a>
-- use ErrorStack abstraction in X.509 error handling by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2120">sfackler/rust-openssl#2120</a></li>
<li>Fix building with latest BoringSSL by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2121">sfackler/rust-openssl#2121</a></li>
<li>Fix tests on macOS by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2123">sfackler/rust-openssl#2123</a></li>
<li>Upcoming API changes in LibreSSL 3.9 by <a
href="https://github.com/botovq"><code>@​botovq</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2124">sfackler/rust-openssl#2124</a></li>
<li>Add <code>rand_priv_bytes</code> by <a
href="https://github.com/overvenus"><code>@​overvenus</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2126">sfackler/rust-openssl#2126</a></li>
<li>Add nid constant for curve brainpoolP320r1 by <a
href="https://github.com/nicklaswj"><code>@​nicklaswj</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2129">sfackler/rust-openssl#2129</a></li>
<li>Release openssl v0.10.62 and openssl-sys v0.9.98 by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2133">sfackler/rust-openssl#2133</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/overvenus"><code>@​overvenus</code></a>
made their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2126">sfackler/rust-openssl#2126</a></li>
<li><a href="https://github.com/nicklaswj"><code>@​nicklaswj</code></a>
made their first contribution in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/2129">sfackler/rust-openssl#2129</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.61...openssl-v0.10.62">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.61...openssl-v0.10.62</a></p>
<h2>openssl v0.10.61</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4a19cd4825"><code>4a19cd4</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2175">#2175</a>
from reaperhulk/changelog</li>
<li><a
href="4e0e05a629"><code>4e0e05a</code></a>
bump openssl and openssl-sys + changelogs</li>
<li><a
href="c2b124aa2c"><code>c2b124a</code></a>
Be explicit that aliases are not part of X.509 certificates</li>
<li><a
href="1abf4a5b79"><code>1abf4a5</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2167">#2167</a>
from alex/expose-alias</li>
<li><a
href="a644ec2542"><code>a644ec2</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2170">#2170</a>
from botovq/crypto-free</li>
<li><a
href="83940d14e3"><code>83940d1</code></a>
LibreSSL 3.9: fix CRYPTO_malloc/free signatures</li>
<li><a
href="51fc569482"><code>51fc569</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2168">#2168</a>
from sfackler/alex-patch-1</li>
<li><a
href="3c53dee153"><code>3c53dee</code></a>
Added binding for EVP_default_properties_enable_fips</li>
<li><a
href="a12abe1b92"><code>a12abe1</code></a>
Expose alias on X509 structs</li>
<li><a
href="3acf2eff0b"><code>3acf2ef</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/2157">#2157</a>
from reaperhulk/rebuild-if-changed</li>
<li>Additional commits viewable in <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.60...openssl-v0.10.64">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.60&new-version=0.10.64)](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>
V3_GIT_ORIGIN_REV_ID: 99b2df7f5f80c162d6e917f94cf0d545e31a2022
2024-03-20 11:38:46 +00:00
Rakesh Emmadi
1895e87e84 add deprecated config for opendd metadata (#372)
Add an optional `deprecated` key to the following OpenDD metadata
- Object type field definitions
- Model select unique and select many graphql API
- Command GraphQL API
- Relationship

The `deprecated` value is an object with an optional `reason` key.
```
"deprecated": {
  "reason": "Optional reason"
}
```
Produce `@deprecated` against GraphQL fields generated from
aforementioned OpenDD metadata using `deprecated` config.

V3_GIT_ORIGIN_REV_ID: b26fe8a8b62de24d04820578b8201d3ff8585375
2024-03-20 09:23:40 +00:00
Daniel Harvey
0b69370cc9 add support for argument presets in models (#348)
<!-- Thank you for submitting this PR! :) -->

## Description

Following on https://github.com/hasura/v3-engine/pull/340 (and stacked
on top of it, as such) - this adds preset arguments for models, allowing
hard coded values for different roles.

```yaml
kind: ModelPermissions
version: v1
definition:
  modelName: ActorsByMovie
  permissions:
  - role: admin
    select:
      filter:
      argumentPresets:
      - argument: movie_id
        value:
          literal: 3
```

<!--
  Questions to consider answering:
  1. What user-facing changes are being made?
2. What are issues related to this PR? (Consider adding `(close
#<issue-no>)` to the PR title)
  3. What is the conceptual design behind this PR?
  4. How can this PR be tested/verified?
  5. Does the PR have limitations?
  6. Does the PR introduce breaking changes?
-->

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [X] community-edition
- [X] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [X] enhancement
- [ ] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

Allow setting preset values for arguments on models, based on user's
role.

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

V3_GIT_ORIGIN_REV_ID: 7dd23bf78e92980384cb2b2e109305cdb42d1c0b
2024-03-20 08:42:02 +00:00
Daniel Harvey
bdd5d06437 Move all crates into a folder (#355)
<!-- Thank you for submitting this PR! :) -->

## Description

This moves all the crates into a `/crates` folder. Everything appears to
just work, thanks Cargo!

V3_GIT_ORIGIN_REV_ID: 8e3ef287b1a46cabdb4d919a50e813ab2cddf8b1
2024-03-19 18:07:14 +00:00
Tom Harding
0123fa339a Separate the query request tree and mutation request tree (#349)
## Description

Following on from #347, this PR separates "query requests" and "mutation
requests" at the level of the query plan, rather than the individual
fields. The result of this is that we can separate the functions to plan
and execute the two things entirely, which will make it easier in the
forthcoming PR to add support for transactions.

There's almost certainly some further refactoring that could be done
here, but I'm choosing to wait until transactions are in place before
getting too excited.

V3_GIT_ORIGIN_REV_ID: 849f4682cc01d3b9e44d2748e4cc34382c8547a7
2024-03-19 11:52:43 +00:00
Abhinav Gupta
7c7e50505f constraint allowed open dd identifier names (#356)
V3_GIT_ORIGIN_REV_ID: 66512df837ccd1b72cd39fd35979bdc8ce39de55
2024-03-18 20:28:35 +00:00
Samir Talwar
249b86b328 Improve the speed of test Docker builds. (#354)
V3_GIT_ORIGIN_REV_ID: a5229c4361bcd2de373fedb5d3ee43c9af75c556
2024-03-18 11:21:23 +00:00
Daniel Harvey
7e0f0bb1ab migrate build job to Github Actions (#352)
V3_GIT_ORIGIN_REV_ID: b26d1479508aeb9168459f0db82591f8995bb174
2024-03-15 17:24:02 +00:00
Daniel Harvey
ecee753d6f upgrade to use Rust 1.76 (#353)
V3_GIT_ORIGIN_REV_ID: fee5e0dbd617a71c7da0a3f588b83064c23df2af
2024-03-15 16:53:56 +00:00
Daniel Harvey
9b1920d6fa basic typechecker for preset argument values (#350)
V3_GIT_ORIGIN_REV_ID: 6dac85968ea599812db56568a9422657b5cf96f4
2024-03-15 13:25:11 +00:00
Daniel Harvey
681ce9dcae add just update-golden-files-local command (#351)
V3_GIT_ORIGIN_REV_ID: 428d47af17949396037e4942ddcb2267801e56dc
2024-03-15 13:06:16 +00:00
Daniel Harvey
c754f273eb add support for argument presets in commands (#340)
V3_GIT_ORIGIN_REV_ID: 9d7401e5c629040fda7824966588af7f39e4a14c
2024-03-15 11:00:24 +00:00
Puru Gupta
a86d2d0450 add support for async span with parent context (#341)
V3_GIT_ORIGIN_REV_ID: f24ff08407a4f00787dfb76a72f9de072b5a02a2
2024-03-15 09:26:30 +00:00
Tom Harding
ee225734f1 Run mutations sequentially (#347)
V3_GIT_ORIGIN_REV_ID: 805e0d008954617e85ad6e1688f8016a85748bb5
2024-03-13 12:27:18 +00:00
Daniel Harvey
797aa43080 run clippy in watch command (#346)
V3_GIT_ORIGIN_REV_ID: 2cf4796a45aa1acc0846ebd6293ccf218356b5bf
2024-03-13 11:14:54 +00:00
Rakesh Emmadi
1e91ac1f41 add a roundtrip test for metadata serialization (#343)
V3_GIT_ORIGIN_REV_ID: e6195bcd2fcdfa472ac40a11acf81938d7aa6205
2024-03-13 10:17:06 +00:00
paritosh-08
b44711aaa5 revert copy traces to stdout (38fd62f) (#345)
V3_GIT_ORIGIN_REV_ID: c9ee70e9201026378a96d1205a2a566c211230d1
2024-03-13 09:32:11 +00:00
Jesse Hallett
c50ad27037 update dev-auth-webhook lockfile (#344)
V3_GIT_ORIGIN_REV_ID: 279110b4bb1605baa36a2770e5ec0d1530944ed5
2024-03-13 08:25:10 +00:00
Daniel Harvey
6b283f7032 add just local-watch command (#339)
V3_GIT_ORIGIN_REV_ID: af7b9083fcde703010a6096d8db65ceade80f58c
2024-03-12 15:27:28 +00:00
Abhinav Gupta
8489a4b9b0 implement serialization for opendd types (#342)
V3_GIT_ORIGIN_REV_ID: e7bd868bf53e6960498c0ec764f9ee4f7ea70ff8
2024-03-12 03:01:19 +00:00
Anon Ray
441b81b96e add boolean expression types to the metadata (#331)
Co-authored-by: Abhinav Gupta <abhinav@hasura.io>
Co-authored-by: Abhinav Gupta <127770473+abhinav-hasura@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 86e90978132e9e87c4c20ec25902be11ffb0a56c
2024-03-12 00:29:28 +00:00
Rakesh Emmadi
f5c9a6f291 Custom deserializer for OpenDd objects (#313)
V3_GIT_ORIGIN_REV_ID: 4c7a9380e517ac8e7ac1bd44dbe879918bd0d9a2
2024-03-11 12:17:50 +00:00
paritosh-08
c04ae5994c support input coercion (#325)
Co-authored-by: Vamshi Surabhi <0x777@users.noreply.github.com>
Co-authored-by: Samir Talwar <samir.talwar@hasura.io>
V3_GIT_ORIGIN_REV_ID: 7578b836c0491db1d1cbf5bf876b0ed5d1fc910e
2024-03-11 10:54:28 +00:00
Jesse Hallett
b255495378 copy traces to stdout (#327)
Outputs traces to stdout in addition to exporting via otlp. Stdout contains one JSON object per line, with a single span resource in each output line. This will make it quite a bit easier for me to get a quick look at what is going on in the engine during local development.

The first commit makes the change using the existing opentelemetry crate versions. The second commit upgrades the opentelemetry dependencies. I thought I would include that just because I went to the trouble of figuring out how to do that upgrade.

The JSON output is noisy, but can be formatted nicely with some shell functions. For example in nushell I use these functions to process the opentelemetry data coming via docker-compose or arion-compose log output:

```nu
# Get log output from arion/docker-compose services with JSON parsing. If an
# argument is given filters to logs from the given service
def logs [
  service?: string@docker_compose_services
  --file (-f): string = "./arion-compose.nix" # Use FILE instead of the default ./arion-compose.nix
] {
  let args = [$service] | compact
  let input = if ($file | path exists) {
    arion --file $file logs ...$args
  } else {
    docker-compose logs ...$args
  }
  $input
    | lines
    | parse -r '^(?<service>\S+)\s*\|\s*(?<log>.*)$'
    | where {|it| is_json $it.log}
    | update log {|it| $it.log | from json }
    | flatten
}

# Gets log output from a given docker-compose service, and extracts and formats
# relevant opentelemetry data
def otel [
  service: string@docker_compose_services
  --file (-f): string = "./arion-compose.nix" # Use FILE instead of the default ./arion-compose.nix
] {
  logs $service -f $file | get resourceSpans | each {|it| $it.scopeSpans.0.spans.0 | select name attributes status }
}

# Helper to provide autocompletion for inputs to the logs command
def docker_compose_services [] {
  let compose_file = if ("arion-compose.nix" | path exists) {
    arion cat | from json
  } else if ("docker-compose.yaml" | path exists) {
    open docker-compose.yaml
  } else {
    return []
  }
  $compose_file | get services | columns
}

# Helper for the logs command
def is_json [input: string] {
  ($input | from json | describe) =~ '^(record|table|list)'
}
```

V3_GIT_ORIGIN_REV_ID: 38fd62f321a363a52b03d661b66d4dd49ac922de
2024-03-07 21:26:50 +00:00
Gil Mizrahi
bb34a9ae66 Replace the nodejs dev-auth-webhook with a rust one to improve performance (#336)
Co-authored-by: Samir Talwar <samir@functional.computer>
V3_GIT_ORIGIN_REV_ID: 37eb6ad3fc93f4f9beca6568d60a581edca45a71
2024-03-07 14:18:25 +00:00
Samir Talwar
f869e7a8af Use ndc-spec v0.1.0. (#337)
V3_GIT_ORIGIN_REV_ID: ef97a6a0692e7c0741de96f0848d414d9b172106
2024-03-07 13:19:55 +00:00
Jesse Hallett
a7ccadbcd9 listen for sigterm to avoid 10-second shutdown delay (#328)
V3_GIT_ORIGIN_REV_ID: c2a1eb358d139df6234730851beadfff30f29f16
2024-03-07 00:24:22 +00:00
Samir Talwar
078b0d3487 Get the Nix build working. (#335)
V3_GIT_ORIGIN_REV_ID: e70e2a42b2445b4bcf4e9ee7db771b475c32d2f9
2024-03-06 17:51:17 +00:00
Samir Talwar
dea588255b Set the crate properties once, to improve the Nix build. (#334)
V3_GIT_ORIGIN_REV_ID: ec5f3d968306a64ad5c63df324ca5c524838c598
2024-03-06 17:15:13 +00:00
Daniel Harvey
353b0d1ca6 basic Nix flake for deps (#333)
Co-authored-by: Samir Talwar <samir.talwar@hasura.io>
V3_GIT_ORIGIN_REV_ID: 013207c169f31db363b7cfb072570c5b8246ba60
2024-03-06 11:39:19 +00:00
Abhinav Gupta
f9a77428d0 [V3ENGINE-13] Fix NDC IR generation for functions / procedures (#330)
V3_GIT_ORIGIN_REV_ID: f579e9fb7a413adb24481bfc04feee7d661aa534
2024-02-29 05:30:27 +00:00
Samir Talwar
d21d8277c8 Stop publishing arm64 images. (#329)
Co-authored-by: Paritosh <paritosh@hasura.io>
V3_GIT_ORIGIN_REV_ID: d41a19cb58afb69843d7450d884d1e69b585fcfa
2024-02-27 10:36:02 +00:00
paritosh-08
5c9033a66a add health endpoint (#326)
V3_GIT_ORIGIN_REV_ID: c2868238d43045e65b30df4dff4bc909a4999a17
2024-02-27 09:15:29 +00:00
David Overton
64bb9c873d Nested selections (#255)
Co-authored-by: Abhinav Gupta <127770473+abhinav-hasura@users.noreply.github.com>
Co-authored-by: Brandon Martin <brandon@codedmart.com>
V3_GIT_ORIGIN_REV_ID: 4f4674c5bad551afa7ed718ae78c281b6f571a62
2024-02-23 19:11:10 +00:00
Abhinav Gupta
4f1276dac1 add a test for opendd object mapped to ndc scalar (#324)
V3_GIT_ORIGIN_REV_ID: 7972eda702c43c2a121c1333ae32c4252b1b44d2
2024-02-23 18:07:01 +00:00
Gil Mizrahi
8071b11194 fix relationship collection of filter and order by clauses (#323)
This fixes a bug with collection_relationships not being populated by relationships constructed from where and/or order by clauses.

We fix this by not only collecting relationships from field selection, but also considering relationships introduced by order by and where clauses.

V3_GIT_ORIGIN_REV_ID: c612ceed8b3831257ca2c7d23ec9ed23261efedf
2024-02-23 08:30:17 +00:00
paritosh-08
a351d3fa84 update ndc-spec to rc.18 (#316)
Co-authored-by: Daniel Chambers <daniel@hasura.io>
Co-authored-by: Abhinav Gupta <127770473+abhinav-hasura@users.noreply.github.com>
Co-authored-by: Abhinav Gupta <abhinav@hasura.io>
V3_GIT_ORIGIN_REV_ID: 0f36da2472c44a1e403bc2fa10ebbc377daeba0d
2024-02-21 12:23:41 +00:00
Abhinav Gupta
dfd2e940b1 Make schema field mandatory in ConnectorLink (#315)
V3_GIT_ORIGIN_REV_ID: 5d782bc8dec8630b5b63821b61ecec615f0ed47f
2024-02-05 23:11:45 +00:00
Abhinav Gupta
339cc34d06 [RFC] Boolean expression types in OpenDD (#311)
V3_GIT_ORIGIN_REV_ID: 73241ca9f4324d1978aaa1e64426fa1a642a3b1f
2024-02-05 22:01:02 +00:00
Abhinav Gupta
6581657f8b Improve schema / capabilities structure in ConnectorLink (#314)
V3_GIT_ORIGIN_REV_ID: 4a5b5d1870637461c2c4b7d50da80cf0ca74847b
2024-02-05 21:14:53 +00:00
Abhinav Gupta
19259546a9 rename asc / desc enum values to PascalCase (#310)
V3_GIT_ORIGIN_REV_ID: 57bda06f5ebb4640410edf4d2756a3a588609fab
2024-02-02 01:15:09 +00:00
pranshi06
d595fb6cd0 remove colored package as a dependency (#289)
V3_GIT_ORIGIN_REV_ID: d08536edec330a9fd5df009fcb5ddbb466e7d585
2024-02-01 10:28:16 +00:00
Naveen Naidu
12ff4fcd9c add all chinook tables to schema.json and fix doctests (#308)
V3_GIT_ORIGIN_REV_ID: c637690fae9debad793c17a5b9b4c55a8dfeb15d
2024-02-01 05:34:25 +00:00
Puru Gupta
c31844d383 Error fix for RelationshipTargetDoesNotSupportForEach (#309)
V3_GIT_ORIGIN_REV_ID: 1fb982ff3b84e6634d534d273823666e620ccc94
2024-01-31 13:39:38 +00:00
Puru Gupta
71b10cf2bf changes for improved DX workflow (#304)
V3_GIT_ORIGIN_REV_ID: 28cc0ba50508778f1464ed90dbeb1ba94ab9170e
2024-01-31 12:51:52 +00:00
Karthikeyan Chinnakonda
f65d67bd10 Change order_by to accept a list (#298)
V3_GIT_ORIGIN_REV_ID: 603f6ae4ab8c6505a5484d6b71042b0a7e5aaa8c
2024-01-31 09:51:17 +00:00
Anon Ray
486249902a add remote joins docs (#303)
V3_GIT_ORIGIN_REV_ID: f107422751293f1b3cd6d9eb00a19d58a3409a12
2024-01-31 07:38:57 +00:00
Brandon Simmons
6c83ec7985 lang-graphql: add parser tests (#290)
Co-authored-by: Abhinav Gupta <127770473+abhinav-hasura@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: d7b70a3cc70e6b9ead5867fd4b4fc56809878ebd
2024-01-30 17:42:44 +00:00
Samir Talwar
82df77cd8e Remove SSH from Docker builds. (#305)
V3_GIT_ORIGIN_REV_ID: 832619b36c18ccdfbabacb44c4af4098bf296e2a
2024-01-30 13:03:51 +00:00
Naveen Naidu
56828db682 Metadata configuration for global field/type names (#199)
V3_GIT_ORIGIN_REV_ID: e1f756a53bbbce722032df4f9b44f33473a09a1f
2024-01-30 12:33:17 +00:00
pranshi06
5fce5c04f1 allow adding descriptions to schema (#296)
Co-authored-by: Karthikeyan C <karthikeyan@hasura.io>
V3_GIT_ORIGIN_REV_ID: 4128ea54439d4035a449060f90b763400616f1d3
2024-01-30 10:16:32 +00:00
paritosh-08
1de78b0aa1 redact ndc explain in tests (#306)
V3_GIT_ORIGIN_REV_ID: 25dce47edf92eb2c37af3865de42ddab354e7201
2024-01-30 09:18:30 +00:00
Anon Ray
bd19e2248b gardening: fix formatting for rustdoc (#302)
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 02b2c7646c6cf1fcb10472a030abcb923a3f0bb4
2024-01-29 11:04:05 +00:00
Anon Ray
c71a4ccdd6 remove unused execution error types (#300)
V3_GIT_ORIGIN_REV_ID: 492940c66723b61fbb7af2a925e53d3f4b21e31e
2024-01-29 07:14:12 +00:00
paritosh-08
a0d30feab9 add ndc_explain to select node (#285)
Co-authored-by: Anon Ray <ecthiender@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: e45510454fe299fb41690a8fb56bcdce7628cd67
2024-01-29 05:12:42 +00:00
Krushan Bauva
4bed94b01f use short commit SHA as version and mark non-release builds as dev (#295)
V3_GIT_ORIGIN_REV_ID: 78475725003cd57790361caa8659c7a7146eacf2
2024-01-25 08:54:21 +00:00
Naveen Naidu
761c2a3b3a add deserialization tests for resolved metadata (#301)
V3_GIT_ORIGIN_REV_ID: fde1d8f7d598758f434b09aaf922187a10761fd5
2024-01-24 08:04:42 +00:00
Naveen Naidu
2b8cbd0808 add deserialize_with for BTreeMap used in Relationship Annotation (#299)
V3_GIT_ORIGIN_REV_ID: e6ae398db7f9124a9fb4eb5ffa300b7dac82e03b
2024-01-24 05:58:40 +00:00
Naveen Naidu
d177c6ffdb Implement relationships in boolean exp, order_by and predicates (#254)
V3_GIT_ORIGIN_REV_ID: bc0fb85552f141f7e887d61c15c5e455f87ac02a
2024-01-23 11:21:33 +00:00
Krushan Bauva
bd80f8d81a send project-id as header to ndc for metrics (#292)
V3_GIT_ORIGIN_REV_ID: 723bd361f8e7d136a02f58873b5edcf5089acf03
2024-01-19 11:19:44 +00:00
Anon Ray
290bece338 gardening: move NDC IR generation code to query_plan (#293)
V3_GIT_ORIGIN_REV_ID: ed9ee0fc2343082ccadddcdf807b3aa59421b758
2024-01-17 06:02:12 +00:00
Puru Gupta
b48b668c3a refactor: remove extraneous struct ResponseType (#294)
V3_GIT_ORIGIN_REV_ID: c9b2b272c785fee5ac8bb0903e1cff71ae12a39d
2024-01-16 07:50:01 +00:00
Puru Gupta
0c4d0e7341 use git commit sha as version in traces (#287)
V3_GIT_ORIGIN_REV_ID: 9f0ff932d432802ddb9b6688ba7c0b738e2af201
2024-01-09 07:14:03 +00:00
Karthikeyan Chinnakonda
7914ec0c38 Execute query root fields concurrently (#268)
Co-authored-by: Rakesh <12475069+rakeshkky@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: efacd7a9e9c7d1ae2621943ef8ac622213fd10bf
2024-01-08 10:42:08 +00:00
Puru Gupta
40fd49dad4 IR generation for remote type to command relationship (#266)
Co-authored-by: Anon Ray <rayanon004@gmail.com>
V3_GIT_ORIGIN_REV_ID: 6301ff61bc6fe59e5a735a52a501911d3e471cad
2024-01-08 10:41:59 +00:00
paritosh-08
9485d781b8 Forward NDC errors with status code 422 (#279)
V3_GIT_ORIGIN_REV_ID: f0468d4820d98d871a23caa56f5a1cdc91f5d287
2024-01-08 10:41:50 +00:00
paritosh-08
ff846d4916 update ndc-spec dependency to v0.1.0-rc.13 (#275)
V3_GIT_ORIGIN_REV_ID: 8dcb1c45b28e060d60eb76f15653d3eba737314e
2024-01-08 10:41:41 +00:00
paritosh-08
e12888f0e7 add /v1/explain endpoint (#252)
Co-authored-by: Anon Ray <ecthiender@users.noreply.github.com>
V3_GIT_ORIGIN_REV_ID: 22630e7b4af8f3a535a6017fcaa7d70d581d3ae3
2024-01-08 10:41:31 +00:00
Anon Ray
6d556f68dd fix: wrong return on empty rows in remote relationships (#267)
V3_GIT_ORIGIN_REV_ID: 9eba8544b8401563b27c83f87e35b8448922b2f2
2024-01-08 10:41:22 +00:00
Puru Gupta
4b812d9b9a refactor command schema and IR (#261)
V3_GIT_ORIGIN_REV_ID: b2a7e3c591edeaf5aea3474b1e1f8492478ad95a
2024-01-08 10:41:13 +00:00
Karthikeyan Chinnakonda
f53e329eb1 Fix serialization of the NodeFieldTypeMappings (#260)
V3_GIT_ORIGIN_REV_ID: 10ff7b35139fc48e618270758d3f805890039c53
2024-01-08 10:41:04 +00:00
Puru Gupta
048ddbd33d generate IR for type to command local relationships (#251)
Co-authored-by: Abhinav Gupta <abhinav@hasura.io>
V3_GIT_ORIGIN_REV_ID: b49b4c236c0df997ca8fcbe0a3e52e90f731f544
2024-01-08 10:40:54 +00:00
Rakesh Emmadi
ab753f69cf build GDS using Metadata struct directly (#259)
V3_GIT_ORIGIN_REV_ID: 04acc30c4332ce51714d14c94bbfc1fb0b1f9666
2024-01-08 10:40:45 +00:00
Karthikeyan Chinnakonda
44f09504e1 Relay node permissions refactor (#208)
V3_GIT_ORIGIN_REV_ID: ce4c3ef89b63991706f87fca5c1fe827b64775e9
2024-01-08 10:40:36 +00:00
Manas Agarwal
e27e5b7ffe v3: open-source hasura v3 engine
Hasura V3 Engine v3.alpha.12-19-2023
V3-GitOrigin-RevId: 6605575a52b347b5e9a14ecd1cc736f113c663b3

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10567
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 38c98a4b1971efe3ac724c2371c43ceb7d31f140
2023-12-19 09:05:39 +00:00