From 4057dfbb65d4f03ca2de3f64c1a90bf3e25f23f3 Mon Sep 17 00:00:00 2001 From: Andrii Dembitskyi Date: Tue, 9 Jun 2026 13:43:15 +0200 Subject: [PATCH 1/2] Update Symfony and PSR cache dependencies for no-framework example symfony/cache v4 is affected by PKSA-z7t6-zt6p-wtng security advisory --- examples/no-framework/composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/no-framework/composer.json b/examples/no-framework/composer.json index 27ea1ab713..381e46b668 100644 --- a/examples/no-framework/composer.json +++ b/examples/no-framework/composer.json @@ -7,8 +7,8 @@ "require": { "thecodingmachine/graphqlite": "@dev", "mouf/picotainer": "^1.1", - "symfony/cache": "^4.3", - "psr/simple-cache": "^1.0" + "symfony/cache": "^8.1", + "psr/simple-cache": "^3.0" }, "repositories": [ { From 1b34161cc1f55cf9c9af42c9861ce02e775dcbc9 Mon Sep 17 00:00:00 2001 From: Andrii Dembitskyi Date: Tue, 9 Jun 2026 13:59:34 +0200 Subject: [PATCH 2/2] Fix validation rule callback typing --- src/Http/Psr15GraphQLMiddlewareBuilder.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Http/Psr15GraphQLMiddlewareBuilder.php b/src/Http/Psr15GraphQLMiddlewareBuilder.php index c36ee03633..90ace911ad 100644 --- a/src/Http/Psr15GraphQLMiddlewareBuilder.php +++ b/src/Http/Psr15GraphQLMiddlewareBuilder.php @@ -6,6 +6,8 @@ use DateInterval; use GraphQL\Error\DebugFlag; +use GraphQL\Language\AST\DocumentNode; +use GraphQL\Server\OperationParams; use GraphQL\Server\ServerConfig; use GraphQL\Type\Schema; use GraphQL\Validator\DocumentValidator; @@ -133,13 +135,17 @@ public function createMiddleware(): MiddlewareInterface // So if we only added given rule, all of the default rules would not be validated, so we must also provide them. $originalValidationRules = $this->config->getValidationRules() ?? DocumentValidator::allRules(); - $this->config->setValidationRules(function (...$args) use ($originalValidationRules) { - if (is_callable($originalValidationRules)) { - $originalValidationRules = $originalValidationRules(...$args); - } + $this->config->setValidationRules(function ( + OperationParams $operation, + DocumentNode $doc, + string $operationType, + ) use ($originalValidationRules): array { + $validationRules = is_callable($originalValidationRules) + ? $originalValidationRules($operation, $doc, $operationType) + : $originalValidationRules; return [ - ...$originalValidationRules, + ...$validationRules, ...$this->addedValidationRules, ]; });