fix(deps): update dependency com.graphql-java:graphql-java to v25 #800
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
23.1->25.0Release Notes
graphql-java/graphql-java (com.graphql-java:graphql-java)
v25.0: 25.0Key changes
Dataloader
Refactoring strategy
The existing PerLevelDataLoaderStrategy has been refactored which lead to simplifications and performance improvements.
New strategies
Two new strategies were introduced: CHAINED and EXHAUSTED. Both can be configured via
UnusalConfiguration(see next section).CHAINED allow for chained DataLoaders to be used while keeping a per level dispatch strategies.
EXHAUSTED is a completely new strategy that works on the basis to dispatch once the engine is not busy. It mirrors the JS data loader dispatch strategy, but for a multi threaded system.
Unusual Configuration
A more generalised configuration mechanism has been added for "unusual configuration". By that we mean configuation we dont expect many people to use but if they do its now in a more common place
For example if you wanted to change the maximum depth the document parser will accept you could call the following methods.
JSpecify Annotations
The team are starting to embrace https://jspecify.dev/ annotations as the way to indicate nullable and non nullable fields. Many important classes have had these annotations added to help make it more semantically clear when a value can be null or not.
Breaking Changes
A wrapping
FetchedValueobject is not always returned on field fetchers for performance reasons. This means thatgraphql.execution.instrumentation.parameters.InstrumentationFieldCompleteParameters#getFetchedObjectwas created to replace the oldergetFetchedValuemethod and the returns object can sometimes be aFetchedValueor sometimes a simple POJO value.Performance improvements
A series of performance improvements have been made to reduce the memory footprint of the library. Also the Java
.stream()operator can be slower than a more direct loop and many of these calls have been changed for performance reasons.What's Changed
graphql.schema.idlclasses by @mk868 in #3895graphql.languagepackage by @mk868 in #3899@NullUnmarkedto builders by @dondonz in #4087New Contributors
Full Changelog: graphql-java/graphql-java@v23.0...v25.0
v24.3: 24.3Compare Source
This small bug fix brings in java-dataloader 5.0.3 which itself has a fix such that the Kotlin stdlib is not included a POM dependency
See https://github.com/graphql-java/java-dataloader/releases/tag/v5.0.3 for more details
What's Changed
Full Changelog: graphql-java/graphql-java@v24.2...v24.3
v24.2: 24.2Compare Source
This is a small bugfix release, to use the latest version of DataLoader that includes nullability annotation improvements. Thanks to the community to providing feedback.
See https://github.com/graphql-java/java-dataloader/releases/tag/v5.0.2 and https://github.com/graphql-java/java-dataloader/releases/tag/v5.0.1 for the details
What's Changed
Full Changelog: graphql-java/graphql-java@v24.1...v24.2
v24.1: 24.1Compare Source
This is bugfix release for 24.
Main change is #3994: If you have defer enabled (an experimental feature) and use data loaders for mutations your requests would hang, because the data loaders are not dispatched correctly.
Additionally this release contains #3995.
Cheers
What's Changed
Full Changelog: graphql-java/graphql-java@v24.0...v24.1
v24.0: 24.0Compare Source
24.0 is a breaking change
This release is an unexpected breaking change release. It was made to help propagate a fix in the DataLoader library
In DataLoader version 4.0.0 we introduced immutability into the
DataLoaderOptionsclass, which was a good thing.However it left the old mutative
setXXXmethods in place and made them immutable. This was a mistake. This leads to bugs at runtime for exampleThe above code would continue to compile but the
setMaxBatchSize()would never take affected at runtime with the immutable support.So to help address this bug a DataLoader version 5.0.0 was released and it has removed the
setXXXmethods and requires theBuildermethods to be used to ensure that code that relied on the old mutative methods now break at compile time and not at runtime.In turn we have released this new version of graphql-java - we have designated it a breaking change because of this transitive DataLoader breaking change
We consider v23.x poisoned and we don't recommend you use it because of the latent bug above.
But the release notes of 23 are still relevant when you upgrade from 22: https://github.com/graphql-java/graphql-java/releases/tag/v23.0
Small performance fixes
There are also a set of small performance oriented fixes that have gone out in this release.
What's Changed
Full Changelog: graphql-java/graphql-java@v23.1...v24.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.