Skip to content

Releases: graphql/graphql-js

v0.9.4

28 Apr 00:06
Compare
Choose a tag to compare

New:

  • All validation rules are now exported directly (#808)

Fixes:

  • Fix flow issue with constructing new GraphQLError() (#829)

Spec Compliance:

  • Now throws error when building Enum with reserved words (#812)
  • Now throws error when building Union with multiple of the same type (#813)
  • Now throws error when building Object type implementing the same Interface more than once (#728)

v0.9.3

12 Apr 17:36
Compare
Choose a tag to compare

Fixes

  • Eliminate false positives reported by findArgChanges (#783).

v0.9.2

31 Mar 17:14
Compare
Choose a tag to compare

Breaking

  • Remove ambiguity in isLeafType check: it no longer performs named type unwrapping and is consistent with the other isCompositeType/isAbstractType checks (#697).

New

  • Make wording in error messages more consistent (#767).
  • Allow deprecated fields/values to be extended (#755).
  • Validation messages about names starting with double underscores are now use console.warn rather than console.error (#717).
  • Improved the error message for undefined field config (#702).
  • The findBreakingChanges validation now reports breaking changes made to arguments (#701).

Internal

  • Performance improvements to the separateOperations module (#710).
  • Improvements to Flow checking (#699) and type safety (#698).

v0.9.1

26 Jan 21:45
Compare
Choose a tag to compare

Fixes

  • Downgrade error to warning for non-spec-compliant use of non-meta fields starting with __ (#692).
  • Workaround for problem in some environments with reserved literals (such as default) being used as properties (#693).

v0.9.0

24 Jan 20:32
Compare
Choose a tag to compare

New:

  • Added isNamedType() and assertNamedType() #589
  • Default field resolvers now get full execution info as a third argument #615
  • ObjectType.isTypeOf() and InterfaceType.resolveType() may now return Promises #631
  • Support and fixes for flow type v0.38 #671
  • Added TypeInfo.getEnumValue() and EnumType.getValue(name) #674
  • Added findDeprecatedUsages() #676

Fixes:

  • Enforce spec that no non-meta field may start with "__" #600 (Potentially breaking for existing non-compliant uses).
  • isValidJSValue() reports if coercion results in error #602
  • Executor throws friendlier error if no document is provided #614
  • Fixed import circular dependency, improving compressed builds #644

v0.8.2

16 Nov 02:42
Compare
Choose a tag to compare

New:

  • assertXXXType() functions help ensure type-correct code using graphql (#570)
  • Added toJSON() and inspect() methods on all GraphQL types for easier debugging (#578)
  • ValidationContext types are exported (a17256b)

Fixes:

  • Differentiate between input values with no default and with null default (#569)
  • Improvements to Flow types in field resolvers (#573, #575, #577)

v0.8.1

11 Nov 21:55
Compare
Choose a tag to compare

Fixes:

  • Supports Flow v0.35
  • GraphQL parser now returns clearer error messages (07cc624)

v0.8.0

11 Nov 20:11
Compare
Choose a tag to compare

GraphQL.js v0.8.0 is now compliant with the most recent version of the GraphQL specification! This release is also the first to include flow types in the NPM package, which should make it easier to use GraphQL in a well typed way. It also includes many new utilities and small improvements. Thanks to everyone who helped with this release!

Breaking & Spec Changes:

  • A resolve function's info.path value is now a Linked List instead of an Array (#562)
  • A resolve function's info.fieldASTs value has been renamed to info.fieldNodes (#554)
  • formatError now includes the path of field errors (#561)
  • The most recent version of the GraphQL specification is more strict about field argument validation. (#553)
  • The most recent version of the GraphQL specification does not allow multiple directives of the same name in the same location (#552)

New:

  • GraphQL now supports a literal null value as a field argument. (#544)
  • Flow type definitions are now included in the NPM package! The names of many types were changed to be more descriptive. (#554, #526, #412)
  • printType lets you print a single GraphQL type using the experimental schema language (#558)
  • defaultResolver, the field resolver used when one is not provided, is now available (#527)

v0.7.2

11 Nov 19:57
Compare
Choose a tag to compare

New:

  • An Interface or Union's resolveType function may return a string type name instance of an instance (#509)
  • Adds utility for comparing schema for breaking changes (#508)

Fixes:

  • No longer includes holes in the locations of a GraphQL Error (#507)

v0.7.1

29 Sep 06:01
Compare
Choose a tag to compare

New:

  • Adds parseType method, which allows for parsing type references independently of whole GraphQL documents (#506)
  • Adds isDeprecated field to type definition API, making it easier to use within tools (#496 @asiandrummer)

Fixes:

  • Allows GraphQL Errors to be configurable, fixing compatibility issues with Bluebird Promises (#505 @darthtrevino)
  • Fix bug where locations go missing when the error comes from something at the beginning of the file (#487 @martijnwalraven)
  • Supports Promises-A (in addition to Promises-A+) which improves support with older libraries (#481)
  • No longer accept empty string as a valid Int/Float value. (#477 @robzhu)
  • Provide clearer error message when variables are provided as an unparsed string. (f2f3db5)