Skip to content

chore(deps): bump com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter from 5.3.0 to 8.5.3 in /backend/api#1014

Closed
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/gradle/backend/api/com.netflix.graphql.dgs-graphql-dgs-spring-boot-starter-8.5.3
Closed

chore(deps): bump com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter from 5.3.0 to 8.5.3 in /backend/api#1014
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/gradle/backend/api/com.netflix.graphql.dgs-graphql-dgs-spring-boot-starter-8.5.3

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

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

Bumps com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter from 5.3.0 to 8.5.3.

Release notes

Sourced from com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter's releases.

v8.5.3

What’s Changed

v8.5.2

What’s Changed

v8.5.0

The DGS and Spring GraphQL teams are super excited to introduce deep integration between the DGS framework and Spring GraphQL. This will bring the community together, and we can continue building the best possible GraphQL framework for Spring Boot in the future.

Special thanks to @​kilink for being our first early adopter and contributing many bug fixes and performance improvements as part of this effort, and to @​rstoyanchev and @​bclozel from the Spring GraphQL team for partnering with us closely on integration between the frameworks.

Getting Started with DGS/Spring GraphQL

You can opt-in to use DGS/Spring GraphQL by replacing the starter dependency.

Replace implementation "com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter" with implementation "com.netflix.graphql.dgs:graphql-dgs-spring-graphql-starter". You also need to add either Spring WebMVC or Spring WebFlux explicitly.

With this integration, it is technically possible to mix and match the DGS/Spring GraphQL programming models. However, to maintain consistency in your codebase and to take full advantage of DGS features, we recommend sticking with the DGS programming model. Additional features from Spring GraphQL will be available via existing Spring GraphQL extensions, such as multipart-spring-graphql and the apollographql/federation-jvm#354 in the JVM Federation library.

Background - Two competing frameworks

The DGS Framework provides Java developers with a programming model on top of Spring Boot to create GraphQL services. Netflix open-sourced the DGS framework in 2021, and has been the widely adopted GraphQL Java framework by many companies.

Soon after we open-sourced the DGS framework, we learned about parallel efforts by the Spring team to develop a GraphQL framework for Spring Boot. The Spring GraphQL project was in the early stages at the time and provided a low-level of integration with graphql-java. Over the past year, however, Spring GraphQL has matured and is mostly at feature parity with the DGS Framework. We now have 2 competing frameworks that solve the same problems for our users.

Today, new users must choose between the DGS Framework or Spring GraphQL, thus missing out on features available in one framework but not the other. This is not an ideal situation for the GraphQL Java community.

For the maintainers of DGS and Spring GraphQL, it would be far more effective to collaborate on features and improvements instead of having to solve the same problem independently. Finally, a unified community would provide us with better channels for feedback.

Technical implementation

The details of the implementation are discussed in detail in the documentation.

Required Changes

The good news is that the new integration has been mostly a drop-in replacement, not requiring any major code changes for the user.

Async Dispatch

By default, Spring GraphQL uses async dispatch for handling HTTP GraphQL Requests when using WebMVC. In this DGS Framework we have turned off this behavior by default to preserve existing functionality, since it requires existing code to be async aware. This implies servlet filters, tests etc. need to be also async aware. You can turn on async behavior by setting the dgs.graphql.spring.webmvc.asyncdispatch.enabled to true.

It is worth noting that with the Spring GraphQL integration, your MockMVC test set up does need to be updated. Since web request processing is now based on async dispatching mechanism, we now require explicit handling for this in the test setup.

... (truncated)

Commits
  • 288b97b Rework DgsDataLoaderRegistry to avoid some overhead
  • 0ce0bd6 Bump actions/cache from 4.0.1 to 4.0.2
  • e67de5e Update to Spring Boot 3.2.4
  • 7aa0eb4 Switch to using measureTimedValue
  • 8c40b5e Remove deprecated fields from TypedGraphQLError
  • a1a941c Fix bug in Spring query executors
  • 7d0ac42 Merge pull request #1766 from Netflix/spring-graphql-refactored
  • 73922d1 lint fix
  • e74eeea Merge remote-tracking branch 'origin/spring-graphql-refactored' into spring-g...
  • d7818f0 Added property to enable/disable async dispatch
  • Additional commits viewable in compare view

Dependabot compatibility score

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)

…rter

Bumps [com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter](https://github.com/Netflix/dgs-framework) from 5.3.0 to 8.5.3.
- [Release notes](https://github.com/Netflix/dgs-framework/releases)
- [Commits](Netflix/dgs-framework@v5.3.0...v8.5.3)

---
updated-dependencies:
- dependency-name: com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot bot commented on behalf of github Apr 13, 2024

Superseded by #1015.

@dependabot dependabot bot closed this Apr 13, 2024
@dependabot dependabot bot deleted the dependabot/gradle/backend/api/com.netflix.graphql.dgs-graphql-dgs-spring-boot-starter-8.5.3 branch April 13, 2024 04:14
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants