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:
TheTypeResolver
Interface was changed fromgetType(Object object)
togetType(TypeResolutionEnvironment environment)
. The object previously directly passed is now available asTypeResolutionEnvironment.getObject()
. -
#398: GraphQLSchema:
GraphQLSchema.getDictionary()
was renamed togetAdditonalTypes()
-
#400: Type References:
GraphQLObject.reference()
,GraphQLInterfaceType.reference()
andGraphQLInputObjectType.reference()
has been removed: Instead instantiate anew GraphQLTypeReference()
. -
#401 FieldCollector:
TheFieldCollector
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)