Skip to content

Releases: graphql-java/graphql-java

25.0.beta-2

10 Jul 03:14
Compare
Choose a tag to compare
25.0.beta-2 Pre-release
Pre-release

This is a beta release for the upcoming version 25.

A word of warning

While all features are tested and we consider them ready to be used, we don't guarantee that this is a stable version: this means there will be more breaking changes until we reach 25.0.

This version is intended for testing and providing feedback to the GraphQL Java team.

This 2nd beta release includes a few more commits than the 1st beta release, notably a nullability bugfix for DataLoader

What's Changed

Full Changelog: 25.0.beta-1...v25.0.beta-2

25.0.beta-1

07 Jul 22:49
Compare
Choose a tag to compare
25.0.beta-1 Pre-release
Pre-release

This is a beta release for the upcoming version 25.

A word of warning

While all features are tested and we consider them ready to be used, we don't guarantee that this is a stable version: this means there will be more breaking changes until we reach 25.0.

This version is intended for testing and providing feedback to the GraphQL Java team.

Changes

What's Changed

Read more

24.1

30 May 04:41
fcb48ba
Compare
Choose a tag to compare

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

  • bugfix: fix mutations data loading dispatching when defer is enabled by @andimarek in #3994
  • Deterministic source location backport 24 by @andimarek in #3995

Full Changelog: v24.0...v24.1

24.0

16 May 03:14
cab5b9f
Compare
Choose a tag to 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

Full Changelog: v23.1...v24.0

22.4

13 May 09:11
059a0ff
Compare
Choose a tag to compare

A very small release that backports an improvement to avoid wrapping materialized fieldValueObject in a CompletableFuture #3943

This change will shortly be released in the new 24.0 release. This is only a backport.

What's Changed

  • avoid wrapping materialized fieldValueObject in a completable future by @samuelAndalon in #3944

Full Changelog: v22.3...v22.4

23.1

15 Apr 07:08
6ff6f7d
Compare
Choose a tag to compare

Do Not Use

Version 23.x is considered poisoned and we don't recommend you upgrade to it

See the release notes of v24 for more details on what this is the case.

Previous release notes

This reverts a bug in 23.0 introduced in #3871.

Please use 23.1, and not 23.0.

Update: we will shortly release 24.0, which replaces the 23 line of releases. Please do not use any v23 releases going forward.

23.0

07 Apr 01:54
27b9def
Compare
Choose a tag to compare

Do Not Use

Version 23.x is considered poisoned and we don't recommend you upgrade to it

See the release notes of v24 for more details on what this is the case.

Previous release notes

Notice: there is a bug with https://github.com/graphql-java/graphql-java/pull/3871/files, a new bugfix release is about to be released. Use 23.1 instead, not 23.0

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

Performance improvements

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. #3824

  • Removed an unused protected method in ExecutionStrategy. #3881

  • A small breaking change to AstPrinter to enable re-use of StringBuilders #3853

  • Improvement in a few directive and applied directive builders to address a bug where all elements were cleared. #3825

  • Breaking change for a new specification requirement, to prevent @include and @skip directives on subscription root fields #3871

See 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

Read more

22.3

05 Sep 03:15
d6dbf61
Compare
Choose a tag to compare

This is a bugfix release focusing on the @defer directive implementation. There are no breaking changes in this release.

Thanks to the community for continuing to report issues and build improvements, which helps make graphql-java better! Kudos to @felipe-gdr and @jbellenger for contributing @defer improvements in this release.

Key Changes

  • @defer and DataLoader integration in #3639
  • Transformable IncrementalExecutionResult in #3693

What's Changed

Full Changelog: v22.2...v22.3

22.2

12 Aug 00:22
9cc3538
Compare
Choose a tag to compare

This is a bugfix release. There are no breaking changes in this release.

Thanks to everyone in the community for reporting issues and contributing bugfixes for this release! And happy birthday to GraphQL Java, who recently turned 9!

Key changes:

  • Bugfix for DataLoader dispatching which caused subscriptions to hang #3673. First reported to Spring for GraphQL spring-projects/spring-graphql#1019
  • Improved @oneOf validation to run sooner in the validation phase #3577 #3580
  • MultiSourceReader bugfix to handle different new line behaviour in Java 16+, thanks @gummybug #3670

What's Changed

New Contributors

Full Changelog: v22.1...v22.2

22.1

21 May 05:59
f93fdac
Compare
Choose a tag to compare

This is a bugfix release. There are no breaking changes in this release, however if you use Kotlin, please note some nullability changes were made with this release.

Key changes include:

  • Fix to add field fetching method #3571
  • Add validation rule for @deprecated on required arguments and input object fields #3591
  • Nullability changes for DataFetchingEnvironment #3582. If you use Kotlin, this may be considered a breaking change for you. See discussion: #3630

Thanks to everyone who contributed to this release!

What's Changed

  • Update readme badge by @dondonz in #3568
  • Added a getBoolean onto GraphQLContext.java by @bbakerman in #3578
  • getBoolean returns a boolean not a Boolean by @bbakerman in #3581
  • Bump org.testng:testng from 7.10.1 to 7.10.2 by @dependabot in #3583
  • Bump net.bytebuddy:byte-buddy from 1.14.13 to 1.14.14 by @dependabot in #3584
  • Bump net.bytebuddy:byte-buddy-agent from 1.14.13 to 1.14.14 by @dependabot in #3585
  • Bump com.fasterxml.jackson.core:jackson-databind from 2.17.0 to 2.17.1 by @dependabot in #3587
  • Always include incremental props even if null by @gnawf in #3570
  • Bump net.bytebuddy:byte-buddy-agent from 1.14.14 to 1.14.15 by @dependabot in #3595
  • Bump net.bytebuddy:byte-buddy from 1.14.14 to 1.14.15 by @dependabot in #3596
  • Ready: Add @deprecated validation for input object fields, field arguments, directive arguments by @dondonz in #3591
  • Added field fetching method for Expedia by @bbakerman in #3571
  • Update GitHub actions ahead of release by @dondonz in #3600
  • Bump google-github-actions/auth from 2.1.2 to 2.1.3 by @dependabot in #3603
  • Bump org.eclipse.jetty:jetty-server from 11.0.20 to 11.0.21 by @dependabot in #3602
  • Bump com.google.code.gson:gson from 2.10.1 to 2.11.0 by @dependabot in #3601
  • Add nullability annotations in DataFetchingEnvironment & sub-classes by @Salzian in #3582
  • Now does not overwrite a types default data fetcher unless its nonnull by @bbakerman in #3579
  • Add extend schema (AST print) to SchemaPrinter by @dondonz in #3471

New Contributors

Full Changelog: v22.0...v22.1