Skip to content

@bbakerman bbakerman released this Jun 13, 2019 · 16 commits to master since this release

Breaking changes

#1221 @deferred behavior now includes field path

This is breaking in the sense that data that was not there before is now present and hence the behaviour has changed.

Some would argue that this is not a breaking change but we are being conservative here.

#1460 @defer is no longer a default directive

You now have to opt in to getting @defer behavior whereas before it as the default

#1483 PreparsedDocumentProvider now has full input

Previously only the query string was passed to the PreparsedDocumentProvider but now it receives the full execution input

#1495 ErrorClassification can now contribute to the extensions map of the error

This is breaking in the sense that new data will arrive on error object that was not present before.

Some would argue that this is not a breaking change but we are being conservative here.

#1536 Directive Wiring will be called for all directives

Previously a directive schema wiring would only be called back if the element had the named directive on it. This has been changed to that there is not a class of registration where a directive schema wiring can be called back for all elements regardless of whether they have a directive or not

The breaking change is now that the arguments passed into a SchemaDirectiveWiring can now be null at certain times whereas before it could never be null

#1540 DirectivesContainer no longer inherits from NamedNode

Not all AST elements that can have directives are actually NamedNodes so this has been changed

#1546 Pluggable type comparators

SchemaPrinterComparatorRegistry has been renamed as GraphqlTypeComparatorRegistry and applies to a wider aspect than just in schema printing.

You can now have one on at the schema level and decide how types get sorted in all contexts including Introspection and Schema printing.

All breaking changes

https://github.com/graphql-java/graphql-java/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A13.0+is%3Aclosed+label%3A%22breaking+change%22

Other changes

#1567 A list of DataFetcherResult can now be returned

Previously one could return a DataFetcherResult (with data, local context and possible errors) from a field fetch call

Now you return a List of DataFetcherResult objects (for list types) so that each item in the list gets its own data, local context and possible errors.

#1513 Line numbers are off by one

Previously syntax errors ;line numbers might be off by one. This was due to confusion between zero based offsets and ones based offsets in ANTLR - this has been fixed

#1493 A CacheControl instance is always seeded into ExecutionInput

#1487 containsAllOf and containsAnyOf has been added to DataFetcherSeletionSet

This makes it a bit easier to decide if sub selected fields are present

#1491 ExecutionResult can now programmatically tell you if a data element is present

#1393 You can get the runtime directives that are present on a query field

We now generate filled outgraphql.schema.GraphQLDirective objects for the directives on a field at fetch time.

All changes

https://github.com/graphql-java/graphql-java/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed+milestone%3A13.0+

Assets 2
You can’t perform that action at this time.