Releases: graphql/graphql-js
Releases · graphql/graphql-js
v14.3.1
14.3.1 (2019-05-23)
Bug Fix 🐞
- #1809 buildClientSchema: include standard type only if it is used (@IvanGoncharov)
Polish 💅
19 PRs were merged
- #1899 findBreakingChanges: Add new tests to improve coverage (@IvanGoncharov)
- #1898 findBreakingChanges: simplify checking of wrapped types (@IvanGoncharov)
- #1897 findBreakingChanges-test: Remove unnecessary fields (@IvanGoncharov)
- #1896 findBreakingChanges: Correctly document not reachable statement (@IvanGoncharov)
- #1895 findBreakingChanges: Remove 'export' from internal functions (@IvanGoncharov)
- #1893 findBreakingChanges: test only functions that are part of public API (@IvanGoncharov)
- #1891 findBreakingChanges-test: remove unneeded 'Query' types (@IvanGoncharov)
- #1888 Enable 'no-prototype-builtins' ESLint rule (@IvanGoncharov)
- #1887 Enable "no-case-declarations" ESLint rule (@IvanGoncharov)
- #1885 Explicitly create Promise using "Promise.resolve" (@IvanGoncharov)
- #1884 memoize3: Explicitly pass arguments (@IvanGoncharov)
- #1883 Enable "no-sequences" ESLint rule (@IvanGoncharov)
- #1882 Enable 'prefer-promise-reject-errors' ESLint rule (@IvanGoncharov)
- #1881 Partly fix results of "sketchy-null-mixed" Flow check (@IvanGoncharov)
- #1880 Enable "sketchy-null-mixed" Flow check (@IvanGoncharov)
- #1879 Use "isPromise" instead of testing for 'then' property (@IvanGoncharov)
- #1866 Enable Flow in "visitor-test.js" (@IvanGoncharov)
- #1865 Enable Flow on "subscribe-test.js" (@IvanGoncharov)
- #1863 Fix some typos in stripIgnoredCharacters docs+tests (@Cito)
Internal 🏠
15 PRs were merged
- #1892 build: Add new lines to ".js" and ".mjs" files (@IvanGoncharov)
- #1886 Remove TODO on "no-warning-comments" ESLint rule (@IvanGoncharov)
- #1877 Rename 'fs-utils.js' to 'utils.js' (@IvanGoncharov)
- #1875 Enable prettier for "resources/*.js" files (@IvanGoncharov)
- #1876 inline-invariant: use template instead of AST (@IvanGoncharov)
- #1874 Enable "no-inner-declarations" rule on "resources/*.js" files (@IvanGoncharov)
- #1873 Fix lint issues in 'resources/*.js' files (@IvanGoncharov)
- #1872 Replace all "var" with "const" & "let" in "resources/*.js" files (@IvanGoncharov)
- #1871 Lint JS files inside "resources" folder (@IvanGoncharov)
- #1870 Add missing "use strict" (@IvanGoncharov)
- #1869 ESLint: remove useless "parserOptions" options (@IvanGoncharov)
- #1868 Add missing "@noflow" (@IvanGoncharov)
- #1867 ESLint: Simplify exclude for "no-restricted-syntax" rule (@IvanGoncharov)
- #1864 Drop parser option since Prettier supports Flow by default (@IvanGoncharov)
- #1855 Add 'yarn check --integrity' to CI tests (@IvanGoncharov)
Committers: 2
- Christoph Zwerschke (@Cito)
- Ivan Goncharov (@IvanGoncharov)
v14.3.0
14.3.0 (2019-05-07)
New Feature 🚀
- #1802 Add stripIgnoredCharacters utility function (@IvanGoncharov)
Bug Fix 🐞
- #1837 isSpecifiedDirective should not assume Directive type (@Cito)
- #1825 Add missing exports for createLexer, syntaxError and locatedError (@IvanGoncharov)
Polish 💅
8 PRs were merged
- #1850 Add comment to make test better understandable (@Cito)
- #1848 Remove Flow workaround for const arguments (@IvanGoncharov)
- #1840 ESLint: enable 'arrow-body-style' rule (@IvanGoncharov)
- #1836 Use Flow shortcut for importing types and enable related ESLint rules (@IvanGoncharov)
- #1834 Flow: Enable "sketchy-number" lint rule (@IvanGoncharov)
- #1832 show flow warnings and fixes all reported ones (@IvanGoncharov)
- #1826 Synchronise and fix styling of "index.js" files (@IvanGoncharov)
- #1810 buildSchema/extendSchema: test standard scalars (@IvanGoncharov)
Internal 🏠
13 PRs were merged
- #1851 nyc: Switch config from JSON to YAML and move args from package.json (@IvanGoncharov)
- #1845 Adapt benchmark to the new build script (@IvanGoncharov)
- #1844 Correctly trap errors in shell scripts (@IvanGoncharov)
- #1843 Fix "npm run build" on Node 10 (@IvanGoncharov)
- #1842 Terminate shell scripts if any subcomand terminated (@IvanGoncharov)
- #1841 Make single 'build.js' to handle NPM package build (@IvanGoncharov)
- #1839 ESLint: enable all low-hanging rules and mark rest as TODO (@IvanGoncharov)
- #1838 Mark all ESLint rules that conflict with Prettier (@IvanGoncharov)
- #1833 List Flow lint rules and enable low-hanging fruits (@IvanGoncharov)
- #1831 Speed up flow check (@IvanGoncharov)
- #1829 ci: add Node v12 (@IvanGoncharov)
- #1828 build: generalize ignore patter to include all '*' dirs (@IvanGoncharov)
- #1822 Add 'package-lock.json' to ignored files (@IvanGoncharov)
Committers: 2
- Christoph Zwerschke (@Cito)
- Ivan Goncharov (@IvanGoncharov)
v14.2.1
14.2.1 (2019-03-31)
Bug Fix 🐞
- #1808 buildClientSchema: Revert breaking change introduced in #1677 (@IvanGoncharov)
v14.2.0
14.2.0 (2019-03-26)
Note: Updating to this release can cause new Flow errors since it adds Flow typing for print
function that was missing in previous versions.
New Feature 🚀
- #1331 Add 'toConfig' methods to all type system definitions objects (@IvanGoncharov)
- #1332 Allow to override default type resolver (@IvanGoncharov)
Bug Fix 🐞
- #1792 Duplicate fields in deep inputs not validated properly (#1791) (@Cito)
- #1724 Add missing toStringTag to GraphQLList and GraphQLNonNull (@IvanGoncharov)
- #1554 Improve error message for missing required argument in field or directive (@everdimension)
- #1707 printSchema: Fix printing of empty types (@IvanGoncharov)
- #1702 Add missing Flow typing for 'print' function (@IvanGoncharov)
- #1698 Fix missing schema's astNode when schema was defined inside extension (@IvanGoncharov)
- #1600 Inspect non-error types to produce helpful error messages for failing resolvers (@kommander)
Docs 📝
- #1679 Documentation for explicitly mentioning ObjectTypes (@buoyantair)
Polish 💅
42 PRs were merged
- #1798 Rename 'MaybePromise' to 'PromiseOrValue' (@IvanGoncharov)
- #1785 Fix test case description (@IvanGoncharov)
- #1670 Remove year from LICENSE headers (@IvanGoncharov)
- #1782 Fix grammar in error message (@Cito)
- #1781 Add directive predicates tests and fix test names (@Cito)
- #1778 Minor spelling errors in PossibleTpyeExtensions (@Cito)
- #1772 fix out of range return check for charCodeAt in lexer (NaN instead of null) (@superhawk610)
- #1767 Use non-capturing group inside RegExp (@IvanGoncharov)
- #1764 Minor code simplification in validation rules (@Cito)
- #1765 Fix validator test names (@Cito)
- #1763 Fix typos in UniqueOperationTypes test (@Cito)
- #1758 Tests: 'expect(...).to.eql' => 'expect(...).to.deep.equal' (@IvanGoncharov)
- #1757 GraphQLError: don't wrap single node in array (@IvanGoncharov)
- #1756 Speedup parser (~50%) by using 'slice' and 'charCodeAt' directly (@IvanGoncharov)
- #1736 Speedup visitor test on kitchenSinkQuery (@IvanGoncharov)
- #1735 Simplify checking of args inside visitor tests (@IvanGoncharov)
- #1734 Use AST abbreviation consistently (@IvanGoncharov)
- #1733 General cleanup of definition tests (@IvanGoncharov)
- #1730 Allow for long string literals inside tests (@IvanGoncharov)
- #1729 Remove useless positive isTypeOf tests, since this function is optional (@IvanGoncharov)
- #1728 Unwrap type definition tests (@IvanGoncharov)
- #1725 Group type definitions tests by type kind (@IvanGoncharov)
- #1723 Move 'Object.toString' tests to the appropriate files (@IvanGoncharov)
- #1722 Remove duplicating NonNull test (@IvanGoncharov)
- #1719 Move schema related test to "schema-test.js" + cleanup (@IvanGoncharov)
- #1718 Make all "not reachable" look and work the same (@IvanGoncharov)
- #1717 NonNull tests: Use SDL to create test schema (@IvanGoncharov)
- #1711 tests: remove useless parseLiteral & parseValue callbacks (@IvanGoncharov)
- #1710 Simplify "Type Map: includes input types only used in directives" test (@IvanGoncharov)
- #1709 Parser: use "any" util fn to parse object literal (@IvanGoncharov)
- #1708 buildASTSchema: test building of empty types (@IvanGoncharov)
- #1706 Cleanup unnecessary Query types from printSchema tests (@IvanGoncharov)
- #1705 Use isLeafType instead of isEnumType & isScalarType combo (@IvanGoncharov)
- #1697 Remove Flow workaround in buildASTSchema (@IvanGoncharov)
- #1673 Disable coverage on deprecated 'isValidJSValue' function (@IvanGoncharov)
- #1686 Add polyfill for 'flatMap' (@IvanGoncharov)
- #1684 extract flatMap function out of extendSchema implementation (@IvanGoncharov)
- #1681 Remove excessive cache inside lexicographicSortSchema (@IvanGoncharov)
- #1678 buildClientSchema: move inner functions to follow return (@IvanGoncharov)
- #1677 Remove excessive cache inside buildClientSchema (@IvanGoncharov)
- #1672 Remove useless if inside 'getAllSubNodes' function (@IvanGoncharov)
- #1547 Parser: Better names for parser util functions (@IvanGoncharov)
Internal 🏠
17 PRs were merged
- #1795 Switch 'check-cover' to use Flow's 'batch-coverage' cmd (@IvanGoncharov)
- #1777 Prettier: normalize line ending to git standard (@IvanGoncharov)
- #1766 Update ESLint to 5.15 (@IvanGoncharov)
- #1750 Simplify benchmark by using more low-level API from 'benchmark.js' (@IvanGoncharov)
- #1748 Inline 'beautify-benchmark' + heavy refactoring (@IvanGoncharov)
- #1747 Use ESLint cache for local development (@IvanGoncharov)
- #1746 Use ESLint cache to speedup watch (@IvanGoncharov)
- #1745 Do not run duplicating parser step on watch (@IvanGoncharov)
- [#1744](https://github.com/graphql/graphql-js/p...
v14.1.1
v14.1.0
New:
Fixes:
v14.0.2
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
v14.0.0
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, andProvidedNonNullArguments
becameProvidedRequiredArguments
(#1274) - Stricter coercion of Scalar Types (#1382)
- Removes deprecated Introspection fields
onOperation
,onFragment
, andonField
(#1385, #1429) GraphQL*Config
are now exact types (#1391, #1443)- "Schema Change" keys in
BreakingChangeType
andDangerousChangeType
for detecting adding args and input fields changed name (#1492) formatError
API changed for error message extensions. To upgrade without changing existing server responses, wrapgraphql
'sformatError
:
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
andisTypeSystemDefinitionNode
(#1459) isRequiredArgument
andisRequiredInputField
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
v14.0.0-rc.2
Breaking change reverted:
- Allows Interfaces to have no implementing Objects (#1376)