Releases: graphql/graphql-js
Releases · graphql/graphql-js
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)
v0.4.8
v0.4.7
v0.4.6
Follows GraphQL October
New:
- Operations without names are accepted
- Inline fragments without type conditions are accepted
Fixes:
- Properly export getOperationAST utility from
graphql/utilities
v0.4.5
New:
- Resolvers can now return a JavaScript
Error
object to indicate resolution failure. They can also return Arrays where only certain indices containError
objects. (#178) - Unicode support clarified and restricted (#186)
getOperationAST()
utility added (f66ddf5)- Early error if deprecation API is misused. (#185)
- Clearer lex errors when encountering a non-printable character (#183)
Fixes:
- Built-in Scalars and Introspection types now have descriptions
- Input object duplicate values now parse correctly and are reported as validation errors (#184)