graphql-php/CHANGELOG.md
2017-08-20 23:15:22 +07:00

4.0 KiB

Changelog

v0.10.0

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

New features and notable changes:

  • Changed minimum PHP version from 5.4 to 5.5
  • Lazy loading of types without separate build step (see #69, see docs)
  • PSR-7 compliant Standard Server (see docs)
  • New default error formatting, which does not expose sensitive data (see docs)
  • Ability to define custom error handler to filter/log/re-throw exceptions after execution (see docs)
  • Allow defining schema configuration using objects with fluent setters vs array (see docs)
  • Allow serializing AST to array and re-creating AST from array lazily (see docs)
  • Apollo-style query batching support via server (see docs)

Improvements:

  • Significantly improved parser performance (see #137 and #128)
  • Support for PHP7 exceptions everywhere (see #127)
  • Ability to pass custom config formatter when defining schema using GraphQL type language (see docs)
  • Improved documentation and docblock comments

Deprecations and breaking changes - see UPGRADE document.

v0.9.14

  • Minor change to assist DataLoader project in fixing #150

v0.9.13

  • Fixed PHP notice and invalid conversion when non-scalar value is passed as ID or String type (see #121)

v0.9.12

  • Fixed bug occurring when enum value is bool, null or float (see #141)

v0.9.11

  • Ability to disable introspection (see #131)

v0.9.10

  • Fixed issue with query complexity throwing on invalid queries (see #125)
  • Fixed "Out of memory" error when resolveType returns unexpected result (see #119)

v0.9.9

  • Bugfix: throw UserError vs InvariantViolationError for errors caused by client (see #123)

v0.9.8

  • Bugfix: use directives when calculating query complexity (see #113)
  • Bugfix: AST\Node::__toString() will convert node to array recursively to encode to json without errors

v0.9.7

  • Bugfix: ResolveInfo::getFieldSelection() now correctly merges fragment selections (see #98)

v0.9.6

  • Bugfix: ResolveInfo::getFieldSelection() now respects inline fragments

v0.9.5

  • Fixed SyncPromiseAdapter::all() to not change the order of arrays (see #92)

v0.9.4

  • Tools to help building schema out of Schema definition language as well as printing existing schema in Schema definition language (see #91)

v0.9.3

  • Fixed Utils::assign() bug related to detecting missing required keys (see #89)

v0.9.2

  • Schema Definition Language: element descriptions can be set through comments (see #88)

v0.9.1

  • Fixed: GraphQL\Server now properly sets promise adapter before executing query

v0.9.0

  • Deferred resolvers (see #66, see docs)
  • New Facade class with fluid interface: GraphQL\Server (see #82)
  • Experimental: ability to load types in Schema lazily via custom TypeResolutionStrategy (see #69)

v0.8.0

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

New features:

  • Support for null value (as required by latest GraphQL spec)
  • Shorthand definitions for field and argument types (see #47)
  • path entry in errors produced by resolvers for better debugging
  • resolveType for interface/union is now allowed to return string name of type
  • Ability to omit name when extending type class (vs defining inline)

Improvements:

  • Spec compliance improvements
  • New docs and examples

Older versions

Look at Github Releases Page.