Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Bump EntityGraphQL.AspNet and EntityGraphQL #767

Merged
merged 1 commit into from
Apr 23, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 15, 2024

Bumps EntityGraphQL.AspNet and EntityGraphQL. These dependencies needed to be updated together.
Updates EntityGraphQL.AspNet from 5.1.1 to 5.2.1

Release notes

Sourced from EntityGraphQL.AspNet's releases.

5.2.1

Fixes

  • #355 - make error variable values more distinctive
  • EntityGraphQL is now more specific in which methods it tries to optimize the pattern of a list to single. E.g. If a field has an expression like ctx => ctx.People.FirstOrDefault(filter) EntityGraphQL treats that as a ListToSingle field and will build a full expression similar to ctx => ctx.People.Where(filter).Select(x => new {...}).FirstOrDefault() to avoid over fetching when using EntityFramework. Previously EntityGraphQL would try to break up and rebuild expressions.methods it didn't know how to. It now correctly only tries this optimization on First, FirstOrDefault, Single, SingleOrDefault, Last & LastOrDefault from Queryable & Enumerable

5.2.0

Changes

  • #347 - The handler for the subscriptions end point added by UseGraphQLWebSockets no longer returns 400 if the request is not a web socket request. Allowing the request to get passed to the next handlers. This allows you to have the same endpoint for queries/mutations and subscriptions.
  • #318 - Support Unicode characters in the string of the filter language
  • Add a net8.0 target output for the base EntityGraphQL library.
  • Make more properties public in nodes like GraphQLCollectionToSingleField to better support customisation in custom directives
  • Added field.Resolve<TService, ...>() to replace ResolveWithService<>(). Recommended to use Resolve(). Release 5.3 will mark ResolveWithService as deprecated and release 6.0 will remove them.
  • Add field.ResolveBulk<TService, TKey, TResult>() to allow you to use services to bulk load data to avoid multiple calls to a service resolve expression that may call an external service in a list result. Example
  • Add schema.AddEnum<TEnum>(typeName, description) to the schema building API
  • Add net8.0 as a target for EntityGraphQL.AspNet project
var schema = SchemaBuilder.FromObject<MyContext>();
schema.UpdateType<Project>(type =>
{
    type.ReplaceField("createdBy", "Get user that created it")
      // normal service to fetch the User object for creator of the Project type
      .ResolveWithService<UserService>((proj, users) => users.GetUserById(proj.CreatedById))
      // Bulk service used to fetch many User objects
      .ResolveBulk<UserService, int, User>(proj => proj.CreatedById, (ids, srv) => srv.GetAllUsers(ids));
});

If you have a query like

{
  # ResolveBulk
  projects {
    # project fields
    name
    id
    # service field - resolved with ResolveBulk expression for all Projects loaded
    createdBy {
      name
    }
  }
ResolveWithService
project(id: 78) {
# project fields
name
id
</tr></table>

... (truncated)

Changelog

Sourced from EntityGraphQL.AspNet's changelog.

5.2.1

Fixes

  • #355 - make error variable values more distinctive
  • EntityGraphQL is now more specific in which methods it tries to optimize the pattern of a list to single. E.g. If a field has an expression like ctx => ctx.People.FirstOrDefault(filter) EntityGraphQL treats that as a ListToSingle field and will build a full expression similar to ctx => ctx.People.Where(filter).Select(x => new {...}).FirstOrDefault() to avoid over fetching when using EntityFramework. Previously EntityGraphQL would try to break up and rebuild expressions.methods it didn't know how to. It now correctly only tries this optimization on First, FirstOrDefault, Single, SingleOrDefault, Last & LastOrDefault from Queryable & Enumerable

5.2.0

Check release notes for the 5.2.0-beta1 and beta2 below.

Changes

  • #347 - The handler for the subscriptions end point added by UseGraphQLWebSockets no longer returns 400 if the request is not a web socket request. Allowing the request to get passed to the next handlers. This allows you to have the same endpoint for queries/mutations and subscriptions.

Fixes

  • #350 - Index accessors properties (which are methods to dotnet) on types are ignored when using SchemaBuilder. Previously they would fail.
  • #333 - Fixes to method and service calls on interfaces/unions
  • #344 - Support paging field extensions with field.ResolveBulk<TService, TKey, TResult>()
  • Fix bulk resolve services within a List to Single node

5.2.0-beta2

Check release notes for the 5.2.0-beta1 below.

Fixes

  • Fix error when using a service at a query root field that uses First() as friends (List to single pattern). E.g. (ctx, service) => ctx.SomeList.First(i => i.Thing == service.Other)
  • #318 - Fix issue comparing int style fields against float style fields in the filter expression
  • Better error message when comparing different enum types in the filter language
  • Include descriptions for scalars and directives in introspection and schema output
  • Fix issue using the default SchemaBuilderOptions with a mutation method that has a list argument. The argument input type was not being correctly added to the schema. Not an issue if you were already adding the type manually
  • #336 - Fix conversion of non-nullable/nullable types
  • #342 - Fix argument incorrectly being renamed when using [GraphQLField]

Changes

  • #318 - Support Unicode characters in the string of the filter language
  • Support more cases with field.ResolveBulk<TService, TKey, TResult>()
  • Add a net8.0 target output for the base EntityGraphQL library.

5.2.0-beta1

Changes

  • Make more properties public in nodes like GraphQLCollectionToSingleField to better support customisation in custom directives
  • Added field.Resolve<TService, ...>() to replace ResolveWithService<>(). Recommended to use Resolve(). Release 5.3 will mark ResolveWithService as deprecated and release 6.0 will remove them.
  • Add field.ResolveBulk<TService, TKey, TResult>() to allow you to use services to bulk load data to avoid multiple calls to a service resolve expression that may call an external service in a list result. Example
  • Add schema.AddEnum<TEnum>(typeName, description) to the schema building API

... (truncated)

Commits
  • 399d6a5 be specific in which methods we optimize the pattern of a list to single
  • 8ebf73a Merge pull request #355 from taipignas/feature/improve-error-messages
  • ad84ec9 fix tests
  • 50ffecb Merge branch 'master' into feature/improve-error-messages
  • 53b0ec3 Merge pull request #357 from EntityGraphQL/dependabot/npm_and_yarn/docs/expre...
  • 7da28cf Bump express from 4.18.2 to 4.19.2 in /docs
  • 4bbb3b2 make error value more distinctive
  • a0ab0f5 Merge pull request #353 from taipignas/feature/improve-documentation-isolated...
  • 7219918 Merge pull request #354 from EntityGraphQL/dependabot/npm_and_yarn/docs/webpa...
  • 5db2948 Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /docs
  • Additional commits viewable in compare view

Updates EntityGraphQL from 5.1.1 to 5.2.1

Release notes

Sourced from EntityGraphQL's releases.

5.2.1

Fixes

  • #355 - make error variable values more distinctive
  • EntityGraphQL is now more specific in which methods it tries to optimize the pattern of a list to single. E.g. If a field has an expression like ctx => ctx.People.FirstOrDefault(filter) EntityGraphQL treats that as a ListToSingle field and will build a full expression similar to ctx => ctx.People.Where(filter).Select(x => new {...}).FirstOrDefault() to avoid over fetching when using EntityFramework. Previously EntityGraphQL would try to break up and rebuild expressions.methods it didn't know how to. It now correctly only tries this optimization on First, FirstOrDefault, Single, SingleOrDefault, Last & LastOrDefault from Queryable & Enumerable

5.2.0

Changes

  • #347 - The handler for the subscriptions end point added by UseGraphQLWebSockets no longer returns 400 if the request is not a web socket request. Allowing the request to get passed to the next handlers. This allows you to have the same endpoint for queries/mutations and subscriptions.
  • #318 - Support Unicode characters in the string of the filter language
  • Add a net8.0 target output for the base EntityGraphQL library.
  • Make more properties public in nodes like GraphQLCollectionToSingleField to better support customisation in custom directives
  • Added field.Resolve<TService, ...>() to replace ResolveWithService<>(). Recommended to use Resolve(). Release 5.3 will mark ResolveWithService as deprecated and release 6.0 will remove them.
  • Add field.ResolveBulk<TService, TKey, TResult>() to allow you to use services to bulk load data to avoid multiple calls to a service resolve expression that may call an external service in a list result. Example
  • Add schema.AddEnum<TEnum>(typeName, description) to the schema building API
  • Add net8.0 as a target for EntityGraphQL.AspNet project
var schema = SchemaBuilder.FromObject<MyContext>();
schema.UpdateType<Project>(type =>
{
    type.ReplaceField("createdBy", "Get user that created it")
      // normal service to fetch the User object for creator of the Project type
      .ResolveWithService<UserService>((proj, users) => users.GetUserById(proj.CreatedById))
      // Bulk service used to fetch many User objects
      .ResolveBulk<UserService, int, User>(proj => proj.CreatedById, (ids, srv) => srv.GetAllUsers(ids));
});

If you have a query like

{
  # ResolveBulk
  projects {
    # project fields
    name
    id
    # service field - resolved with ResolveBulk expression for all Projects loaded
    createdBy {
      name
    }
  }
ResolveWithService
project(id: 78) {
# project fields
name
id
</tr></table>

... (truncated)

Changelog

Sourced from EntityGraphQL's changelog.

5.2.1

Fixes

  • #355 - make error variable values more distinctive
  • EntityGraphQL is now more specific in which methods it tries to optimize the pattern of a list to single. E.g. If a field has an expression like ctx => ctx.People.FirstOrDefault(filter) EntityGraphQL treats that as a ListToSingle field and will build a full expression similar to ctx => ctx.People.Where(filter).Select(x => new {...}).FirstOrDefault() to avoid over fetching when using EntityFramework. Previously EntityGraphQL would try to break up and rebuild expressions.methods it didn't know how to. It now correctly only tries this optimization on First, FirstOrDefault, Single, SingleOrDefault, Last & LastOrDefault from Queryable & Enumerable

5.2.0

Check release notes for the 5.2.0-beta1 and beta2 below.

Changes

  • #347 - The handler for the subscriptions end point added by UseGraphQLWebSockets no longer returns 400 if the request is not a web socket request. Allowing the request to get passed to the next handlers. This allows you to have the same endpoint for queries/mutations and subscriptions.

Fixes

  • #350 - Index accessors properties (which are methods to dotnet) on types are ignored when using SchemaBuilder. Previously they would fail.
  • #333 - Fixes to method and service calls on interfaces/unions
  • #344 - Support paging field extensions with field.ResolveBulk<TService, TKey, TResult>()
  • Fix bulk resolve services within a List to Single node

5.2.0-beta2

Check release notes for the 5.2.0-beta1 below.

Fixes

  • Fix error when using a service at a query root field that uses First() as friends (List to single pattern). E.g. (ctx, service) => ctx.SomeList.First(i => i.Thing == service.Other)
  • #318 - Fix issue comparing int style fields against float style fields in the filter expression
  • Better error message when comparing different enum types in the filter language
  • Include descriptions for scalars and directives in introspection and schema output
  • Fix issue using the default SchemaBuilderOptions with a mutation method that has a list argument. The argument input type was not being correctly added to the schema. Not an issue if you were already adding the type manually
  • #336 - Fix conversion of non-nullable/nullable types
  • #342 - Fix argument incorrectly being renamed when using [GraphQLField]

Changes

  • #318 - Support Unicode characters in the string of the filter language
  • Support more cases with field.ResolveBulk<TService, TKey, TResult>()
  • Add a net8.0 target output for the base EntityGraphQL library.

5.2.0-beta1

Changes

  • Make more properties public in nodes like GraphQLCollectionToSingleField to better support customisation in custom directives
  • Added field.Resolve<TService, ...>() to replace ResolveWithService<>(). Recommended to use Resolve(). Release 5.3 will mark ResolveWithService as deprecated and release 6.0 will remove them.
  • Add field.ResolveBulk<TService, TKey, TResult>() to allow you to use services to bulk load data to avoid multiple calls to a service resolve expression that may call an external service in a list result. Example
  • Add schema.AddEnum<TEnum>(typeName, description) to the schema building API

... (truncated)

Commits
  • 399d6a5 be specific in which methods we optimize the pattern of a list to single
  • 8ebf73a Merge pull request #355 from taipignas/feature/improve-error-messages
  • ad84ec9 fix tests
  • 50ffecb Merge branch 'master' into feature/improve-error-messages
  • 53b0ec3 Merge pull request #357 from EntityGraphQL/dependabot/npm_and_yarn/docs/expre...
  • 7da28cf Bump express from 4.18.2 to 4.19.2 in /docs
  • 4bbb3b2 make error value more distinctive
  • a0ab0f5 Merge pull request #353 from taipignas/feature/improve-documentation-isolated...
  • 7219918 Merge pull request #354 from EntityGraphQL/dependabot/npm_and_yarn/docs/webpa...
  • 5db2948 Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /docs
  • Additional commits viewable in compare view

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 commands and options

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)

@dependabot dependabot bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Apr 15, 2024
@dependabot dependabot bot force-pushed the dependabot/nuget/multi-1da6868508 branch 3 times, most recently from d979d9b to eaffd48 Compare April 19, 2024 23:35
Bumps [EntityGraphQL.AspNet](https://github.com/lukemurray/EntityGraphQL) and [EntityGraphQL](https://github.com/lukemurray/EntityGraphQL). These dependencies needed to be updated together.

Updates `EntityGraphQL.AspNet` from 5.1.1 to 5.2.1
- [Release notes](https://github.com/lukemurray/EntityGraphQL/releases)
- [Changelog](https://github.com/EntityGraphQL/EntityGraphQL/blob/master/CHANGELOG.md)
- [Commits](EntityGraphQL/EntityGraphQL@5.1.1...5.2.1)

Updates `EntityGraphQL` from 5.1.1 to 5.2.1
- [Release notes](https://github.com/lukemurray/EntityGraphQL/releases)
- [Changelog](https://github.com/EntityGraphQL/EntityGraphQL/blob/master/CHANGELOG.md)
- [Commits](EntityGraphQL/EntityGraphQL@5.1.1...5.2.1)

---
updated-dependencies:
- dependency-name: EntityGraphQL.AspNet
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: EntityGraphQL
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/nuget/multi-1da6868508 branch from eaffd48 to 596f4db Compare April 23, 2024 21:19
@SapiensAnatis SapiensAnatis merged commit 1412af3 into main Apr 23, 2024
9 checks passed
@SapiensAnatis SapiensAnatis deleted the dependabot/nuget/multi-1da6868508 branch April 23, 2024 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file .NET Pull requests that update .net code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant