Skip to main content

· One min read
Donna Zhou

We are thrilled to announce the release of graphql-java v22.0! Thanks to everyone in the community who contributed to the release, whether that was code, helping to report issues, or participating in discussions.

This is a breaking change release, which includes major performance improvements. This release also introduces the @defer directive, which enables data to be received incrementally, rather than waiting until all data is resolved. This can reduce an application's time-to-interactive. See more on the @defer draft specification on the GraphQL Working Group's GitHub repo.

For the full details, please see the release notes on GitHub.

· One min read
Donna Zhou

We are pleased to announce the release of graphql-java v21.0! Thanks to everyone in the community who contributed to the release, whether that was code, helping to report issues, or participating in discussions.

And a very Happy 8th Birthday to graphql-java, who celebrated their birthday last week!

This is a breaking change release, including upgrading to Java 11 and changes to parseValue coercion. See the full release notes on GitHub.

· 2 min read
Donna Zhou

We’re formalising our release schedule to give the community a better idea of when to expect releases, what will be contained within them, and when important fixes will be backported.

General release schedule

Going forward, we plan to have 4 releases every year, approximately one per quarter. We will alternate between releases containing breaking changes, and releases containing features and bugfixes (without breaking changes).

For example: our next release 20.1 will be in late March 2023, and this will be a feature and bugfix release without breaking changes. Therefore, we’re going to retain Java 8 in the 20.1 release. Our subsequent quarterly release will be around early July 2023 and will contain breaking changes, including upgrading to Java 11.

Security backports

We will backport critical bugfixes and security fixes for versions dating back 18 months (or roughly 6 versions). These fixes will be backported depending on severity and demand. As security fixes are time sensitive, we will release them on demand instead of waiting for the next quarterly release date.

Bugfix backports

We will backport important bug fixes at most 12 months (or roughly 4 versions). These fixes will be backported depending on the severity of the bug and demand.

Deprecations

When code is deprecated, we will wait at least 12 months before removing it (or roughly 4 versions).

Version numbering

We will continue to use major.minor version numbering.

A minor version can include bug fixes and features, but not breaking changes. A major version can include breaking changes.

Allowing for policy changes

The aim of this release policy to give the community a better indication of release dates, what is contained in releases, and when fixes will be backported. However, we may make a pragmatic decision to diverge from this policy when required. For example, a major and urgent breaking change could result in two breaking change releases in a row. If we diverge from this release policy, we’ll make it clear in the release notes.

· One min read
Andreas Marek

GraphQL Java will require Java 11 as a minimum Java version, starting from version 21.

With Java 8 being released over 8 years ago and Java 17 more than one year ago, we think now is the right time to upgrade the minimum Java version GraphQL Java is developed against.

This means starting with version 21 you need to use at least Java 11 to run GraphQL Java.

Depending on the feedback we get, we plan to release bugfix releases for version 20 for some time, but no longer than until end of 2023.

Please discuss and leave feedback here

· One min read
Donna Zhou

We are pleased to announce the release of graphql-java 20.0!

Special thanks to each of the 200+ contributors over the years, who have made this milestone possible.

We've added support for record-like property fetching, added performance improvements for PropertyDataFetcher and reduced object allocation.

Version 20 also introduces internationalization (i18n) for validation, parsing, and scalar coercion error messages. We have added German translations, and we would love to see more languages. If you would like to contribute, please open a pull request.

See the full release notes on GitHub.