GraphQL is a working draft specification, initially released as a technical
preview. In September 2016 the technical preview verbiage was removed [ba1bbe5]
in recognition of GraphQL being used in production by companies large and small.
The October 2016 edition of the GraphQL specification is the first since this
announcement and represents the latest draft of the specification. It is also
the first in a planned 6-month release cycle.
Many thanks to everyone who contributed to this release.
These are syntactic rules or semantic behavior which are different from the
previous version. GraphQL service libraries should ensure these incorporated.
- [#229] New Validation Rule: Unique directives per location.
- [#83] New Literal Value:
- [#221] Arguments enforce Non-Null types with field errors, and Variables and
Arguments distinguish between
nulland not-provided when applying default values.
- [#191] JSON object serialization should order keys in a predictable way.
These are clarifications and improvements to the specification which in many
cases make ambiguous sections more explicit. GraphQL service libraries should
check to ensure their behavior matches the specifiction.
- [c9b6827] Better explanation of interpreting escape sequences in strings.
- [f42dab5] Explain when build-in scalars can be omitted from a schema.
- [79caa41] Use
0x1234to refer to unicode code points.
- [#221] Adds full algorithm definitions for Execution.
- [#219] Ensure
|is included as a possible Punctuator.
- [#213] Clarify how to coerce
nullfor List types.
- [#177] Fix issue with value completion for objects with sub-selections.
-  Object and Interfaces must declare at least one field.
- [7c36326] Removed reference to experimental subscriptions feature.
Note: Many grammar and consistency commits were provided by the community, but
only changes notable for their clarification of ambiguity were listed.