You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Privacy::validate() and closure signature changed #1251 / mfn
new mixed $root first parameter, new optional ?ResolveInfo $resolveInfo fourth parameter, $queryContext now typed as mixed
Remove $getSelectFields parameter from Field::authorize()#1250 / mfn
it has been non-functional since half a decade
Fixed
Fix SelectFields crashing when field types use callable #1252 / mfn
Fix OperationParams not copying originalInput/readOnly, causing TypeError #1254 / mfn
Fix APQ config not using config() inside config file #1255 / mfn
Changes in RC2
Breaking changes
Privacy::validate() first parameter renamed from $queryArgs to $fieldArgs — it now receives the field's own arguments instead of root query arguments
SelectFields now identifies wrapper types via the Rebing\GraphQL\Support\Contracts\WrapType marker interface. Custom pagination types and wrap types used with SelectFieldsmust implement this interface. #1228 / mfn
Added
Add tracing support with OpenTelemetry driver #1220 / mfn
Rebing\GraphQL\Support\Contracts\WrapType marker interface for wrapper types (pagination types and custom wrap types) #1228 / mfn
Fixed
Narrow GraphQL::type() PHPStan return type to (NullableType&Type)|NonNull so consumers can pass it to Type::nonNull() without static analysis errors #1221 / mfn
Fix SelectFields forcing select * for Interface return types instead of selecting only the requested columns #683 / mfn
Fix SelectFields not calling custom query callbacks on relation fields inside UnionType members #900 / mfn
Fix cross-field validation rules (prohibits, required_without, required_if, etc.) not working in nested InputTypes #930 / mfn
Fix privacy attribute ignored on nested/sub-types by moving enforcement from SelectFields to field resolvers in Type::getFields()#1161 / mfn
Fix SelectFields producing empty SELECT clause for custom wrap types created via GraphQL::wrapType()#1228 / mfn
Changes in RC1
Breaking changes
Security hardening: safer defaults for production deployments #1210 / mfn
Default HTTP method changed from GET/POST to POST only
Batching disabled by default (batching.default → false)
Introspection disabled by default (GRAPHQL_DISABLE_INTROSPECTION env var)
Default query_max_depth set to 13 (was unlimited)
Default query_max_complexity set to 500 (was unlimited)
Authorization now runs before validation in field resolver
Authorization uses strict === true comparison
Added
- Added `max_batch_size` config option to limit batch query operations
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
New changes in RC3
Breaking changes
Privacy::validate()and closure signature changed #1251 / mfnnew
mixed $rootfirst parameter, new optional?ResolveInfo $resolveInfofourth parameter,$queryContextnow typed asmixed$getSelectFieldsparameter fromField::authorize()#1250 / mfnit has been non-functional since half a decade
Fixed
SelectFieldscrashing when field types use callable #1252 / mfnOperationParamsnot copyingoriginalInput/readOnly, causing TypeError #1254 / mfnconfig()inside config file #1255 / mfnChanges in RC2
Changes in RC1
Full Changelog: 10.0.0-RC2...10.0.0-RC3
This discussion was created from the release 10.0.0-RC3.
All reactions