-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Update dependency com.graphql-java:graphql-java to v23 #6603
base: dev-2.x
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## dev-2.x #6603 +/- ##
=============================================
- Coverage 70.99% 70.98% -0.01%
- Complexity 18269 18272 +3
=============================================
Files 1999 2000 +1
Lines 75856 75872 +16
Branches 7784 7785 +1
=============================================
+ Hits 53851 53856 +5
- Misses 19260 19269 +9
- Partials 2745 2747 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
I can take a look at this to fix the issues. |
A bug related to updating deprecation reasons has been fixed in the graphql-java library
This recent scec change had to be manually updated since the GraphQLFormattingTest doesn't update existing directives seemingly
Schema validation test fails due to |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good but the CI job says there is a breaking change. Is adding an making the input to an annotation really a breaking change? I don't think so.
Yep, it sort of feels like a bug in the validation library that it complains about a directive. The directive usage is on the schema side, API users can't use it. |
I've opened #6612 to fix the issue that we don't get validation report on the second schema if the first one has a breaking change. Usually it doesn't matter, but seems like sometimes we do make changes to both schemas at once and even "breaking" changes. https://github.com/opentripplanner/OpenTripPlanner/actions/runs/14405863905/job/40402118988 shows the output of this pr with the workflow fix. |
This PR contains the following updates:
22.3
->23.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
graphql-java/graphql-java (com.graphql-java:graphql-java)
v23.0
: 23.0Compare Source
Thanks to everyone for contributing to this release, through pull requests, issues, and discussions!
This is a major release which contains breaking changes.
Key changes
Enable batching on Mutations https://github.com/graphql-java/graphql-java/pull/3737
Support for draft error handling directive
@experimental_disableErrorPropagation
https://github.com/graphql-java/graphql-java/pull/3772DataFetchers can now return reactive-streams Publisher objects from them and they will be turned into a CompleteableFuture value. Note only a single value will be retrieved from the Publisher https://github.com/graphql-java/graphql-java/pull/3731
We changed from JetBrains nullability annotations to JSpecify annotations https://github.com/graphql-java/graphql-java/pull/3851. JSpecify is a new industry consortium effort, which has been adopted by Spring. See more in the documentation: https://jspecify.dev/docs/start-here/
A new experimental callback is available to track the execution state of GraphQL Java: it allows for being notified when GraphQL Java is running actively code vs waiting/finished. See https://github.com/graphql-java/graphql-java/blob/master/src/test/groovy/graphql/EngineRunningTest.groovy#L174 for how to use it
We have also released DataLoader 4.0.0 and made graphql-java dependent on it. See the release notes: https://github.com/graphql-java/java-dataloader/releases
@defer
directive is now included in the schema by default https://github.com/graphql-java/graphql-java/pull/3839Performance improvements
Only call overlapping validation once during validation, which will significantly reduce validation time, with more savings for larger operations. We found ~150% improvement in benchmarks. https://github.com/graphql-java/graphql-java/pull/3835
Reducing object allocations and overhead from stream, thanks @kilink for contributing many improvements https://github.com/graphql-java/graphql-java/pull/3804 https://github.com/graphql-java/graphql-java/pull/3803 https://github.com/graphql-java/graphql-java/pull/3801 https://github.com/graphql-java/graphql-java/pull/3798 https://github.com/graphql-java/graphql-java/pull/3797 https://github.com/graphql-java/graphql-java/pull/3710
Reducing object allocations for
PropertyDataFetcher
andSchemaGeneratorHelper
https://github.com/graphql-java/graphql-java/pull/3755 https://github.com/graphql-java/graphql-java/pull/3754Improvement on
DataFetchingSelectionSet.getImmediateFields()
, if descendant traversal is not required this saves considerable time. Thanks @timward60 https://github.com/graphql-java/graphql-java/pull/3855Comparing performance improvements. We run performance benchmarks on all changes, and you can view these results inside the GitHub repo. You can then use this JMH visualisation tool to compare benchmarks from different commits, for example these before and after results from the DataFetcherSelectionSet optimisation: https://jmh.morethan.io/?sources=https://raw.githubusercontent.com/graphql-java/graphql-java/refs/heads/master/performance-results/2025-03-18T23%3A42%3A07Z-3d7dce5e49dfbe92d656629ae4fdbab979bba8be-jdk17.json,https://raw.githubusercontent.com/graphql-java/graphql-java/refs/heads/master/performance-results/2025-03-20T04%3A24%3A26Z-9a931ba6ad8e2ee49ea48c98ca86c2901f2343b1-jdk17.json
See all performance improvements on GitHub: https://github.com/graphql-java/graphql-java/issues?q=is%3Amerged%20label%3A%22performance%22%20milestone%3A%2223.0%20breaking%20changes%22%20
Breaking changes
Strict runtime wiring redefinition checks now on by default. We now have stricter runtime wiring redefinition checks by default to catch invalid cases. For example, a field that already had a DataFetcher registered must not have a second DataFetcher registered. This can be toggled off. https://github.com/graphql-java/graphql-java/pull/3824
Removed an unused protected method in ExecutionStrategy. https://github.com/graphql-java/graphql-java/pull/3881
A small breaking change to
AstPrinter
to enable re-use of StringBuilders https://github.com/graphql-java/graphql-java/pull/3853Improvement in a few directive and applied directive builders to address a bug where all elements were cleared. https://github.com/graphql-java/graphql-java/pull/3825
Breaking change for a new specification requirement, to prevent
@include
and@skip
directives on subscription root fields https://github.com/graphql-java/graphql-java/pull/3871See all breaking changes on GitHub: https://github.com/graphql-java/graphql-java/issues?q=is%3Amerged%20label%3A%22breaking%20change%22%20milestone%3A%2223.0%20breaking%20changes%22
Security
We have become a CVE Numbering Authority (CNA) for GraphQL Java and related projects. For more information, see our Security page https://www.graphql-java.com/security.
What's Changed
New Contributors
Full Changelog: graphql-java/graphql-java@v22.3...v23.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.