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
SelectFields extracted to separate package rebing/graphql-laravel-select-fields
Rebing\GraphQL\Support\SelectFields class removed from core
Rebing\GraphQL\Support\Contracts\WrapType interface removed from core
Closure type-hint in resolve() no longer auto-injects SelectFields factory
Field::selectFieldClass() and Field::instanciateSelectFields() removed
'selectable' => false removed from pagination type metadata fields
Generated query/mutation stubs no longer include SelectFields boilerplate
Install rebing/graphql-laravel-select-fields to restore all functionality
Added
Rebing\GraphQL\Support\Contracts\ResolverParameterInjector interface for extensible resolver DI
Field::registerParameterInjector() / Field::clearParameterInjectors() for external DI hooks
Changes in RC3
Breaking changes
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 RC4
Warning
Please also read https://github.com/rebing/graphql-laravel/blob/master/UPGRADE.md#upgrading-from-9-to-10
Breaking changes
SelectFieldsextracted to separate packagerebing/graphql-laravel-select-fieldsRebing\GraphQL\Support\SelectFieldsclass removed from coreRebing\GraphQL\Support\Contracts\WrapTypeinterface removed from coreClosuretype-hint inresolve()no longer auto-injects SelectFields factoryField::selectFieldClass()andField::instanciateSelectFields()removed'selectable' => falseremoved from pagination type metadata fieldsrebing/graphql-laravel-select-fieldsto restore all functionalityAdded
Rebing\GraphQL\Support\Contracts\ResolverParameterInjectorinterface for extensible resolver DIField::registerParameterInjector()/Field::clearParameterInjectors()for external DI hooksChanges in RC3
Changes in RC2
Changes in RC1
Full Changelog: 10.0.0-RC3...10.0.0-RC4
This discussion was created from the release 10.0.0-RC4.
All reactions