Skip to content

Releases: graphql/graphql-js

v14.1.1

16 Jan 19:24
Compare
Choose a tag to compare

Fixes:

v14.1.0

15 Jan 23:14
Compare
Choose a tag to compare

New:

  • Added assertSchema and assertDirective (#1580)
  • Adds additional type extension validation (#1643)

Fixes:

  • Improves flow type definitions
  • Adds back in support for node 9, and tests for node 11. node >= 6 is currently supported.
  • Allows custom node inspect (#1605)
  • Correctly handles newlines in block strings (#1637)

v14.0.2

06 Sep 21:09
Compare
Choose a tag to compare

Fixes:

  • No longer presents warnings when used with node v7 and v9 (#1508)
  • Added keywords to the NPM package (#1501)
  • ValidationRule flow type is now exported (#1505)
  • Improved schema validation reports directives without locations (#1507)
  • Fixed potential infinite loop during introspection of some schema (#1509)

v14.0.1

06 Sep 21:29
Compare
Choose a tag to compare

(Something went wrong during release, this version has been unpublished)

v14.0.0

30 Aug 15:56
Compare
Choose a tag to compare

Thanks to all contributors for the hard work put into this release, which complies with the latest June 2018 version of the GraphQL Spec

Breaking:

  • Drops support for node v4 and v9, makes sure node v10 is supported (#1338, #1445)
  • Reject invalid scalar value coercion (#1365, #1336)
  • Removes VariablesDefaultValueAllowed validation rule, and ProvidedNonNullArguments became ProvidedRequiredArguments (#1274)
  • Stricter coercion of Scalar Types (#1382)
  • Removes deprecated Introspection fields onOperation, onFragment, and onField (#1385, #1429)
  • GraphQL*Config are now exact types (#1391, #1443)
  • "Schema Change" keys in BreakingChangeType and DangerousChangeType for detecting adding args and input fields changed name (#1492)
  • formatError API changed for error message extensions. To upgrade without changing existing server responses, wrap graphql's formatError:
import { formatError as baseFormatError, /* ... */ } from 'graphql';

{
  // other options
  formatError(error) {
    const { extensions, ...rest } = baseFormatError(error);
    return { ...extensions, ...rest };
  },
}

New:

  • Parse new schema extensions (#1314, #1323)
  • Export SDL AST types (#1315)
  • extendSchema extended with spec-compliant SDL extensions (#1373, #1392, #1441)
  • symbol.toStringTag support (#1297)
  • Expose getOperationRootType(schema, operationAST) (#1345)
  • Package is marked as side-effect free (#1312)
  • validateSchema works with Schema extensions (#1410)
  • validate works on SDL definitions (#1438, #1383)
  • directives can be added to variable definitions, behind experimentalVariableDefinitionDirectives flag (#1437, #1454)
  • ASTNode predicates, like isDefinitionNode and isTypeSystemDefinitionNode (#1459)
  • isRequiredArgument and isRequiredInputField predicates (#1463)

Fixed:

  • Fixes for custom enum types
  • Prettier, Flow and eslint upgrades (#1304, #1319)
  • Babel 7 upgrade (#1350)
  • Introspection query perf improved (#1329)
  • introspectionFromSchema has default options (#1408)
  • buildSchema memory leaks and infinite recursion fixed (#1417, #1427)
  • watch command fixed (#1449)
  • Benchmarking for validation (#1471)

Deprecated:

These will be removed in v15

  • introspectionQuery, use getIntrospectionQuery (#1386)
  • getDescription, use the schema AST node to get descriptions (#1396)
  • isValidJSValue, use coerceValue (#1386)
  • isValidLiteralValue, use validation (#1386)

v14.0.0-rc.2

08 Jun 20:58
9925e50
Compare
Choose a tag to compare
v14.0.0-rc.2 Pre-release
Pre-release

Breaking change reverted:

  • Allows Interfaces to have no implementing Objects (#1376)

v14.0.0-rc.1

08 Jun 04:34
84f41aa
Compare
Choose a tag to compare
v14.0.0-rc.1 Pre-release
Pre-release

NOTE
This is a pre-release. There is a high likelihood there will be more breaking changes introduced prior to the 14.0.0 release.

Breaking:

  • Drops support for node v4, makes sure node v10 is supported (#1338)
  • Reject invalid scalar value coercion (#1365, #1336)
  • Removes VariablesDefaultValueAllowed validation rule, and ProvidedNonNullArguments became ProvidedRequiredArguments (#1274)
  • Requires Interfaces to have at least on implementing Object

New:

  • Parse new schema extensions (#1314, #1323)
  • Export SDL AST types (#1315)
  • extendSchema extended with spec-compliant SDL extensions (#1373)
  • symbol.toStringTag support (#1297)
  • Expose getOperationRootType(schema, operationAST) (#1345)
  • Package is marked as side-effect free (#1312)

Fixed:

  • Fixes for custom enum types
  • Prettier, Flow and eslint upgrades (#1304, #1319)
  • Babel 7 upgrade (#1350)
  • Introspection query perf improved (#1329)

v0.13.2

16 Mar 20:59
Compare
Choose a tag to compare

New:

  • Allow buildSchema() to take options (#1249)
  • Update to Flow v0.68 (#1290)

Fixes:

  • Update iterall (#1254)
  • buildSchema: Make options optional (#1270)

v0.13.1

15 Feb 22:33
Compare
Choose a tag to compare

New:

  • Publish .mjs files for module code to support native esmodules (#1244)
  • Interface type definitions may now be extended with extendSchema (#1222)
  • isValidNameError utility is now exported as a non-throwing alternative to assertValidName (#1237)
  • ExectuableDefinitionNode Flow type is now exported (#1241)

Fixes:

  • extendSchema now preserves (and allows extending) a list of legacy field names which would otherwise be considered invalid (#1235)
  • Replaced a misplaced licensing header (7e68984)

v0.13.0

07 Feb 19:11
Compare
Choose a tag to compare

Breaking:

  • Updated to latest spec for SDL for multiple interface implementations (#1169)

    To continue to support the pre-spec variation, use parse(text, {allowLegacySDLImplementsInterfaces: true})

  • Internal module 'graphql/language/kinds' no longer directly exports enum values #1221

    Not that you were relying on internal modules, were you :)

New:

  • getDescription helper function is now exported (#1165)
  • Allows parsing pre-spec object type SDL with parse(text, {allowLegacySDLEmptyFields: true}) (#1171)
  • Add introspectionFromSchema utility function (#1187)
  • Add lexicographicSortSchema utility function (#1208) (#1220)
  • Allow use of legacy names during schema validation with {allowedLegacyNames: ['__badName']} (#1194)

Fixed:

  • Only trigger "one instance of graphql" error in DEV environments, removing false errors from minified bundles. (#1174)
  • Fix 'astFromValue' to correctly handle integers and strings (#1181)
  • Fix getTypeMap() not including input types used in directives (#1189)
  • Support executeSync with mutations. (#1198)
  • Fix block string printing edge cases (#1190, #1212)
  • Fix SourceLocation incorrect export causing rollup bundling to fail (#1210)
  • Preserve allowedLegacyNames when using extendSchema (#1226) (added since v0.13.0-rc.1)