CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
24.0
Compare
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 DataLoaderOptions
class, which was a good thing.
However it left the old mutative setXXX
methods in place and made them immutable. This was a mistake. This leads to bugs at runtime for example
DataLoaderOptions options = DataLoaderOptions.newOptions();
if (maxBatchSize != BatchLoader.UNSET_BATCH_SIZE) {
options.setMaxBatchSize(maxBatchSize);
}
return options.setCacheMap(cache);
The 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 setXXX
methods and requires the Builder
methods 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
- 24.x Cherry pick JSpecify OSGI config by @dondonz in #3960
- 24.x Backport of avoid wrapping materialised value by @dondonz in #3962
- Upgrade to DataLoader 5.0.0 by @dondonz in #3961
- Cherry pick DataFetcherResult helpers by @dondonz in #3965
- Cherry pick PR 3942 To add singleton to factory method by @dondonz in #3968
- Cherry pick PR 3935 by @dondonz in #3969
- Cherry pick 3934 for execution step info builder changes by @dondonz in #3970
- Cherry pick 3932 to remove streams from FPKit by @dondonz in #3971
- Cherry pick 3931 imperative filters by @dondonz in #3972
- Cherry pick 3930 remove optional streams by @dondonz in #3973
- Cherry pick PR 3929 reduce nonnullablefieldvalidator allocations by @dondonz in #3974
Full Changelog: v23.1...v24.0