graphql-php/CHANGELOG.md

92 lines
4.4 KiB
Markdown
Raw Normal View History

2017-08-20 19:15:22 +03:00
# Changelog
## v0.10.0
This release brings several breaking changes. Please refer to [UPGRADE](UPGRADE.md) 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](http://webonyx.github.io/graphql-php/type-system/schema/#lazy-loading-of-types))
- PSR-7 compliant Standard Server (see [docs](http://webonyx.github.io/graphql-php/executing-queries/#using-server))
- New default error formatting, which does not expose sensitive data (see [docs](http://webonyx.github.io/graphql-php/error-handling/))
- Ability to define custom error handler to filter/log/re-throw exceptions after execution (see [docs](http://webonyx.github.io/graphql-php/error-handling/#custom-error-handling-and-formatting))
- Allow defining schema configuration using objects with fluent setters vs array (see [docs](http://webonyx.github.io/graphql-php/type-system/schema/#using-config-class))
- Allow serializing AST to array and re-creating AST from array lazily (see [docs](http://webonyx.github.io/graphql-php/reference/#graphqlutilsast))
- [Apollo-style](https://dev-blog.apollodata.com/query-batching-in-apollo-63acfd859862) query batching support via server (see [docs](http://webonyx.github.io/graphql-php/executing-queries/#query-batching))
- Schema validation, including validation of interface implementations (see [docs](http://webonyx.github.io/graphql-php/type-system/schema/#schema-validation))
- Ability to pass custom config formatter when defining schema using [GraphQL type language](http://graphql.org/learn/schema/#type-language) (see [docs](http://webonyx.github.io/graphql-php/type-system/type-language/))
2017-08-20 19:15:22 +03:00
Improvements:
- Significantly improved parser performance (see #137 and #128)
- Support for PHP7 exceptions everywhere (see #127)
- Improved [documentation](http://webonyx.github.io/graphql-php/) and docblock comments
Deprecations and breaking changes - see [UPGRADE](UPGRADE.md) 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](docs/data-fetching.md#solving-n1-problem))
- 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](UPGRADE.md) 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](https://github.com/webonyx/graphql-php/releases).