@mjmahone mjmahone released this Aug 30, 2018 · 76 commits to master since this release

Assets 2

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)