graphql-php

PHP implementation of the GraphQL specification based on the reference implementation in JavaScript

MIT License

Downloads
51.8M
Stars
4.6K
Committers
136

Bot releases are visible (Hide)

graphql-php - v14.3.0

Published by vladar about 4 years ago

New:

  • Allow typeLoader to return a type thunk (#687)

Fix:

  • Read getParsedBody() instead of getBody() when Request is ServerRequest (#715)
  • Fix default get/set behavior on InputObjectField and FieldDefinition (#716)
graphql-php - v14.2.0

Published by vladar about 4 years ago

Deprecates:

  • Public access to FieldDefinition::$type property (#702)

Fixes:

  • Fix validation for input field definition directives (#714)
graphql-php - v14.1.1

Published by vladar about 4 years ago

Fixes:

  • Handle nullable DirectiveNode#astNode in SchemaValidationContext (#708)
graphql-php - v14.1.0

Published by vladar about 4 years ago

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)
graphql-php - v14.0.2

Published by vladar over 4 years ago

  • Optimize lazy types (#684)
graphql-php - v14.0.1

Published by vladar over 4 years ago

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)
graphql-php - v0.13.9

Published by vladar over 4 years ago

  • Fix double error wrapping (#689)
graphql-php - v14.0.0

Published by vladar over 4 years ago

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!

graphql-php - v0.13.8

Published by vladar about 5 years ago

  • Don't call global field resolver on introspection fields (#481)
graphql-php - v0.13.7

Published by vladar about 5 years ago

  • 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)
graphql-php - v0.13.6

Published by vladar about 5 years ago

  • 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)
graphql-php - v0.13.5

Published by vladar over 5 years ago

  • Fix coroutine executor when using with promise (#486)
graphql-php - v0.13.4

Published by vladar over 5 years ago

  • Force int when setting max query depth (#477)
graphql-php - v0.13.3

Published by vladar over 5 years ago

  • Reverted minor possible breaking change (#476)
graphql-php - v0.13.2

Published by vladar over 5 years ago

  • Added QueryPlan support (#436)
  • Fixed an issue with NodeList iteration over missing keys (#475)
graphql-php - v0.13.1

Published by vladar over 5 years ago

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

Published by vladar almost 6 years ago

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

New features and notable changes:

  • PHP version required: 7.1+
  • Spec compliance: error category and extensions are displayed under extensions key when using default formatting (#389)
  • New experimental executor with improved performance (#314).
    It is a one-line switch: GraphQL::useExperimentalExecutor(). Please try it and post your feedback in https://github.com/webonyx/graphql-php/issues/397 (as it may become the default one in future)
  • Ported extendSchema from the reference implementation under GraphQL\Utils\SchemaExtender (#362)
  • Added ability to override standard types via GraphQL::overrideStandardTypes(array $types) (#401)
  • Added flag Debug::RETHROW_UNSAFE_EXCEPTIONS which would only rethrow app-specific exceptions (#337)
  • Several classes were renamed (see UPGRADE.md)
  • Schema Validation improvements
graphql-php - v0.12.6

Published by vladar about 6 years ago

  • Bugfix: Call to a member function getLocation() on null (#336)
  • Fixed several errors discovered by static analysis (#329)
graphql-php - v0.12.5

Published by vladar about 6 years ago

  • Execution performance optimization for lists
graphql-php - v0.12.4

Published by vladar over 6 years ago

  • Allow stringeable objects to be serialized by StringType (#303)
Package Rankings
Top 0.12% on Packagist.org
Top 6.72% on Proxy.golang.org
Badges
Extracted from project README
CI Coverage Status Latest Stable Version