Releases: youshido-php/GraphQL
v1.7.0
- fix some README badges
- add a more robust implementation for
TypeService::getPropertyValue()
- fix PhpStorm inspection performance complaints
- fix a bug that prevented using
null
as a default value - add support for error extensions
- throw
ConfigurationException
when trying to add two types with the same name to the schema - add a
getImplementations()
method toAbstractInterfaceType
, can be used to properly discover all possible types during introspection - run Travis CI on PHP 7.2 and 7.3 too
- run phpstan static analysis (level 1 only) during Travis CI builds
- rename the
Tests
directory totests
for consistency with other projects - remove some obsolete documentation
v1.4.3.4: **Bug Fixes:**
v1.4.2.7: DateType + EnumType changes, Updates for October specs
Despite being a minor update this version might require you to change a few things in your code.
DateTimeType
andDateTimeTzType
types are now working properly and parsing your input string into the\DateTime
object in PHP. Also you can specify the exact format of theDateType
when creating a field in constructor (for examplenew DateTimeType("m/d/Y H:ia")
) .EnumType
now can returnnull
values as it is in the official JS library and properly usename
andvalue
if they are not equal (e.g.{value: 1, name: "ACTIVE"}
- All scalar types consider
null
values as valid values
Completely revamped Processor
This release doesn't break backward compatibility.
Completely revamped Processor, which now has the proper behaviour for nested structure including:
- Fragments on Unions and Interfaces
- NonNullable in different configurations, e.g. NonNull of List of NonNullable and so on
- Invalid queries like { user { name { } } } are now throwing proper errors
- Optional arguments now work correctly (but don't forget to list them with a null value, otherwise you will get an error according to the graphql spec)
- __typanme on
new NonNullType(new ObjectType())
now returns the correct name
All closed issues are covered with relevant unit tests.
Important Notice
Enum default value has to be set using the value
, not the name
part.
So the proper use would be:
'status' => [
'type' => new EnumType([
'name' => 'Statue',
'values' => [
[
'name' => 'ACTIVE',
'value' => 1
],
[
'name' => 'DELETED',
'value' => 2
]
]
]),
'defaultValue' => 1
],
v1.1.4.3
v1.1.4.2: Merge pull request #14 from roippi/master
allow default typeservice to resolve public fields on objects
Relay support and improved Schema structure
Current version brings relay support, 99% test coverage, improved Schema structure and performance improvement.
All changes are described in the Changelog-1.1. You can also look at Upgrade-1.1 to see how you can quickly update your current codebase.
Configuration validation improvements
v1.0.2 processor empty load fix
Refactored documentation
Refactored documentation
This version has updated documentation and slightly updated examples with InputObjectType
.
No major changes were introduced in this release.
Stable version with documentation
Stable version with documentation