webonyx/graphql-php
A PHP port of GraphQL reference implementation
v15.37.2
87M downloads/mo
#449 most downloaded on Packagist
webonyx/graphql-php
What this package is like to depend on
Last release 9 days ago
14 Aug 2026
Release timing varies
gaps range from 8 days to 2 months
Most releases are documented
notes for 174 of 197 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
201 releases · first in 2015
36 releases in the last 12 months
see the full history below
Release timeline
201 releases · Aug 2015 to Aug 2026
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 60 of 201-
v15.37.214 Aug 2026Release notes
Open source →Changed
- Speed up
Lexerby skipping runs of horizontal whitespace in one scan #1963
Release notes
Open source →Changed
- Speed up
Lexerby skipping runs of horizontal whitespace in one scan https://github.com/webonyx/graphql-php/pull/1963
- Speed up
-
v15.37.129 Jul 2026Release notes
Open source →Fixed
- Revert reading properties of objects that implement
\ArrayAccessbecause it exposed internal object state as field values #1958
Release notes
Open source →Fixed
- Revert reading properties of objects that implement
\ArrayAccessbecause it exposed internal object state as field values https://github.com/webonyx/graphql-php/pull/1958
- Revert reading properties of objects that implement
-
v15.37.028 Jul 2026Release notes
Open source →Added
- If an object implements
\ArrayAccess, check both array value and property #1531
Release notes
Open source →Added
- If an object implements
\ArrayAccess, check both array value and property https://github.com/webonyx/graphql-php/pull/1531
- If an object implements
-
v15.36.128 Jul 2026Release notes
Open source →Fixed
- Avoid creating an AMPHP Fiber for each
AmpFutureAdaptercontinuation and aggregate #1954
Release notes
Open source →Fixed
- Avoid creating an AMPHP Fiber for each
AmpFutureAdaptercontinuation and aggregate https://github.com/webonyx/graphql-php/pull/1954
- Avoid creating an AMPHP Fiber for each
-
v15.36.028 Jul 2026Release notes
Open source →Changed
- Optimize
Lexer::readString()to bulk-scan ordinary bytes withstrcspn()instead of decoding one UTF-8 character at a time #1948
Release notes
Open source →Changed
- Optimize
Lexer::readString()to bulk-scan ordinary bytes withstrcspn()instead of decoding one UTF-8 character at a time https://github.com/webonyx/graphql-php/pull/1948
- Optimize
-
v15.35.023 Jul 2026Release notes
Open source →Added
- Allow setting per-schema built-in scalar overrides explicitly via
SchemaConfigoptionscalarOverrides, avoiding the resolution of lazily providedtypeson built-in scalar lookups #1927
Release notes
Open source →Added
- Allow setting per-schema built-in scalar overrides explicitly via
SchemaConfigoptionscalarOverrides, avoiding the resolution of lazily providedtypeson built-in scalar lookups https://github.com/webonyx/graphql-php/pull/1927
- Allow setting per-schema built-in scalar overrides explicitly via
-
v15.34.121 Jul 2026Release notes
Open source →Fixed
- Preserve
deprecationReasonwhen rebuilding input values from introspection inBuildClientSchema#1945
Release notes
Open source →Fixed
- Preserve
deprecationReasonwhen rebuilding input values from introspection inBuildClientSchemahttps://github.com/webonyx/graphql-php/pull/1945
- Preserve
-
v15.34.005 Jul 2026Release notes
Open source →Added
- Make Promise and PromiseAdapter generic over the adopted promise type #1941
Release notes
Open source →Added
- Make Promise and PromiseAdapter generic over the adopted promise type https://github.com/webonyx/graphql-php/pull/1941
-
v15.33.117 Jun 2026Release notes
Open source →Fixed
- Fix
SingleFieldSubscriptionvalidation to expand fragments before counting root fields, reject introspection fields, and reject@skip/@includeat the subscription root #1930 - This release completes full compliance with the October 2021 GraphQL specification
Release notes
Open source →Fixed
- Fix
SingleFieldSubscriptionvalidation to expand fragments before counting root fields, reject introspection fields, and reject@skip/@includeat the subscription root https://github.com/webonyx/graphql-php/pull/1930 - This release completes full compliance with the October 2021 GraphQL specification
- Fix
-
v15.33.014 Jun 2026Release notes
Open source →Added
- Add
@specifiedBybuilt-in directive andScalarType::$specifiedByURLproperty #1913
Release notes
Open source →Added
- Add
@specifiedBybuilt-in directive andScalarType::$specifiedByURLproperty https://github.com/webonyx/graphql-php/pull/1913
- Add
-
v15.32.324 Apr 2026Release notes
Open source →Fixed
- Denial of Service via stack overflow from deeply nested queries in the parser https://github.com/webonyx/graphql-php/security/advisories/GHSA-r7cg-qjjm-xhqq
-
v15.32.224 Apr 2026Release notes
Open source →Fixed
- Denial of Service via quadratic complexity in
OverlappingFieldsCanBeMergedvalidation through inline fragments https://github.com/webonyx/graphql-php/security/advisories/GHSA-fc86-6rv6-2jpm
- Denial of Service via quadratic complexity in
-
v15.32.121 Apr 2026Release notes
Open source →Fixed
- Fix "Cannot traverse an already closed generator" in
Schema::getTypeMap()https://github.com/webonyx/graphql-php/pull/1903
- Fix "Cannot traverse an already closed generator" in
-
v15.32.020 Apr 2026Release notes
Open source →Added
- Implement
AmpFutureAdapterfor integration with AMPHP v3 https://github.com/webonyx/graphql-php/pull/1900
- Implement
-
v15.31.511 Apr 2026Release notes
Open source →Fixed
- Denial of Service via quadratic complexity in
OverlappingFieldsCanBeMergedvalidation https://github.com/webonyx/graphql-php/security/advisories/GHSA-68jq-c3rv-pcrr
- Denial of Service via quadratic complexity in
-
v15.31.402 Apr 2026Release notes
Open source →Changed
- Prioritize count error over null error in
@oneOfcoercion https://github.com/webonyx/graphql-php/pull/1891
- Prioritize count error over null error in
-
v15.31.329 Mar 2026Release notes
Open source →Fixed
- Apply per-schema built-in scalar overrides without
assertValid()https://github.com/webonyx/graphql-php/pull/1886
- Apply per-schema built-in scalar overrides without
-
v15.31.223 Mar 2026Release notes
Open source →Changed
- Exclusively support
typesfor per-schema built-in scalar overrides, nottypeLoaderhttps://github.com/webonyx/graphql-php/pull/1884
Fixed
- Fix
parseLiteralnot called on per-schema built-in scalar overrides for inline arguments https://github.com/webonyx/graphql-php/pull/1880
- Exclusively support
-
v15.31.116 Mar 2026Release notes
Open source →Fixed
- Fix variable validation and input coercion for per-schema scalar overrides https://github.com/webonyx/graphql-php/pull/1876
-
v15.31.014 Mar 2026Release notes
Open source →Added
- Support per-schema scalar overrides via
typesconfig ortypeLoader, without global side effects https://github.com/webonyx/graphql-php/pull/1869 - Add
Type::builtInScalars()andType::BUILT_IN_SCALAR_NAMESaligning with GraphQL spec terminology https://github.com/webonyx/graphql-php/pull/1869 - Add
Directive::builtInDirectives()andDirective::isBuiltInDirective()aligning with GraphQL spec terminology https://github.com/webonyx/graphql-php/pull/1869
Deprecated
- Deprecate
Type::overrideStandardTypes()in favor of per-schema scalar overrides https://github.com/webonyx/graphql-php/pull/1869 - Deprecate
Type::getStandardTypes()in favor ofType::builtInScalars()https://github.com/webonyx/graphql-php/pull/1869 - Deprecate
Type::STANDARD_TYPE_NAMESin favor ofType::BUILT_IN_SCALAR_NAMEShttps://github.com/webonyx/graphql-php/pull/1869 - Deprecate
Directive::getInternalDirectives()in favor ofDirective::builtInDirectives()https://github.com/webonyx/graphql-php/pull/1869 - Deprecate
Directive::isSpecifiedDirective()in favor ofDirective::isBuiltInDirective()https://github.com/webonyx/graphql-php/pull/1869
- Support per-schema scalar overrides via
-
v15.30.205 Feb 2026Release notes
Open source →Fixed
- Use PHP 7.4 compatible syntax in attribute classes https://github.com/webonyx/graphql-php/pull/1847
-
v15.30.129 Jan 2026Release notes
Open source →Changed
- Improve performance 6% by lessening
is_arrayandinstanceofchecks https://github.com/webonyx/graphql-php/pull/1845
- Improve performance 6% by lessening
-
v15.30.020 Jan 2026Release notes
Open source →Added
- Add support for adding description to schema https://github.com/webonyx/graphql-php/pull/1834
-
v15.29.405 Jan 2026Release notes
Open source →Fixed
- Fix query complexity for fragments defined after operations https://github.com/webonyx/graphql-php/pull/1826
-
v15.29.329 Dec 2025Release notes
Open source →Changed
- Remove pass-by-reference for
$resultinReferenceExecutorhttps://github.com/webonyx/graphql-php/pull/1780
- Remove pass-by-reference for
-
v15.29.229 Dec 2025Release notes
Open source →Fixed
- Do not escape forward slashes in
Printer::printDescriptionhttps://github.com/webonyx/graphql-php/pull/1824
- Do not escape forward slashes in
-
v15.29.119 Dec 2025Release notes
Open source →Fixed
- Restore
SyncPromisebackwards compatibility https://github.com/webonyx/graphql-php/pull/1823
- Restore
-
v15.29.018 Dec 2025Release notes
Open source →Changed
- Optimize
Deferredexecution https://github.com/webonyx/graphql-php/pull/1805
Deprecated
- Deprecate
GraphQL\Deferred::create()in favor of constructor https://github.com/webonyx/graphql-php/pull/1805
- Optimize
-
v15.28.015 Dec 2025Release notes
Open source →Changed
- Optimize
Lexername tokenization https://github.com/webonyx/graphql-php/pull/1813
- Optimize
-
v15.27.209 Dec 2025Release notes
Open source →Fixed
- Fix PHP 7.4 compatibility broken by
\Stringableinterface https://github.com/webonyx/graphql-php/pull/1810
- Fix PHP 7.4 compatibility broken by
-
v15.27.105 Dec 2025Release notes
Open source →Fixed
- Revert
Deferredmemory usage optimization https://github.com/webonyx/graphql-php/pull/1790
- Revert
-
v15.27.003 Dec 2025Release notes
Open source →Added
- Optimize
Deferredmemory usage with incremental queue processing https://github.com/webonyx/graphql-php/pull/1790
- Optimize
-
v15.26.020 Nov 2025Release notes
Open source →Changed
- Ignore Introspection queries in QueryComplexity rule https://github.com/webonyx/graphql-php/pull/1788
-
v15.25.225 Oct 2025Release notes
Open source →Fixed
- Add missing return types in
HasFieldsTypeImplementationhttps://github.com/webonyx/graphql-php/pull/1783
- Add missing return types in
-
v15.25.108 Oct 2025Release notes
Open source →Changed
- Call
AbstractType::resolveValuebeforeAbstractType::resolveTypehttps://github.com/webonyx/graphql-php/pull/1781
- Call
-
v15.25.008 Oct 2025Release notes
Open source →Added
- Introduce
resolveValuemethod to Interface and Union types https://github.com/webonyx/graphql-php/pull/1776
- Introduce
-
v15.24.020 Aug 2025Release notes
Open source →Added
- Allow passing
NonNulltoType::nonNull()https://github.com/webonyx/graphql-php/pull/1757
- Allow passing
-
v15.23.119 Aug 2025Release notes
Open source →Changed
- Improve
Type::getNamedType()return type https://github.com/webonyx/graphql-php/pull/1756
- Improve
-
v15.23.019 Aug 2025Release notes
Open source →Added
- Allow replacing a
Nodewith aNodeListinVisitorhttps://github.com/webonyx/graphql-php/pull/1754
- Allow replacing a
-
v15.22.419 Aug 2025Release notes
Open source →Fixed
- Fix
NodeVisitorreturn type by allowingNodehttps://github.com/webonyx/graphql-php/pull/1752
- Fix
-
v15.22.313 Aug 2025Release notes
Open source →Changed
- Make class
Printerfully static https://github.com/webonyx/graphql-php/pull/1749
- Make class
-
v15.22.212 Aug 2025Release notes
Open source →Fixed
- Do not escape forward slashes in
Printer::doPrinthttps://github.com/webonyx/graphql-php/pull/1748
- Do not escape forward slashes in
-
v15.22.111 Aug 2025Release notes
Open source →Fixed
- Keep
isOneOfdirective when extending input objects withSchemaExtenderhttps://github.com/webonyx/graphql-php/pull/1745
- Keep
-
v15.22.028 Jul 2025Release notes
Open source →Added
- Add argument
includeDeprecatedto introspection field__Directive.argshttps://github.com/webonyx/graphql-php/pull/1738/commits/0dd03675dc7c971abfad86cafaf2da353778529f
Changed
- Make all
includeDeprecatedarguments in introspection fields non-nullable with default valuefalsehttps://github.com/webonyx/graphql-php/pull/1738/commits/851ddb55d722035904191705b6d62ba56950680c
- Add argument
-
v15.21.324 Jul 2025Release notes
Open source →Fixed
- Make querying
isOneOfoptional in introspection query https://github.com/webonyx/graphql-php/pull/1737
- Make querying
-
v15.21.210 Jul 2025Release notes
Open source →Fixed
- Add missing
isOneOfto introspection query https://github.com/webonyx/graphql-php/pull/1729
- Add missing
-
v15.21.109 Jul 2025Release notes
Open source →Fixed
- Output
@oneOfdirective inSchemaPrinterhttps://github.com/webonyx/graphql-php/pull/1727
- Output
-
v15.21.008 Jul 2025Release notes
Open source →Added
- Add support for
@oneOfinput object directive - enables "input unions" where exactly one field must be provided https://github.com/webonyx/graphql-php/pull/1715
- Add support for
-
v15.20.104 Jul 2025Release notes
Open source →Fixed
- Avoid unnecessary
@throwsannotations for known correct configuration https://github.com/webonyx/graphql-php/pull/1716
- Avoid unnecessary
-
v15.20.021 Mar 2025Release notes
Open source →Added
- Add keys
typeandunionstoResolveInfo::getFieldSelectionWithAliasesresult https://github.com/webonyx/graphql-php/pull/1681
- Add keys
-
v15.19.119 Dec 2024Release notes
Open source →Fixed
- Handle fields that return lists in
ResolveInfo::getFieldSelectionWithAliaseshttps://github.com/webonyx/graphql-php/pull/1664
- Handle fields that return lists in
-
v15.19.004 Dec 2024Release notes
Open source →Added
- Add method
getFieldSelectionWithAliasesto classResolveInfohttps://github.com/webonyx/graphql-php/pull/1648
- Add method
-
v15.18.113 Nov 2024Release notes
Open source →Fixed
- Reset static caches of instances using standard types when overriding them https://github.com/webonyx/graphql-php/pull/1632
-
v15.18.031 Oct 2024Release notes
Open source →Added
- Propagate error messages of client-safe exceptions during
parseValuehttps://github.com/webonyx/graphql-php/pull/1624
- Propagate error messages of client-safe exceptions during
-
v15.17.026 Oct 2024Release notes
Open source →Added
- Allow customizing PhpEnumType https://github.com/webonyx/graphql-php/pull/1623
-
v15.16.125 Oct 2024Release notes
Open source →Fixed
- Make field args mapper optional https://github.com/webonyx/graphql-php/pull/1622
-
v15.16.024 Oct 2024Release notes
Open source →Added
- Create field args mapper and cache args resolution https://github.com/webonyx/graphql-php/pull/1587
-
v15.15.023 Oct 2024Release notes
Open source →Added
- Add field config decorator when building schema from SDL https://github.com/webonyx/graphql-php/pull/1590
-
v15.14.317 Oct 2024Release notes
Open source →Fixed
- Serialize
BackedEnuminstances by name, not value https://github.com/webonyx/graphql-php/pull/1618
- Serialize
-
v15.14.208 Oct 2024Release notes
Open source →Changed
- Annotate return value of
Helper::validateOperationParamsas list https://github.com/webonyx/graphql-php/pull/1615
- Annotate return value of