Skip to content

Commit 87fe01b

Browse files
committed
add draft
1 parent 7875552 commit 87fe01b

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# What's New in graphql-js v17?
2+
3+
## Specification Changes
4+
5+
### New Experimental Features
6+
7+
#### Experimental Support for Incremental Delivery
8+
9+
- enabled only when using `experimentalExecuteIncrementally()`, use of a schema or operation with `@defer`/`@stream` directives within `execute()` will now throw.
10+
- enable early execution with the new `enableEarlyExecution` configuration option for `experimentalExecuteIncrementally()`.
11+
12+
#### Experimental Support for Fragment Arguments
13+
14+
- enable with the new `experimentalFragmentArguments` configuration option for `parse()`.
15+
- new experimental `Kind.FRAGMENT_ARGUMENT` for visiting
16+
- new experimental `TypeInfo` methods and options for handling fragment arguments.
17+
- coerce AST via new function `coerceInputLiteral()` with experimental fragment variables argument (as opposed to deprecated `valueFromAST()` function).
18+
19+
### Clarifications
20+
21+
- Fix ambiguity around when schema definition may be omitted (#3839)
22+
- No reusing root types (#3453)
23+
24+
## New API features
25+
26+
- Use `coerceInputLiteral()` instead of `valueFromAST()`.
27+
- Support for resolver functions returning async iterables.
28+
- Expose `printDirective()` helper function.
29+
30+
## API Changes:
31+
32+
- Changes to the `subscribe()` function:
33+
- `subscribe()` may now return a non-promise.
34+
- When a subscription root field errors, `subscribe()` now returns a well-formatted `GraphQLError` rather than throwing.
35+
- Properly type `IntrospectionType` using `TypeKind` Enum.
36+
37+
## Deprecations
38+
39+
- `valueFromAST()` is deprecated, use `coerceInputLiteral()` instead.
40+
41+
## Removals
42+
43+
- Removed deprecated `graphql/subscription` module, use `graphql/execution` instead
44+
- Removed deprecated `getOperationRootType()` #3571, use `schema.getRootType()` instead.
45+
- Remove deprecated `assertValidName()` and `isValidNameError()`, use `assertName()` instead.
46+
- Removed deprecated custom `TypeInfo` argument for `validate()`.
47+
- Remove deprecated custom `getFieldDefFn()` argument for `TypeInfo` constructor. To customize field resolution, one can subclass the `GraphQLSchema` class and override the `getField()` method.
48+
- Remove deprecated positional arguments for the `GraphQLError` constructor.
49+
- Remove deprecated distinct Enum types: `KindEnum`, `TokenKindEnum`, and `DirectiveLocationEnum`.
50+
- Remove deprecated `getVisitFn()` helper function, use `getEnterLeaveForKind()` instead.
51+
- Remove deprecated `formatError()` and `printError()` helper sfunctions, use `error.toString()` and `error.toJSON()` methods instead.
52+
- Remove deprecated positional arguments for `createSourceEventStream()`.

0 commit comments

Comments
 (0)