github graphql-java/graphql-java v3.0.0
Release 3.0.0

latest releases: v22.0, v21.5, v20.9...
6 years ago

This is our biggest release yet, with exciting new features, but also with breaking changes.

A big thanks to all contributors! A lot of them are not directly mentioned here, but every comment or Issue makes this project better.

The most fundamental change is that graphql-java requires now Java 8. Java 6 or Java 7 is no longer supported. (#359)

The biggest new feature is that we now offer a second way to define a schema (#386).

Breaking Changes

  • #395: TypeResolver:
    The TypeResolver Interface was changed from getType(Object object) to getType(TypeResolutionEnvironment environment). The object previously directly passed is now available as TypeResolutionEnvironment.getObject().

  • #398: GraphQLSchema:
    GraphQLSchema.getDictionary() was renamed to getAdditonalTypes()

  • #400: Type References:
    GraphQLObject.reference(), GraphQLInterfaceType.reference() and GraphQLInputObjectType.reference() has been removed: Instead instantiate a new GraphQLTypeReference().

  • #401 FieldCollector:
    The FieldCollector class is now clearly marked as an internal class and was changed. It is very unlikely that you used this class. If you did: please open an Issue to adress your use case.

Changes:

  • #353 fix null error handling (by @bbakerman)
  • #359 Change to Java 8
  • #358 Support for user defined subscription type (by @vaant)
  • #360 type param and misc. for relay types (by @Jimexist)
  • #368 TypeReferences resolved for interfaces and unions (by @kaqqao)
  • #361 use java 8 base64 features (by @Jimexist)
  • #370 retain comments in the parsed document (by @bbakerman)
  • #371 link a runtime object back to its possible definition (by @bbakerman)
  • #378 too many tokens are allowed as valid (by @bbakerman)
  • #386 Adds the ability to compile and build executable schemas (by @bbakerman)
  • #387 Allow ExecutionStrategy to specify dataFetchingExceptionHandler (by @corydolphin)
  • #388 ast printer support (by @bbakerman)
  • #391 Fix handling of UnknownFragment (by @corydolphin )
  • #392 Add fragment definitions and execution id to DataFetchingEnvironment (by @apottere)
  • #395 Improved TypeResolver (by @kaqqao)
  • #401 have the ability to know and capture all fields in a data fetcher (by @bbakerman)
  • #411 make it more clear what internal vs public API is
  • #418 do not overwrite top level schema definition during type registry merge (by @kaseyreed)
  • #422 Add environment to field instrumentation. (by @apottere)
  • #429 Improve wrong type exception (by @dh94)

Don't miss a new graphql-java release

NewReleases is sending notifications on new releases.