Skip to content

Releases: webonyx/graphql-php

v14.1.1

21 Jul 17:40
Compare
Choose a tag to compare

Fixes:

  • Handle nullable DirectiveNode#astNode in SchemaValidationContext (#708)

v14.1.0

21 Jul 11:23
Compare
Choose a tag to compare

New:

  • Add partial parse functions for const variants (#693)

Fixes:

  • Differentiate between client-safe and non-client-safe errors in scalar validation (#706)
  • Proper type hints for IntValueNode (#691)

Refactoring:

  • Ensure NamedTypeNode::$name is always a NameNode (#695)
  • Visitor: simplify getVisitFn (#694)
  • Replace function calls with type casts (#692)
  • Fix "only booleans are allowed" errors (#659)

v14.0.2

07 Jul 16:25
Compare
Choose a tag to compare
  • Optimize lazy types (#684)

v14.0.1

02 Jul 06:00
Compare
Choose a tag to compare

Bug fixes:

  • Fix for "Invalid AST Node: false" error (#685)
  • Fix for: Argument defaults with integer/float values crashes introspection query (#679)
  • Fix double Error wrapping when parsing variables (#688)

Refactoring:

  • Do not use call_user_func or call_user_func_array (#676)
  • Codestyle and static analysis improvements (#648, #690)

v0.13.9

02 Jul 05:51
d9a94fd
Compare
Choose a tag to compare
  • Fix double error wrapping (#689)

v14.0.0

21 Jun 12:57
Compare
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
Compare
Choose a tag to compare
  • Don't call global field resolver on introspection fields (#481)

v0.13.7

23 Aug 08:31
Compare
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
Compare
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
Compare
Choose a tag to compare
  • Fix coroutine executor when using with promise (#486)