Skip to content

Releases: webonyx/graphql-php

v0.13.9

02 Jul 05:51
d9a94fd

Choose a tag to compare

  • Fix double error wrapping (#689)

v14.0.0

21 Jun 12:57

Choose a tag to compare

This release brings several breaking changes. Please refer to UPGRADE document for details.

  • BREAKING/BUGFIX: Strict coercion of scalar types (#278)
  • BREAKING/BUGFIX: Spec-compliance: Fixed ambiguity with null variable values and default values (#274)
  • BREAKING: Removed deprecated directive introspection fields (onOperation, onFragment, onField)
  • BREAKING: GraphQL\Deferred now extends GraphQL\Executor\Promise\Adapter\SyncPromise
  • BREAKING: renamed several types of dangerous/breaking changes (returned by BreakingChangesFinder)
  • BREAKING: Renamed GraphQL\Error\Debug to GraphQL\Error\DebugFlag.
  • BREAKING: Debug flags in GraphQL\Executor\ExecutionResult, GraphQL\Error\FormattedError and GraphQL\Server\ServerConfig do not accept boolean value anymore but int only.
  • BREAKING: $positions in GraphQL\Error\Error constructor are not nullable anymore. Same can be expressed by passing an empty array.

Notable features and improvements:

  • Compliant with the GraphQL specification June 2018 Edition
  • Support repeatable directives (#643)
  • Perf: support lazy type definitions (#557)
  • Simplified Deferred implementation (now allows chaining like promises, #581)
  • Support SDL Validation and other schema validation improvements (e.g. #492)
  • Added promise adapter for Amp (#551)
  • Query plan utility improvements (#513, #632)

Other noteworthy changes:

  • Allow retrieving query complexity once query has been completed (#316)
  • Allow input types to be passed in from variables using \stdClass instead of associative arrays (#535)
  • Support UTF-16 surrogate pairs within string literals (#554, #556)
  • Having an empty string in deprecationReason will now print the @deprecated directive (only a null deprecationReason won't print the @deprecated directive).
  • Deprecated Experimental executor (#397)

Also some bugs fixed, heavily investe in PHPStan for static analysis.

Special thanks to @simPod, @spawnia and @shmax for their major contributions!

v0.13.8

25 Aug 10:46

Choose a tag to compare

  • Don't call global field resolver on introspection fields (#481)

v0.13.7

23 Aug 08:31

Choose a tag to compare

  • Added retrieving query complexity once query has been completed (#316)
  • Allow input types to be passed in from variables using \stdClass instead of associative arrays (#535)

v0.13.6

07 Aug 08:17

Choose a tag to compare

  • QueryPlan can now be used on interfaces not only objects. (#495)
  • Array in variables in place of object shouldn't cause fatal error (fixes #467)
  • Scalar type ResolverInfo::getFieldSelection support (#529)

v0.13.5

12 Jun 07:31

Choose a tag to compare

  • Fix coroutine executor when using with promise (#486)

v0.13.4

13 May 07:13

Choose a tag to compare

  • Force int when setting max query depth (#477)

v0.13.3

11 May 07:49

Choose a tag to compare

  • Reverted minor possible breaking change (#476)

v0.13.2

10 May 06:05

Choose a tag to compare

  • Added QueryPlan support (#436)
  • Fixed an issue with NodeList iteration over missing keys (#475)

v0.13.1

09 Mar 15:36

Choose a tag to compare

  • Better validation of field/directive arguments
  • Support for Apollo-style client/server persisted queries
  • Minor tweaks and fixes