Download Latest Version 25.0 source code.tar.gz (3.2 MB)
Email in envelope

Get an email when there's a new version of GraphQL Java

Home / v24.0
Name Modified Size InfoDownloads / Week
Parent folder
24.0 source code.tar.gz 2025-05-15 2.5 MB
24.0 source code.zip 2025-05-15 3.3 MB
README.md 2025-05-15 3.1 kB
Totals: 3 Items   5.8 MB 0

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

:::java
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.

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: https://github.com/graphql-java/graphql-java/compare/v23.1...v24.0

Source: README.md, updated 2025-05-15