Releases: graphql/graphql-js
Releases · graphql/graphql-js
v0.4.16
v0.4.15
New:
- The full GraphQL API is now exported from the top module. If you're building a tool that uses GraphQL.js, hopefully this makes it easier to import and use utilities in this library. (4547904)
- Clearer error messages:
- When a requested field cannot be found on an interface or union, we'll suggest an inline fragment. (#282)
- When a variable isn't used, we'll include the name of the query that defined it.
- When a field typed as
List
returns something that is not a list, the error will include the name of the type and field. (#276) - When an input type includes unknown information, ensure it's name is printed. (#261)
v0.4.14
New:
- Original errors can now be retrieved from any GraphQLError with
error.originalError
#251. visitWithTypeInfo
now supports visitors which edit or break-early.visitInParallel
now experimentally supports visitors which edit or break-early.
Fixes:
- No longer allows 52-bit integers, instead requiring 32-bit values as per the spec.
- No more false-positive validation errors when validating a query which contains experimental type definitions #255.
visitInParallel
now correctly skips subtrees when a visitor returns false #254.- Release now uses babel-runtime again, broken in 0.4.13, #246.
v0.4.13
New:
import { extendSchema } from 'graphql/utilities
allows extending an existing schema with the GraphQL type definition language (#227)- When an Object type implements an Interface type, a field on the Object type can return a more specific type than the same field defined on the Interface type. This "covariant return types" is now also defined in the GraphQL Spec (#239)
- Loosens the rule which requires overlapping fields to be unambiguously merged in the case that two same-named fields are statically known to not overlap due to being conditional to different types. This rule change has also been reflected in the GraphQL Spec (#229)
- Removes the rule which requires overlapping fields to have equivalent directives. This rule change has also been reflected in the GraphQL Spec (#230)
- Validation now ~25-30x faster due to a number of improvements including simplifications, algorithm improvements, memoization, and running validation rules in parallel.
- Parallelizing rules will change the order in which validation errors are reported within a file.
Fixes:
- Fixes issues when used in a Babel 6 environment (#228)
- Validation error of incorrect variable placement now includes a reference to the variable definition for easier debugging.
- Validation errors of ambiguous overlapping fields now includes clearer non-interleaved references to the overlapping fields.
- Input object validation errors now include more accurate error messages documenting which input object field contains the error (#204)
v0.4.12
v0.4.11
v0.4.10
New:
buildClientSchema()
now supports deprecated fields #216- Custom directives now supported by GraphQLSchema #215
concatAST()
utility added, which helps support validation of graphql fragments spread across multiple sources (3a6b4d1)
Fixes:
- Nested input objects with similarly named keys could falsely fail validation #206
v0.4.9
New
- Broadened legal use of interfaces to allow for additional arguments on implementing fields (see graphql/graphql-spec#110)