diff --git a/composer.json b/composer.json index 866a74fd7..212e2b7c0 100644 --- a/composer.json +++ b/composer.json @@ -3,7 +3,7 @@ "license": "MIT", "type": "project", "description": "Symfony Demo Application", - "minimum-stability": "stable", + "minimum-stability": "dev", "prefer-stable": true, "require": { "php": ">=8.2", @@ -99,7 +99,8 @@ "cache:clear": "symfony-cmd", "assets:install %PUBLIC_DIR%": "symfony-cmd", "importmap:install": "symfony-cmd", - "sass:build": "symfony-cmd" + "sass:build": "symfony-cmd", + "config/schema.php": "php-script" }, "post-install-cmd": [ "@auto-scripts" @@ -111,7 +112,7 @@ "extra": { "symfony": { "allow-contrib": true, - "require": "7.3.*" + "require": "7.4.*@dev" } } } diff --git a/composer.lock b/composer.lock index 7be23b775..569f3cdc2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "47c226bcb92b5cfd3c500a3b224b8db7", + "content-hash": "71fd676a14be7ac74e9f6680420690b5", "packages": [ { "name": "composer/semver", @@ -246,16 +246,16 @@ }, { "name": "doctrine/dbal", - "version": "4.3.3", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "231959669bb2173194c95636eae7f1b41b2a8b19" + "reference": "1a2fbd0e93b8dec7c3d1ac2b6396a7b929b130dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/231959669bb2173194c95636eae7f1b41b2a8b19", - "reference": "231959669bb2173194c95636eae7f1b41b2a8b19", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/1a2fbd0e93b8dec7c3d1ac2b6396a7b929b130dc", + "reference": "1a2fbd0e93b8dec7c3d1ac2b6396a7b929b130dc", "shasum": "" }, "require": { @@ -265,15 +265,15 @@ "psr/log": "^1|^2|^3" }, "require-dev": { - "doctrine/coding-standard": "13.0.1", + "doctrine/coding-standard": "14.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "2.1.22", - "phpstan/phpstan-phpunit": "2.0.6", + "phpstan/phpstan": "2.1.30", + "phpstan/phpstan-phpunit": "2.0.7", "phpstan/phpstan-strict-rules": "^2", "phpunit/phpunit": "11.5.23", - "slevomat/coding-standard": "8.16.2", - "squizlabs/php_codesniffer": "3.13.1", + "slevomat/coding-standard": "8.24.0", + "squizlabs/php_codesniffer": "4.0.0", "symfony/cache": "^6.3.8|^7.0", "symfony/console": "^5.4|^6.3|^7.0" }, @@ -332,7 +332,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.3.3" + "source": "https://github.com/doctrine/dbal/tree/4.3.4" }, "funding": [ { @@ -348,7 +348,7 @@ "type": "tidelift" } ], - "time": "2025-09-04T23:52:42+00:00" + "time": "2025-10-09T09:11:36+00:00" }, { "name": "doctrine/deprecations", @@ -400,20 +400,21 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "2.16.2", + "version": "2.18.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "1c10de0fe995f01eca6b073d1c2549ef0b603a7f" + "reference": "cd5d4da6a5f7cf3d8708e17211234657b5eb4e95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/1c10de0fe995f01eca6b073d1c2549ef0b603a7f", - "reference": "1c10de0fe995f01eca6b073d1c2549ef0b603a7f", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/cd5d4da6a5f7cf3d8708e17211234657b5eb4e95", + "reference": "cd5d4da6a5f7cf3d8708e17211234657b5eb4e95", "shasum": "" }, "require": { "doctrine/dbal": "^3.7.0 || ^4.0", + "doctrine/deprecations": "^1.0", "doctrine/persistence": "^3.1 || ^4", "doctrine/sql-formatter": "^1.0.1", "php": "^8.1", @@ -421,7 +422,6 @@ "symfony/config": "^6.4 || ^7.0", "symfony/console": "^6.4 || ^7.0", "symfony/dependency-injection": "^6.4 || ^7.0", - "symfony/deprecation-contracts": "^2.1 || ^3", "symfony/doctrine-bridge": "^6.4.3 || ^7.0.3", "symfony/framework-bundle": "^6.4 || ^7.0", "symfony/service-contracts": "^2.5 || ^3" @@ -436,14 +436,13 @@ "require-dev": { "doctrine/annotations": "^1 || ^2", "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^13", - "doctrine/deprecations": "^1.0", + "doctrine/coding-standard": "^14", "doctrine/orm": "^2.17 || ^3.1", "friendsofphp/proxy-manager-lts": "^1.0", "phpstan/phpstan": "2.1.1", "phpstan/phpstan-phpunit": "2.0.3", "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "^10.5.53", + "phpunit/phpunit": "^10.5.53 || ^12.3.10", "psr/log": "^1.1.4 || ^2.0 || ^3.0", "symfony/doctrine-messenger": "^6.4 || ^7.0", "symfony/expression-language": "^6.4 || ^7.0", @@ -457,7 +456,7 @@ "symfony/var-exporter": "^6.4.1 || ^7.0.1", "symfony/web-profiler-bundle": "^6.4 || ^7.0", "symfony/yaml": "^6.4 || ^7.0", - "twig/twig": "^2.13 || ^3.0.4" + "twig/twig": "^2.14.7 || ^3.0.4" }, "suggest": { "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", @@ -502,7 +501,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.16.2" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.18.0" }, "funding": [ { @@ -518,24 +517,24 @@ "type": "tidelift" } ], - "time": "2025-09-10T19:14:48+00:00" + "time": "2025-10-11T04:43:27+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", - "reference": "5a6ac7120c2924c4c070a869d08b11ccf9e277b9" + "reference": "71c81279ca0e907c3edc718418b93fd63074856c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/5a6ac7120c2924c4c070a869d08b11ccf9e277b9", - "reference": "5a6ac7120c2924c4c070a869d08b11ccf9e277b9", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/71c81279ca0e907c3edc718418b93fd63074856c", + "reference": "71c81279ca0e907c3edc718418b93fd63074856c", "shasum": "" }, "require": { - "doctrine/doctrine-bundle": "^2.4", + "doctrine/doctrine-bundle": "^2.4 || ^3.0", "doctrine/migrations": "^3.2", "php": "^7.2 || ^8.0", "symfony/deprecation-contracts": "^2.1 || ^3", @@ -543,7 +542,7 @@ }, "require-dev": { "composer/semver": "^3.0", - "doctrine/coding-standard": "^12", + "doctrine/coding-standard": "^12 || ^14", "doctrine/orm": "^2.6 || ^3", "phpstan/phpstan": "^1.4 || ^2", "phpstan/phpstan-deprecation-rules": "^1 || ^2", @@ -587,7 +586,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", - "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.4.2" + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.5.0" }, "funding": [ { @@ -603,7 +602,7 @@ "type": "tidelift" } ], - "time": "2025-03-11T17:36:26+00:00" + "time": "2025-10-12T17:06:40+00:00" }, { "name": "doctrine/event-manager", @@ -1128,16 +1127,16 @@ }, { "name": "doctrine/persistence", - "version": "4.1.0", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "dcbdfe4b211ae09478e192289cae7ab0987b29a4" + "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/dcbdfe4b211ae09478e192289cae7ab0987b29a4", - "reference": "dcbdfe4b211ae09478e192289cae7ab0987b29a4", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/b9c49ad3558bb77ef973f4e173f2e9c2eca9be09", + "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09", "shasum": "" }, "require": { @@ -1146,11 +1145,11 @@ "psr/cache": "^1.0 || ^2.0 || ^3.0" }, "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "1.12.7", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "^9.6", + "doctrine/coding-standard": "^14", + "phpstan/phpstan": "2.1.30", + "phpstan/phpstan-phpunit": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.58 || ^12", "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0", "symfony/finder": "^4.4 || ^5.4 || ^6.0 || ^7.0" }, @@ -1201,7 +1200,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/4.1.0" + "source": "https://github.com/doctrine/persistence/tree/4.1.1" }, "funding": [ { @@ -1217,7 +1216,7 @@ "type": "tidelift" } ], - "time": "2025-08-21T16:00:31+00:00" + "time": "2025-10-16T20:13:18+00:00" }, { "name": "doctrine/sql-formatter", @@ -2411,16 +2410,16 @@ }, { "name": "symfony/asset", - "version": "v7.3.0", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b" + "reference": "0f7bccb9ffa1f373cbd659774d90629b2773464f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/56c4d9f759247c4e07d8549e3baf7493cb9c3e4b", - "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b", + "url": "https://api.github.com/repos/symfony/asset/zipball/0f7bccb9ffa1f373cbd659774d90629b2773464f", + "reference": "0f7bccb9ffa1f373cbd659774d90629b2773464f", "shasum": "" }, "require": { @@ -2430,9 +2429,9 @@ "symfony/http-foundation": "<6.4" }, "require-dev": { - "symfony/http-client": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0" + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2460,7 +2459,7 @@ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset/tree/v7.3.0" + "source": "https://github.com/symfony/asset/tree/7.4" }, "funding": [ { @@ -2471,48 +2470,53 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-03-05T10:15:41+00:00" + "time": "2025-08-04T07:05:15+00:00" }, { "name": "symfony/asset-mapper", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/asset-mapper.git", - "reference": "0c40c579e27244616cf0fe4d1759aab2ceb99a9a" + "reference": "f4e2a53b70bee07b4ee9eb80f50c530aa8dc164c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/0c40c579e27244616cf0fe4d1759aab2ceb99a9a", - "reference": "0c40c579e27244616cf0fe4d1759aab2ceb99a9a", + "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/f4e2a53b70bee07b4ee9eb80f50c530aa8dc164c", + "reference": "f4e2a53b70bee07b4ee9eb80f50c530aa8dc164c", "shasum": "" }, "require": { "composer/semver": "^3.0", "php": ">=8.2", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/filesystem": "^7.1", - "symfony/http-client": "^6.4|^7.0" + "symfony/filesystem": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0" }, "conflict": { "symfony/framework-bundle": "<6.4" }, "require-dev": { - "symfony/asset": "^6.4|^7.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", + "symfony/asset": "^6.4|^7.0|^8.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4.13|^7.1.6|^8.0", "symfony/event-dispatcher-contracts": "^3.0", - "symfony/finder": "^6.4|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/web-link": "^6.4|^7.0" + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/runtime": "^6.4.13|^7.1.6|^8.0", + "symfony/web-link": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2540,7 +2544,7 @@ "description": "Maps directories of assets & makes them available in a public directory with versioned filenames.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset-mapper/tree/v7.3.4" + "source": "https://github.com/symfony/asset-mapper/tree/7.4" }, "funding": [ { @@ -2560,20 +2564,20 @@ "type": "tidelift" } ], - "time": "2025-09-22T15:31:00+00:00" + "time": "2025-10-15T18:49:39+00:00" }, { "name": "symfony/cache", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f" + "reference": "50056324d98fff952c2bd7ba2b88307ea2d1e79b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f", - "reference": "bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f", + "url": "https://api.github.com/repos/symfony/cache/zipball/50056324d98fff952c2bd7ba2b88307ea2d1e79b", + "reference": "50056324d98fff952c2bd7ba2b88307ea2d1e79b", "shasum": "" }, "require": { @@ -2581,12 +2585,14 @@ "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^3.6", - "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "conflict": { "doctrine/dbal": "<3.6", + "ext-redis": "<6.2", + "ext-relay": "<0.12.1", "symfony/dependency-injection": "<6.4", "symfony/http-kernel": "<6.4", "symfony/var-dumper": "<6.4" @@ -2601,13 +2607,13 @@ "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/filesystem": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2642,7 +2648,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.3.4" + "source": "https://github.com/symfony/cache/tree/7.4" }, "funding": [ { @@ -2662,7 +2668,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-16T16:24:39+00:00" }, { "name": "symfony/cache-contracts", @@ -2742,16 +2748,16 @@ }, { "name": "symfony/clock", - "version": "v7.3.0", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" + "reference": "9a2e07a0fcc4c76cc356e28942e515a3b388c8cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", - "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "url": "https://api.github.com/repos/symfony/clock/zipball/9a2e07a0fcc4c76cc356e28942e515a3b388c8cb", + "reference": "9a2e07a0fcc4c76cc356e28942e515a3b388c8cb", "shasum": "" }, "require": { @@ -2796,7 +2802,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.3.0" + "source": "https://github.com/symfony/clock/tree/7.4" }, "funding": [ { @@ -2807,31 +2813,35 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-08-04T07:05:15+00:00" }, { "name": "symfony/config", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "8a09223170046d2cfda3d2e11af01df2c641e961" + "reference": "50924ead29d561cbddd87670692d590c405793d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/8a09223170046d2cfda3d2e11af01df2c641e961", - "reference": "8a09223170046d2cfda3d2e11af01df2c641e961", + "url": "https://api.github.com/repos/symfony/config/zipball/50924ead29d561cbddd87670692d590c405793d3", + "reference": "50924ead29d561cbddd87670692d590c405793d3", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^7.1", + "symfony/filesystem": "^7.1|^8.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { @@ -2839,11 +2849,11 @@ "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^6.4|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2871,7 +2881,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v7.3.4" + "source": "https://github.com/symfony/config/tree/7.4" }, "funding": [ { @@ -2891,20 +2901,20 @@ "type": "tidelift" } ], - "time": "2025-09-22T12:46:16+00:00" + "time": "2025-10-20T11:24:25+00:00" }, { "name": "symfony/console", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db" + "reference": "c3da86291d89157fe2a9ba2401c4acf1a7c93eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", - "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", + "url": "https://api.github.com/repos/symfony/console/zipball/c3da86291d89157fe2a9ba2401c4acf1a7c93eba", + "reference": "c3da86291d89157fe2a9ba2401c4acf1a7c93eba", "shasum": "" }, "require": { @@ -2912,7 +2922,7 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2" + "symfony/string": "^7.2|^8.0" }, "conflict": { "symfony/dependency-injection": "<6.4", @@ -2926,16 +2936,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2969,7 +2979,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.4" + "source": "https://github.com/symfony/console/tree/7.4" }, "funding": [ { @@ -2989,28 +2999,28 @@ "type": "tidelift" } ], - "time": "2025-09-22T15:31:00+00:00" + "time": "2025-10-15T08:15:57+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4" + "reference": "c8ddf3cc5e059b2fe2d657d644db60e7c1637fb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/82119812ab0bf3425c1234d413efd1b19bb92ae4", - "reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c8ddf3cc5e059b2fe2d657d644db60e7c1637fb0", + "reference": "c8ddf3cc5e059b2fe2d657d644db60e7c1637fb0", "shasum": "" }, "require": { "php": ">=8.2", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^3.5", - "symfony/var-exporter": "^6.4.20|^7.2.5" + "symfony/service-contracts": "^3.6", + "symfony/var-exporter": "^6.4.20|^7.2.5|^8.0" }, "conflict": { "ext-psr": "<1.1|>=2", @@ -3023,13 +3033,14 @@ "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { "psr-4": { + "Symfony\\Config\\": "Loader/Config/", "Symfony\\Component\\DependencyInjection\\": "" }, "exclude-from-classmap": [ @@ -3053,7 +3064,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.3.4" + "source": "https://github.com/symfony/dependency-injection/tree/7.4" }, "funding": [ { @@ -3073,7 +3084,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-20T06:21:02+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3144,16 +3155,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "21cd48c34a47a0d0e303a590a67c3450fde55888" + "reference": "e24fccedfd46d066188b7a29bf62e1eb1112f96f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/21cd48c34a47a0d0e303a590a67c3450fde55888", - "reference": "21cd48c34a47a0d0e303a590a67c3450fde55888", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/e24fccedfd46d066188b7a29bf62e1eb1112f96f", + "reference": "e24fccedfd46d066188b7a29bf62e1eb1112f96f", "shasum": "" }, "require": { @@ -3180,7 +3191,7 @@ "symfony/property-info": "<6.4", "symfony/security-bundle": "<6.4", "symfony/security-core": "<6.4", - "symfony/validator": "<6.4" + "symfony/validator": "<7.4" }, "require-dev": { "doctrine/collections": "^1.8|^2.0", @@ -3188,24 +3199,24 @@ "doctrine/dbal": "^3.6|^4", "doctrine/orm": "^2.15|^3", "psr/log": "^1|^2|^3", - "symfony/cache": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/doctrine-messenger": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/form": "^6.4.6|^7.0.6", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/security-core": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/type-info": "^7.1.8", - "symfony/uid": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/doctrine-messenger": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/form": "^7.2|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/security-core": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/type-info": "^7.1.8|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^7.4|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "symfony-bridge", "autoload": { @@ -3233,7 +3244,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v7.3.4" + "source": "https://github.com/symfony/doctrine-bridge/tree/7.4" }, "funding": [ { @@ -3253,20 +3264,20 @@ "type": "tidelift" } ], - "time": "2025-09-24T09:56:23+00:00" + "time": "2025-10-08T10:14:15+00:00" }, { "name": "symfony/dotenv", - "version": "v7.3.2", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "2192790a11f9e22cbcf9dc705a3ff22a5503923a" + "reference": "4a53037ff205b68310ea43d4e999dac54375751c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/2192790a11f9e22cbcf9dc705a3ff22a5503923a", - "reference": "2192790a11f9e22cbcf9dc705a3ff22a5503923a", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/4a53037ff205b68310ea43d4e999dac54375751c", + "reference": "4a53037ff205b68310ea43d4e999dac54375751c", "shasum": "" }, "require": { @@ -3277,8 +3288,8 @@ "symfony/process": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3311,7 +3322,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v7.3.2" + "source": "https://github.com/symfony/dotenv/tree/7.4" }, "funding": [ { @@ -3331,36 +3342,37 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:29:33+00:00" + "time": "2025-08-09T22:28:14+00:00" }, { "name": "symfony/error-handler", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4" + "reference": "b40ab8ba2e572c512f2c415c795c76383e09001c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/99f81bc944ab8e5dae4f21b4ca9972698bbad0e4", - "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/b40ab8ba2e572c512f2c415c795c76383e09001c", + "reference": "b40ab8ba2e572c512f2c415c795c76383e09001c", "shasum": "" }, "require": { "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ @@ -3392,7 +3404,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.3.4" + "source": "https://github.com/symfony/error-handler/tree/7.4" }, "funding": [ { @@ -3412,20 +3424,20 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-09-11T10:15:23+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191" + "reference": "899a660f2d62e493ce6e68844b9089d4e1a639a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/899a660f2d62e493ce6e68844b9089d4e1a639a1", + "reference": "899a660f2d62e493ce6e68844b9089d4e1a639a1", "shasum": "" }, "require": { @@ -3442,13 +3454,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3476,7 +3488,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3" + "source": "https://github.com/symfony/event-dispatcher/tree/7.4" }, "funding": [ { @@ -3496,7 +3508,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2025-10-05T07:10:02+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3576,21 +3588,21 @@ }, { "name": "symfony/expression-language", - "version": "v7.3.2", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "32d2d19c62e58767e6552166c32fb259975d2b23" + "reference": "b53192cdb024d93dd5286110831735a5f3d9ba32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/32d2d19c62e58767e6552166c32fb259975d2b23", - "reference": "32d2d19c62e58767e6552166c32fb259975d2b23", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/b53192cdb024d93dd5286110831735a5f3d9ba32", + "reference": "b53192cdb024d93dd5286110831735a5f3d9ba32", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/cache": "^6.4|^7.0", + "symfony/cache": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3" }, @@ -3620,7 +3632,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v7.3.2" + "source": "https://github.com/symfony/expression-language/tree/7.4" }, "funding": [ { @@ -3640,20 +3652,20 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:29:33+00:00" + "time": "2025-08-13T16:46:49+00:00" }, { "name": "symfony/filesystem", - "version": "v7.3.2", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd" + "reference": "633c6fdfb2eac90041c2de30ad1ccff95a671f66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd", - "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/633c6fdfb2eac90041c2de30ad1ccff95a671f66", + "reference": "633c6fdfb2eac90041c2de30ad1ccff95a671f66", "shasum": "" }, "require": { @@ -3662,7 +3674,7 @@ "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^6.4|^7.0" + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3690,7 +3702,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.2" + "source": "https://github.com/symfony/filesystem/tree/7.4" }, "funding": [ { @@ -3710,27 +3722,27 @@ "type": "tidelift" } ], - "time": "2025-07-07T08:17:47+00:00" + "time": "2025-08-12T20:20:59+00:00" }, { "name": "symfony/finder", - "version": "v7.3.2", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe" + "reference": "38665c9607ce1fd17beaab3ea5d68e87ac5ed385" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe", - "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe", + "url": "https://api.github.com/repos/symfony/finder/zipball/38665c9607ce1fd17beaab3ea5d68e87ac5ed385", + "reference": "38665c9607ce1fd17beaab3ea5d68e87ac5ed385", "shasum": "" }, "require": { "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0" + "symfony/filesystem": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3758,7 +3770,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.2" + "source": "https://github.com/symfony/finder/tree/7.4" }, "funding": [ { @@ -3778,7 +3790,7 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2025-10-15T18:49:39+00:00" }, { "name": "symfony/flex", @@ -3854,27 +3866,27 @@ }, { "name": "symfony/form", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "7b3eee0f4d4dfd1ff1be70a27474197330c61736" + "reference": "99061631c4e4c8093d443b889329e3edd2d2df71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/7b3eee0f4d4dfd1ff1be70a27474197330c61736", - "reference": "7b3eee0f4d4dfd1ff1be70a27474197330c61736", + "url": "https://api.github.com/repos/symfony/form/zipball/99061631c4e4c8093d443b889329e3edd2d2df71", + "reference": "99061631c4e4c8093d443b889329e3edd2d2df71", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/options-resolver": "^7.3", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/options-resolver": "^7.3|^8.0", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-icu": "^1.21", "symfony/polyfill-mbstring": "~1.0", - "symfony/property-access": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -3884,26 +3896,28 @@ "symfony/error-handler": "<6.4", "symfony/framework-bundle": "<6.4", "symfony/http-kernel": "<6.4", + "symfony/intl": "<7.4", "symfony/translation": "<6.4.3|>=7.0,<7.0.3", "symfony/translation-contracts": "<2.5", "symfony/twig-bridge": "<6.4" }, "require-dev": { "doctrine/collections": "^1.0|^2.0", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/html-sanitizer": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/security-core": "^6.4|^7.0", - "symfony/security-csrf": "^6.4|^7.0", - "symfony/translation": "^6.4.3|^7.0.3", - "symfony/uid": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/html-sanitizer": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^7.4|^8.0", + "symfony/security-core": "^6.4|^7.0|^8.0", + "symfony/security-csrf": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4.3|^7.0.3|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4.12|^7.1.5|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3931,7 +3945,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v7.3.4" + "source": "https://github.com/symfony/form/tree/7.4" }, "funding": [ { @@ -3951,38 +3965,39 @@ "type": "tidelift" } ], - "time": "2025-09-22T15:31:00+00:00" + "time": "2025-10-10T11:54:29+00:00" }, { "name": "symfony/framework-bundle", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "b13e7cec5a144c8dba6f4233a2c53c00bc29e140" + "reference": "6f9d898cf4af941f9bb0c93f83c0c3ca2490581c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/b13e7cec5a144c8dba6f4233a2c53c00bc29e140", - "reference": "b13e7cec5a144c8dba6f4233a2c53c00bc29e140", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/6f9d898cf4af941f9bb0c93f83c0c3ca2490581c", + "reference": "6f9d898cf4af941f9bb0c93f83c0c3ca2490581c", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", "php": ">=8.2", - "symfony/cache": "^6.4|^7.0", - "symfony/config": "^7.3", - "symfony/dependency-injection": "^7.2", + "symfony/cache": "^6.4.12|^7.0|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.2|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^7.3", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/filesystem": "^7.1", - "symfony/finder": "^6.4|^7.0", - "symfony/http-foundation": "^7.3", - "symfony/http-kernel": "^7.2", + "symfony/error-handler": "^7.3|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^7.1|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/http-kernel": "^7.2|^8.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/routing": "^6.4|^7.0" + "symfony/polyfill-php85": "^1.32", + "symfony/routing": "^6.4|^7.0|^8.0" }, "conflict": { "doctrine/persistence": "<1.3", @@ -3996,12 +4011,10 @@ "symfony/dotenv": "<6.4", "symfony/form": "<6.4", "symfony/http-client": "<6.4", - "symfony/json-streamer": ">=7.4", "symfony/lock": "<6.4", "symfony/mailer": "<6.4", - "symfony/messenger": "<6.4", + "symfony/messenger": "<7.4", "symfony/mime": "<6.4", - "symfony/object-mapper": ">=7.4", "symfony/property-access": "<6.4", "symfony/property-info": "<6.4", "symfony/runtime": "<6.4.13|>=7.0,<7.1.6", @@ -4016,51 +4029,52 @@ "symfony/validator": "<6.4", "symfony/web-profiler-bundle": "<6.4", "symfony/webhook": "<7.2", - "symfony/workflow": "<7.3.0-beta2" + "symfony/workflow": "<7.4" }, "require-dev": { "doctrine/persistence": "^1.3|^2|^3", "dragonmantank/cron-expression": "^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "seld/jsonlint": "^1.10", - "symfony/asset": "^6.4|^7.0", - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/clock": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/dotenv": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/form": "^6.4|^7.0", - "symfony/html-sanitizer": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/json-streamer": "7.3.*", - "symfony/lock": "^6.4|^7.0", - "symfony/mailer": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/notifier": "^6.4|^7.0", - "symfony/object-mapper": "^v7.3.0-beta2", + "symfony/asset": "^6.4|^7.0|^8.0", + "symfony/asset-mapper": "^6.4|^7.0|^8.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/dom-crawler": "^6.4|^7.0|^8.0", + "symfony/dotenv": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/form": "^6.4|^7.0|^8.0", + "symfony/html-sanitizer": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/json-streamer": "^7.3|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/mailer": "^6.4|^7.0|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/notifier": "^6.4|^7.0|^8.0", + "symfony/object-mapper": "^7.3|^8.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/scheduler": "^6.4.4|^7.0.4", - "symfony/security-bundle": "^6.4|^7.0", - "symfony/semaphore": "^6.4|^7.0", - "symfony/serializer": "^7.2.5", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/string": "^6.4|^7.0", - "symfony/translation": "^7.3", - "symfony/twig-bundle": "^6.4|^7.0", - "symfony/type-info": "^7.1.8", - "symfony/uid": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/web-link": "^6.4|^7.0", - "symfony/webhook": "^7.2", - "symfony/workflow": "^7.3", - "symfony/yaml": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/runtime": "^6.4.13|^7.1.6|^8.0", + "symfony/scheduler": "^6.4.4|^7.0.4|^8.0", + "symfony/security-bundle": "^6.4|^7.0|^8.0", + "symfony/semaphore": "^6.4|^7.0|^8.0", + "symfony/serializer": "^7.2.5|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/string": "^6.4|^7.0|^8.0", + "symfony/translation": "^7.3|^8.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0", + "symfony/type-info": "^7.1.8|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^7.4|^8.0", + "symfony/web-link": "^6.4|^7.0|^8.0", + "symfony/webhook": "^7.2|^8.0", + "symfony/workflow": "^7.4|^8.0", + "symfony/yaml": "^7.3|^8.0", "twig/twig": "^3.12" }, "type": "symfony-bundle", @@ -4089,7 +4103,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v7.3.4" + "source": "https://github.com/symfony/framework-bundle/tree/7.4" }, "funding": [ { @@ -4109,27 +4123,28 @@ "type": "tidelift" } ], - "time": "2025-09-17T05:51:54+00:00" + "time": "2025-10-20T11:49:52+00:00" }, { "name": "symfony/html-sanitizer", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "8740fc48979f649dee8b8fc51a2698e5c190bf12" + "reference": "c55905f8a7090f30287757960b6e840614a5991a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/8740fc48979f649dee8b8fc51a2698e5c190bf12", - "reference": "8740fc48979f649dee8b8fc51a2698e5c190bf12", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/c55905f8a7090f30287757960b6e840614a5991a", + "reference": "c55905f8a7090f30287757960b6e840614a5991a", "shasum": "" }, "require": { "ext-dom": "*", "league/uri": "^6.5|^7.0", "masterminds/html5": "^2.7.2", - "php": ">=8.2" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -4162,7 +4177,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v7.3.3" + "source": "https://github.com/symfony/html-sanitizer/tree/7.4" }, "funding": [ { @@ -4182,20 +4197,20 @@ "type": "tidelift" } ], - "time": "2025-08-12T10:34:03+00:00" + "time": "2025-10-01T05:47:26+00:00" }, { "name": "symfony/http-client", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62" + "reference": "47ed7b551cadc882df160d8bc70fa15dc02d379a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/4b62871a01c49457cf2a8e560af7ee8a94b87a62", - "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62", + "url": "https://api.github.com/repos/symfony/http-client/zipball/47ed7b551cadc882df160d8bc70fa15dc02d379a", + "reference": "47ed7b551cadc882df160d8bc70fa15dc02d379a", "shasum": "" }, "require": { @@ -4226,12 +4241,13 @@ "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4262,7 +4278,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.4" + "source": "https://github.com/symfony/http-client/tree/7.4" }, "funding": [ { @@ -4282,7 +4298,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-15T06:55:53+00:00" }, { "name": "symfony/http-client-contracts", @@ -4364,23 +4380,22 @@ }, { "name": "symfony/http-foundation", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6" + "reference": "0960bc2879ee31747b31a13ca4baa8e5f5212b9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6", - "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0960bc2879ee31747b31a13ca4baa8e5f5212b9a", + "reference": "0960bc2879ee31747b31a13ca4baa8e5f5212b9a", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "^1.1" }, "conflict": { "doctrine/dbal": "<3.6", @@ -4389,13 +4404,13 @@ "require-dev": { "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4.12|^7.1.5", - "symfony/clock": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0" + "symfony/cache": "^6.4.12|^7.1.5|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4423,7 +4438,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.3.4" + "source": "https://github.com/symfony/http-foundation/tree/7.4" }, "funding": [ { @@ -4443,29 +4458,29 @@ "type": "tidelift" } ], - "time": "2025-09-16T08:38:17+00:00" + "time": "2025-10-14T10:51:45+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b796dffea7821f035047235e076b60ca2446e3cf" + "reference": "41b81fabe3a1fa56dde57afb1c229d7972c9af1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b796dffea7821f035047235e076b60ca2446e3cf", - "reference": "b796dffea7821f035047235e076b60ca2446e3cf", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/41b81fabe3a1fa56dde57afb1c229d7972c9af1c", + "reference": "41b81fabe3a1fa56dde57afb1c229d7972c9af1c", "shasum": "" }, "require": { "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^7.3", - "symfony/http-foundation": "^7.3", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^7.3|^8.0", + "symfony/http-foundation": "^7.4|^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -4492,27 +4507,27 @@ }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/dom-crawler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^6.4|^7.0", - "symfony/property-access": "^7.1", - "symfony/routing": "^6.4|^7.0", - "symfony/serializer": "^7.1", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^7.1|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/serializer": "^7.1|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0", - "symfony/var-exporter": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0", "twig/twig": "^3.12" }, "type": "library", @@ -4541,7 +4556,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.3.4" + "source": "https://github.com/symfony/http-kernel/tree/7.4" }, "funding": [ { @@ -4561,20 +4576,20 @@ "type": "tidelift" } ], - "time": "2025-09-27T12:32:17+00:00" + "time": "2025-10-14T19:17:33+00:00" }, { "name": "symfony/intl", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "e6db84864655885d9dac676a9d7dde0d904fda54" + "reference": "130a74468e673a1063819e193645a160862e1872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/e6db84864655885d9dac676a9d7dde0d904fda54", - "reference": "e6db84864655885d9dac676a9d7dde0d904fda54", + "url": "https://api.github.com/repos/symfony/intl/zipball/130a74468e673a1063819e193645a160862e1872", + "reference": "130a74468e673a1063819e193645a160862e1872", "shasum": "" }, "require": { @@ -4585,8 +4600,8 @@ "symfony/string": "<7.1" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4631,7 +4646,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v7.3.4" + "source": "https://github.com/symfony/intl/tree/7.4" }, "funding": [ { @@ -4651,20 +4666,20 @@ "type": "tidelift" } ], - "time": "2025-09-08T14:11:30+00:00" + "time": "2025-10-01T06:11:49+00:00" }, { "name": "symfony/mailer", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "ab97ef2f7acf0216955f5845484235113047a31d" + "reference": "367480d68b6a0272e2ed9f7be641941b9b783f78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/ab97ef2f7acf0216955f5845484235113047a31d", - "reference": "ab97ef2f7acf0216955f5845484235113047a31d", + "url": "https://api.github.com/repos/symfony/mailer/zipball/367480d68b6a0272e2ed9f7be641941b9b783f78", + "reference": "367480d68b6a0272e2ed9f7be641941b9b783f78", "shasum": "" }, "require": { @@ -4672,8 +4687,8 @@ "php": ">=8.2", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/mime": "^7.2", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/mime": "^7.2|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -4684,10 +4699,10 @@ "symfony/twig-bridge": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/twig-bridge": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/twig-bridge": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4715,7 +4730,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.3.4" + "source": "https://github.com/symfony/mailer/tree/7.4" }, "funding": [ { @@ -4735,24 +4750,25 @@ "type": "tidelift" } ], - "time": "2025-09-17T05:51:54+00:00" + "time": "2025-10-06T14:44:54+00:00" }, { "name": "symfony/mime", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35" + "reference": "adb6275d178ac5fabb59ac18d42bbbf887f809bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/b1b828f69cbaf887fa835a091869e55df91d0e35", - "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35", + "url": "https://api.github.com/repos/symfony/mime/zipball/adb6275d178ac5fabb59ac18d42bbbf887f809bc", + "reference": "adb6275d178ac5fabb59ac18d42bbbf887f809bc", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -4767,11 +4783,11 @@ "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3" + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.3|^7.0.3|^8.0" }, "type": "library", "autoload": { @@ -4803,7 +4819,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.3.4" + "source": "https://github.com/symfony/mime/tree/7.4" }, "funding": [ { @@ -4823,26 +4839,27 @@ "type": "tidelift" } ], - "time": "2025-09-16T08:38:17+00:00" + "time": "2025-09-16T08:41:45+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "7acf2abe23e5019451399ba69fc8ed3d61d4d8f0" + "reference": "f851e0e279c31f0c79e761a18c40a22c3e843767" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/7acf2abe23e5019451399ba69fc8ed3d61d4d8f0", - "reference": "7acf2abe23e5019451399ba69fc8ed3d61d4d8f0", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/f851e0e279c31f0c79e761a18c40a22c3e843767", + "reference": "f851e0e279c31f0c79e761a18c40a22c3e843767", "shasum": "" }, "require": { "monolog/monolog": "^3", "php": ">=8.2", - "symfony/http-kernel": "^6.4|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -4851,13 +4868,13 @@ "symfony/security-core": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/mailer": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/security-core": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/mailer": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/security-core": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "symfony-bridge", "autoload": { @@ -4885,7 +4902,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v7.3.4" + "source": "https://github.com/symfony/monolog-bridge/tree/7.4" }, "funding": [ { @@ -4905,7 +4922,7 @@ "type": "tidelift" } ], - "time": "2025-09-24T16:45:39+00:00" + "time": "2025-10-14T19:17:33+00:00" }, { "name": "symfony/monolog-bundle", @@ -4990,16 +5007,16 @@ }, { "name": "symfony/options-resolver", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" + "reference": "3324bca1ff334c8807a3968882edb76ea708b955" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/3324bca1ff334c8807a3968882edb76ea708b955", + "reference": "3324bca1ff334c8807a3968882edb76ea708b955", "shasum": "" }, "require": { @@ -5037,7 +5054,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" + "source": "https://github.com/symfony/options-resolver/tree/7.4" }, "funding": [ { @@ -5057,20 +5074,20 @@ "type": "tidelift" } ], - "time": "2025-08-05T10:16:07+00:00" + "time": "2025-08-13T16:46:49+00:00" }, { "name": "symfony/password-hasher", - "version": "v7.3.0", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "31fbe66af859582a20b803f38be96be8accdf2c3" + "reference": "aa075ce6f54fe931f03c1e382597912f4fd94e1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/31fbe66af859582a20b803f38be96be8accdf2c3", - "reference": "31fbe66af859582a20b803f38be96be8accdf2c3", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/aa075ce6f54fe931f03c1e382597912f4fd94e1e", + "reference": "aa075ce6f54fe931f03c1e382597912f4fd94e1e", "shasum": "" }, "require": { @@ -5080,8 +5097,8 @@ "symfony/security-core": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/security-core": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/security-core": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5113,7 +5130,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v7.3.0" + "source": "https://github.com/symfony/password-hasher/tree/7.4" }, "funding": [ { @@ -5124,12 +5141,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-02-04T08:22:58+00:00" + "time": "2025-08-13T16:46:49+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -5803,18 +5824,98 @@ ], "time": "2025-06-24T13:30:11+00:00" }, + { + "name": "symfony/polyfill-php85", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-23T16:12:55+00:00" + }, { "name": "symfony/process", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" + "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", + "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", + "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", "shasum": "" }, "require": { @@ -5846,7 +5947,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.4" + "source": "https://github.com/symfony/process/tree/7.4" }, "funding": [ { @@ -5866,28 +5967,29 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-16T11:21:06+00:00" }, { "name": "symfony/property-access", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7" + "reference": "537626149d2910ca43eb9ce465654366bf4442f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7", - "reference": "4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7", + "url": "https://api.github.com/repos/symfony/property-access/zipball/537626149d2910ca43eb9ce465654366bf4442f4", + "reference": "537626149d2910ca43eb9ce465654366bf4442f4", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/property-info": "^6.4|^7.0" + "symfony/property-info": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/cache": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4.1|^7.0.1|^8.0" }, "type": "library", "autoload": { @@ -5926,7 +6028,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v7.3.3" + "source": "https://github.com/symfony/property-access/tree/7.4" }, "funding": [ { @@ -5946,27 +6048,27 @@ "type": "tidelift" } ], - "time": "2025-08-04T15:15:28+00:00" + "time": "2025-09-08T21:14:32+00:00" }, { "name": "symfony/property-info", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "7b6db23f23d13ada41e1cb484748a8ec028fbace" + "reference": "de3f7d4daf68811567621e9e895d95462e7d70d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/7b6db23f23d13ada41e1cb484748a8ec028fbace", - "reference": "7b6db23f23d13ada41e1cb484748a8ec028fbace", + "url": "https://api.github.com/repos/symfony/property-info/zipball/de3f7d4daf68811567621e9e895d95462e7d70d0", + "reference": "de3f7d4daf68811567621e9e895d95462e7d70d0", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/string": "^6.4|^7.0", - "symfony/type-info": "~7.2.8|^7.3.1" + "symfony/string": "^6.4|^7.0|^8.0", + "symfony/type-info": "^7.3.5|^8.0" }, "conflict": { "phpdocumentor/reflection-docblock": "<5.2", @@ -5978,9 +6080,9 @@ "require-dev": { "phpdocumentor/reflection-docblock": "^5.2", "phpstan/phpdoc-parser": "^1.0|^2.0", - "symfony/cache": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6016,7 +6118,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.3.4" + "source": "https://github.com/symfony/property-info/tree/7.4" }, "funding": [ { @@ -6036,20 +6138,20 @@ "type": "tidelift" } ], - "time": "2025-09-15T13:55:54+00:00" + "time": "2025-10-06T15:39:23+00:00" }, { "name": "symfony/routing", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c" + "reference": "ba77be3a2b5bb2dd6746632d30e6316395613272" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c", - "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c", + "url": "https://api.github.com/repos/symfony/routing/zipball/ba77be3a2b5bb2dd6746632d30e6316395613272", + "reference": "ba77be3a2b5bb2dd6746632d30e6316395613272", "shasum": "" }, "require": { @@ -6063,15 +6165,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { "psr-4": { + "Symfony\\Config\\": "Loader/Config/", "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ @@ -6101,7 +6204,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.3.4" + "source": "https://github.com/symfony/routing/tree/7.4" }, "funding": [ { @@ -6121,20 +6224,20 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-20T06:09:48+00:00" }, { "name": "symfony/runtime", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "3550e2711e30bfa5d808514781cd52d1cc1d9e9f" + "reference": "43f5d81c284f8f058ba515601f486039f3785b7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/3550e2711e30bfa5d808514781cd52d1cc1d9e9f", - "reference": "3550e2711e30bfa5d808514781cd52d1cc1d9e9f", + "url": "https://api.github.com/repos/symfony/runtime/zipball/43f5d81c284f8f058ba515601f486039f3785b7d", + "reference": "43f5d81c284f8f058ba515601f486039f3785b7d", "shasum": "" }, "require": { @@ -6146,10 +6249,10 @@ }, "require-dev": { "composer/composer": "^2.6", - "symfony/console": "^6.4|^7.0", - "symfony/dotenv": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dotenv": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0" }, "type": "composer-plugin", "extra": { @@ -6184,7 +6287,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v7.3.4" + "source": "https://github.com/symfony/runtime/tree/7.4" }, "funding": [ { @@ -6204,36 +6307,37 @@ "type": "tidelift" } ], - "time": "2025-09-11T15:31:28+00:00" + "time": "2025-09-11T15:31:41+00:00" }, { "name": "symfony/security-bundle", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "f750d9abccbeaa433c56f6a4eb2073166476a75a" + "reference": "b0db0400eaf98d8194a09217a25676143611d2c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/f750d9abccbeaa433c56f6a4eb2073166476a75a", - "reference": "f750d9abccbeaa433c56f6a4eb2073166476a75a", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/b0db0400eaf98d8194a09217a25676143611d2c0", + "reference": "b0db0400eaf98d8194a09217a25676143611d2c0", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", "php": ">=8.2", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^7.3", - "symfony/dependency-injection": "^6.4.11|^7.1.4", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/password-hasher": "^6.4|^7.0", - "symfony/security-core": "^7.3", - "symfony/security-csrf": "^6.4|^7.0", - "symfony/security-http": "^7.3", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^6.4.11|^7.1.4|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", + "symfony/password-hasher": "^6.4|^7.0|^8.0", + "symfony/security-core": "^7.4|^8.0", + "symfony/security-csrf": "^6.4|^7.0|^8.0", + "symfony/security-http": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -6247,25 +6351,26 @@ "symfony/validator": "<6.4" }, "require-dev": { - "symfony/asset": "^6.4|^7.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/form": "^6.4|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/ldap": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/twig-bridge": "^6.4|^7.0", - "symfony/twig-bundle": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0", - "twig/twig": "^3.12", + "symfony/asset": "^6.4|^7.0|^8.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/dom-crawler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/form": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/ldap": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/runtime": "^6.4.13|^7.1.6|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/twig-bridge": "^6.4|^7.0|^8.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0", + "twig/twig": "^3.15", "web-token/jwt-library": "^3.3.2|^4.0" }, "type": "symfony-bundle", @@ -6294,7 +6399,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v7.3.4" + "source": "https://github.com/symfony/security-bundle/tree/7.4" }, "funding": [ { @@ -6314,27 +6419,27 @@ "type": "tidelift" } ], - "time": "2025-09-22T15:31:00+00:00" + "time": "2025-10-17T11:52:34+00:00" }, { "name": "symfony/security-core", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "68b9d3ca57615afde6152a1e1441fa035bea43f8" + "reference": "d618dc7cc4d449769164f00f0dc37a0359ba8968" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/68b9d3ca57615afde6152a1e1441fa035bea43f8", - "reference": "68b9d3ca57615afde6152a1e1441fa035bea43f8", + "url": "https://api.github.com/repos/symfony/security-core/zipball/d618dc7cc4d449769164f00f0dc37a0359ba8968", + "reference": "d618dc7cc4d449769164f00f0dc37a0359ba8968", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/event-dispatcher-contracts": "^2.5|^3", - "symfony/password-hasher": "^6.4|^7.0", + "symfony/password-hasher": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -6349,15 +6454,15 @@ "psr/cache": "^1.0|^2.0|^3.0", "psr/container": "^1.1|^2.0", "psr/log": "^1|^2|^3", - "symfony/cache": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/ldap": "^6.4|^7.0", - "symfony/string": "^6.4|^7.0", - "symfony/translation": "^6.4.3|^7.0.3", - "symfony/validator": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/ldap": "^6.4|^7.0|^8.0", + "symfony/string": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4.3|^7.0.3|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6385,7 +6490,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v7.3.4" + "source": "https://github.com/symfony/security-core/tree/7.4" }, "funding": [ { @@ -6405,33 +6510,33 @@ "type": "tidelift" } ], - "time": "2025-09-24T14:32:13+00:00" + "time": "2025-10-19T18:50:02+00:00" }, { "name": "symfony/security-csrf", - "version": "v7.3.0", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3" + "reference": "73e6e9b3863ff3c9e9c70bd9c004d2b8e8dc77ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/2b4b0c46c901729e4e90719eacd980381f53e0a3", - "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/73e6e9b3863ff3c9e9c70bd9c004d2b8e8dc77ea", + "reference": "73e6e9b3863ff3c9e9c70bd9c004d2b8e8dc77ea", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/security-core": "^6.4|^7.0" + "symfony/security-core": "^6.4|^7.0|^8.0" }, "conflict": { "symfony/http-foundation": "<6.4" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0" + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6459,7 +6564,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v7.3.0" + "source": "https://github.com/symfony/security-csrf/tree/7.4" }, "funding": [ { @@ -6470,55 +6575,59 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-01-02T18:42:10+00:00" + "time": "2025-10-15T16:16:27+00:00" }, { "name": "symfony/security-http", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "1cf54d0648ebab23bf9b8972617b79f1995e13a9" + "reference": "cbef3f517544385893ec2ed5eea2e229427e4940" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/1cf54d0648ebab23bf9b8972617b79f1995e13a9", - "reference": "1cf54d0648ebab23bf9b8972617b79f1995e13a9", + "url": "https://api.github.com/repos/symfony/security-http/zipball/cbef3f517544385893ec2ed5eea2e229427e4940", + "reference": "cbef3f517544385893ec2ed5eea2e229427e4940", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/security-core": "^7.3", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/security-core": "^7.3|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/clock": "<6.4", - "symfony/event-dispatcher": "<6.4", "symfony/http-client-contracts": "<3.0", "symfony/security-bundle": "<6.4", "symfony/security-csrf": "<6.4" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/cache": "^6.4|^7.0", - "symfony/clock": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^3.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/routing": "^6.4|^7.0", - "symfony/security-csrf": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/security-csrf": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", "web-token/jwt-library": "^3.3.2|^4.0" }, "type": "library", @@ -6547,7 +6656,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v7.3.4" + "source": "https://github.com/symfony/security-http/tree/7.4" }, "funding": [ { @@ -6567,7 +6676,7 @@ "type": "tidelift" } ], - "time": "2025-09-09T17:06:44+00:00" + "time": "2025-10-14T11:34:22+00:00" }, { "name": "symfony/service-contracts", @@ -6727,16 +6836,16 @@ }, { "name": "symfony/stopwatch", - "version": "v7.3.0", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd" + "reference": "8a24af0a2e8a872fb745047180649b8418303084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", - "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8a24af0a2e8a872fb745047180649b8418303084", + "reference": "8a24af0a2e8a872fb745047180649b8418303084", "shasum": "" }, "require": { @@ -6769,7 +6878,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.3.0" + "source": "https://github.com/symfony/stopwatch/tree/7.4" }, "funding": [ { @@ -6780,31 +6889,36 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-02-24T10:49:57+00:00" + "time": "2025-08-04T07:05:15+00:00" }, { "name": "symfony/string", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f96476035142921000338bad71e5247fbc138872" + "reference": "bc7852160e1f18ce249c3daaba3b26cf5425a34d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", - "reference": "f96476035142921000338bad71e5247fbc138872", + "url": "https://api.github.com/repos/symfony/string/zipball/bc7852160e1f18ce249c3daaba3b26cf5425a34d", + "reference": "bc7852160e1f18ce249c3daaba3b26cf5425a34d", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-grapheme": "~1.33", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, @@ -6812,11 +6926,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6855,7 +6969,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.4" + "source": "https://github.com/symfony/string/tree/7.4" }, "funding": [ { @@ -6875,27 +6989,27 @@ "type": "tidelift" } ], - "time": "2025-09-11T14:36:48+00:00" + "time": "2025-09-11T14:37:11+00:00" }, { "name": "symfony/translation", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "ec25870502d0c7072d086e8ffba1420c85965174" + "reference": "7d843af0451b4a94ab380eea4f8aaf7ba17d28af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174", - "reference": "ec25870502d0c7072d086e8ffba1420c85965174", + "url": "https://api.github.com/repos/symfony/translation/zipball/7d843af0451b4a94ab380eea4f8aaf7ba17d28af", + "reference": "7d843af0451b4a94ab380eea4f8aaf7ba17d28af", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.5|^3.0" + "symfony/translation-contracts": "^2.5.3|^3.3" }, "conflict": { "nikic/php-parser": "<5.0", @@ -6914,17 +7028,17 @@ "require-dev": { "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^6.4|^7.0", + "symfony/routing": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^6.4|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6955,7 +7069,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.3.4" + "source": "https://github.com/symfony/translation/tree/7.4" }, "funding": [ { @@ -6975,7 +7089,7 @@ "type": "tidelift" } ], - "time": "2025-09-07T11:39:36+00:00" + "time": "2025-09-29T13:00:59+00:00" }, { "name": "symfony/translation-contracts", @@ -7057,16 +7171,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "33558f013b7f6ed72805527c8405cae0062e47c5" + "reference": "f5fe218e1cd9015b4492281b9c490d2b96647ca1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/33558f013b7f6ed72805527c8405cae0062e47c5", - "reference": "33558f013b7f6ed72805527c8405cae0062e47c5", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/f5fe218e1cd9015b4492281b9c490d2b96647ca1", + "reference": "f5fe218e1cd9015b4492281b9c490d2b96647ca1", "shasum": "" }, "require": { @@ -7091,33 +7205,33 @@ "egulias/email-validator": "^2.1.10|^3|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^6.4|^7.0", - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/emoji": "^7.1", - "symfony/expression-language": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", - "symfony/form": "^6.4.20|^7.2.5", - "symfony/html-sanitizer": "^6.4|^7.0", - "symfony/http-foundation": "^7.3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", + "symfony/asset": "^6.4|^7.0|^8.0", + "symfony/asset-mapper": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/emoji": "^7.1|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/form": "^6.4.20|^7.2.5|^8.0", + "symfony/html-sanitizer": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^7.3|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/routing": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^6.4|^7.0", - "symfony/security-csrf": "^6.4|^7.0", - "symfony/security-http": "^6.4|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/web-link": "^6.4|^7.0", - "symfony/workflow": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0", + "symfony/security-core": "^6.4|^7.0|^8.0", + "symfony/security-csrf": "^6.4|^7.0|^8.0", + "symfony/security-http": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.3|^7.0.3|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/web-link": "^6.4|^7.0|^8.0", + "symfony/workflow": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0", "twig/cssinliner-extra": "^3", "twig/inky-extra": "^3", "twig/markdown-extra": "^3" @@ -7148,7 +7262,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v7.3.3" + "source": "https://github.com/symfony/twig-bridge/tree/7.4" }, "funding": [ { @@ -7168,30 +7282,30 @@ "type": "tidelift" } ], - "time": "2025-08-18T13:10:53+00:00" + "time": "2025-09-24T07:02:42+00:00" }, { "name": "symfony/twig-bundle", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "da5c778a8416fcce5318737c4d944f6fa2bb3f81" + "reference": "f83f530d00d1bbc6f7fafeb433077887c83326ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/da5c778a8416fcce5318737c4d944f6fa2bb3f81", - "reference": "da5c778a8416fcce5318737c4d944f6fa2bb3f81", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/f83f530d00d1bbc6f7fafeb433077887c83326ef", + "reference": "f83f530d00d1bbc6f7fafeb433077887c83326ef", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "php": ">=8.2", - "symfony/config": "^7.3", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/twig-bridge": "^7.3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", + "symfony/twig-bridge": "^7.3|^8.0", "twig/twig": "^3.12" }, "conflict": { @@ -7199,16 +7313,17 @@ "symfony/translation": "<6.4" }, "require-dev": { - "symfony/asset": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", - "symfony/form": "^6.4|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/routing": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/web-link": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0" + "symfony/asset": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/form": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/runtime": "^6.4.13|^7.1.6", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/web-link": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "symfony-bundle", "autoload": { @@ -7236,7 +7351,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v7.3.4" + "source": "https://github.com/symfony/twig-bundle/tree/7.4" }, "funding": [ { @@ -7256,20 +7371,20 @@ "type": "tidelift" } ], - "time": "2025-09-10T12:00:31+00:00" + "time": "2025-10-02T07:41:02+00:00" }, { "name": "symfony/type-info", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/type-info.git", - "reference": "d34eaeb57f39c8a9c97eb72a977c423207dfa35b" + "reference": "2e1c1b2886a16f9fa72699b66ae58a378c1a7619" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/type-info/zipball/d34eaeb57f39c8a9c97eb72a977c423207dfa35b", - "reference": "d34eaeb57f39c8a9c97eb72a977c423207dfa35b", + "url": "https://api.github.com/repos/symfony/type-info/zipball/2e1c1b2886a16f9fa72699b66ae58a378c1a7619", + "reference": "2e1c1b2886a16f9fa72699b66ae58a378c1a7619", "shasum": "" }, "require": { @@ -7319,7 +7434,7 @@ "type" ], "support": { - "source": "https://github.com/symfony/type-info/tree/v7.3.4" + "source": "https://github.com/symfony/type-info/tree/7.4" }, "funding": [ { @@ -7339,7 +7454,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T15:33:27+00:00" + "time": "2025-10-16T16:24:39+00:00" }, { "name": "symfony/ux-icons", @@ -7624,16 +7739,16 @@ }, { "name": "symfony/validator", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5e29a348b5fac2227b6938a54db006d673bb813a" + "reference": "1c4194120c72683d6881bc7a48d48566193a017a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5e29a348b5fac2227b6938a54db006d673bb813a", - "reference": "5e29a348b5fac2227b6938a54db006d673bb813a", + "url": "https://api.github.com/repos/symfony/validator/zipball/1c4194120c72683d6881bc7a48d48566193a017a", + "reference": "1c4194120c72683d6881bc7a48d48566193a017a", "shasum": "" }, "require": { @@ -7653,27 +7768,29 @@ "symfony/intl": "<6.4", "symfony/property-info": "<6.4", "symfony/translation": "<6.4.3|>=7.0,<7.0.3", + "symfony/var-exporter": "<6.4.25|>=7.0,<7.3.3", "symfony/yaml": "<6.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/string": "^6.4|^7.0", - "symfony/translation": "^6.4.3|^7.0.3", + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/string": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4.3|^7.0.3|^8.0", "symfony/type-info": "^7.1.8", - "symfony/yaml": "^6.4|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7702,7 +7819,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.3.4" + "source": "https://github.com/symfony/validator/tree/7.4" }, "funding": [ { @@ -7722,20 +7839,20 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:32:27+00:00" + "time": "2025-10-16T16:24:39+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb" + "reference": "0c9272cc57ad469bbcb3f881f2c9d0b1295d477d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb", - "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0c9272cc57ad469bbcb3f881f2c9d0b1295d477d", + "reference": "0c9272cc57ad469bbcb3f881f2c9d0b1295d477d", "shasum": "" }, "require": { @@ -7747,10 +7864,10 @@ "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/uid": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", "twig/twig": "^3.12" }, "bin": [ @@ -7789,7 +7906,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.4" + "source": "https://github.com/symfony/var-dumper/tree/7.4" }, "funding": [ { @@ -7809,20 +7926,20 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-09-29T13:00:59+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4" + "reference": "03a60f169c79a28513a78c967316fbc8bf17816f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f020b544a30a7fe8ba972e53ee48a74c0bc87f4", - "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f", + "reference": "03a60f169c79a28513a78c967316fbc8bf17816f", "shasum": "" }, "require": { @@ -7830,9 +7947,9 @@ "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7870,7 +7987,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.3.4" + "source": "https://github.com/symfony/var-exporter/tree/7.4" }, "funding": [ { @@ -7890,32 +8007,32 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-09-11T10:15:23+00:00" }, { "name": "symfony/yaml", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "d4f4a66866fe2451f61296924767280ab5732d9d" + "reference": "0d7c67f404dc22bfa340546f8537cd0eb61eec6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d", - "reference": "d4f4a66866fe2451f61296924767280ab5732d9d", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0d7c67f404dc22bfa340546f8537cd0eb61eec6a", + "reference": "0d7c67f404dc22bfa340546f8537cd0eb61eec6a", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -7946,7 +8063,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.3.3" + "source": "https://github.com/symfony/yaml/tree/7.4" }, "funding": [ { @@ -7966,7 +8083,7 @@ "type": "tidelift" } ], - "time": "2025-08-27T11:34:33+00:00" + "time": "2025-09-27T09:05:58+00:00" }, { "name": "symfonycasts/sass-bundle", @@ -8366,25 +8483,25 @@ "packages-dev": [ { "name": "dama/doctrine-test-bundle", - "version": "v8.3.1", + "version": "v8.4.0", "source": { "type": "git", "url": "https://github.com/dmaicher/doctrine-test-bundle.git", - "reference": "9bc47e02a0d67cbfef6773837249f71e65c95bf6" + "reference": "ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/9bc47e02a0d67cbfef6773837249f71e65c95bf6", - "reference": "9bc47e02a0d67cbfef6773837249f71e65c95bf6", + "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2", + "reference": "ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2", "shasum": "" }, "require": { "doctrine/dbal": "^3.3 || ^4.0", - "doctrine/doctrine-bundle": "^2.11.0", + "doctrine/doctrine-bundle": "^2.11.0 || ^3.0", "php": ">= 8.1", "psr/cache": "^2.0 || ^3.0", - "symfony/cache": "^6.4 || ^7.2 || ^8.0", - "symfony/framework-bundle": "^6.4 || ^7.2 || ^8.0" + "symfony/cache": "^6.4 || ^7.3 || ^8.0", + "symfony/framework-bundle": "^6.4 || ^7.3 || ^8.0" }, "conflict": { "phpunit/phpunit": "<10.0" @@ -8393,9 +8510,9 @@ "behat/behat": "^3.0", "friendsofphp/php-cs-fixer": "^3.27", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", - "symfony/process": "^6.4 || ^7.2 || ^8.0", - "symfony/yaml": "^6.4 || ^7.2 || ^8.0" + "phpunit/phpunit": "^10.5.57 || ^11.5.41|| ^12.3.14", + "symfony/dotenv": "^6.4 || ^7.3 || ^8.0", + "symfony/process": "^6.4 || ^7.3 || ^8.0" }, "type": "symfony-bundle", "extra": { @@ -8429,22 +8546,22 @@ ], "support": { "issues": "https://github.com/dmaicher/doctrine-test-bundle/issues", - "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.3.1" + "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.4.0" }, - "time": "2025-08-05T17:55:02+00:00" + "time": "2025-10-11T15:24:02+00:00" }, { "name": "doctrine/data-fixtures", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/data-fixtures.git", - "reference": "f161e20f04ba5440a09330e156b40f04dd70d47f" + "reference": "7a615ba135e45d67674bb623d90f34f6c7b6bd97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/f161e20f04ba5440a09330e156b40f04dd70d47f", - "reference": "f161e20f04ba5440a09330e156b40f04dd70d47f", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/7a615ba135e45d67674bb623d90f34f6c7b6bd97", + "reference": "7a615ba135e45d67674bb623d90f34f6c7b6bd97", "shasum": "" }, "require": { @@ -8458,14 +8575,14 @@ "doctrine/phpcr-odm": "<1.3.0" }, "require-dev": { - "doctrine/coding-standard": "^13", + "doctrine/coding-standard": "^14", "doctrine/dbal": "^3.5 || ^4", "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", "doctrine/orm": "^2.14 || ^3", "ext-sqlite3": "*", "fig/log-test": "^1", - "phpstan/phpstan": "2.1.17", - "phpunit/phpunit": "10.5.45", + "phpstan/phpstan": "2.1.31", + "phpunit/phpunit": "10.5.45 || 12.4.0", "symfony/cache": "^6.4 || ^7", "symfony/var-exporter": "^6.4 || ^7" }, @@ -8498,7 +8615,7 @@ ], "support": { "issues": "https://github.com/doctrine/data-fixtures/issues", - "source": "https://github.com/doctrine/data-fixtures/tree/2.1.0" + "source": "https://github.com/doctrine/data-fixtures/tree/2.2.0" }, "funding": [ { @@ -8514,25 +8631,25 @@ "type": "tidelift" } ], - "time": "2025-07-08T17:48:20+00:00" + "time": "2025-10-17T20:06:20+00:00" }, { "name": "doctrine/doctrine-fixtures-bundle", - "version": "4.1.0", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", - "reference": "a06db6b81ff20a2980bf92063d80c013bb8b4b7c" + "reference": "11941deb6f2899b91e8b8680b07ffe63899d864b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/a06db6b81ff20a2980bf92063d80c013bb8b4b7c", - "reference": "a06db6b81ff20a2980bf92063d80c013bb8b4b7c", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/11941deb6f2899b91e8b8680b07ffe63899d864b", + "reference": "11941deb6f2899b91e8b8680b07ffe63899d864b", "shasum": "" }, "require": { - "doctrine/data-fixtures": "^2.0", - "doctrine/doctrine-bundle": "^2.2", + "doctrine/data-fixtures": "^2.2", + "doctrine/doctrine-bundle": "^2.2 || ^3.0", "doctrine/orm": "^2.14.0 || ^3.0", "doctrine/persistence": "^2.4 || ^3.0 || ^4.0", "php": "^8.1", @@ -8548,7 +8665,7 @@ "doctrine/dbal": "< 3" }, "require-dev": { - "doctrine/coding-standard": "13.0.0", + "doctrine/coding-standard": "14.0.0", "phpstan/phpstan": "2.1.11", "phpunit/phpunit": "^10.5.38 || 11.4.14" }, @@ -8584,7 +8701,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues", - "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/4.1.0" + "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/4.3.0" }, "funding": [ { @@ -8600,7 +8717,7 @@ "type": "tidelift" } ], - "time": "2025-03-26T10:56:26+00:00" + "time": "2025-10-20T06:18:40+00:00" }, { "name": "myclabs/deep-copy", @@ -8840,11 +8957,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.30", + "version": "2.1.31", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a4a7f159927983dd4f7c8020ed227d80b7f39d7d", - "reference": "a4a7f159927983dd4f7c8020ed227d80b7f39d7d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ead89849d879fe203ce9292c6ef5e7e76f867b96", + "reference": "ead89849d879fe203ce9292c6ef5e7e76f867b96", "shasum": "" }, "require": { @@ -8889,20 +9006,20 @@ "type": "github" } ], - "time": "2025-10-02T16:07:52+00:00" + "time": "2025-10-10T14:14:11+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "2.0.6", + "version": "2.0.10", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "934f5734812341358fc41c44006b30fa00c785f0" + "reference": "5eaf37b87288474051469aee9f937fc9d862f330" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/934f5734812341358fc41c44006b30fa00c785f0", - "reference": "934f5734812341358fc41c44006b30fa00c785f0", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/5eaf37b87288474051469aee9f937fc9d862f330", + "reference": "5eaf37b87288474051469aee9f937fc9d862f330", "shasum": "" }, "require": { @@ -8936,7 +9053,8 @@ "phpstan/phpstan-strict-rules": "^2.0", "phpunit/phpunit": "^9.6.20", "ramsey/uuid": "^4.2", - "symfony/cache": "^5.4" + "symfony/cache": "^5.4", + "symfony/uid": "^5.4 || ^6.4 || ^7.3" }, "type": "phpstan-extension", "extra": { @@ -8959,9 +9077,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.6" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.10" }, - "time": "2025-09-10T07:06:30+00:00" + "time": "2025-10-06T10:01:02+00:00" }, { "name": "phpstan/phpstan-symfony", @@ -10518,27 +10636,28 @@ }, { "name": "symfony/browser-kit", - "version": "v7.3.2", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "f0b889b73a845cddef1d25fe207b37fd04cb5419" + "reference": "abec2fa9e2027d0d63cd8df46d1994bb7b74edc7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/f0b889b73a845cddef1d25fe207b37fd04cb5419", - "reference": "f0b889b73a845cddef1d25fe207b37fd04cb5419", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/abec2fa9e2027d0d63cd8df46d1994bb7b74edc7", + "reference": "abec2fa9e2027d0d63cd8df46d1994bb7b74edc7", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/dom-crawler": "^6.4|^7.0" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/dom-crawler": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/css-selector": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0" + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -10566,7 +10685,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v7.3.2" + "source": "https://github.com/symfony/browser-kit/tree/7.4" }, "funding": [ { @@ -10586,20 +10705,20 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:47:49+00:00" + "time": "2025-08-21T07:27:24+00:00" }, { "name": "symfony/css-selector", - "version": "v7.3.0", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" + "reference": "57500fef3e0e658cb3e188503f5a80d60cea866c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", - "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/57500fef3e0e658cb3e188503f5a80d60cea866c", + "reference": "57500fef3e0e658cb3e188503f5a80d60cea866c", "shasum": "" }, "require": { @@ -10635,7 +10754,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.3.0" + "source": "https://github.com/symfony/css-selector/tree/7.4" }, "funding": [ { @@ -10646,39 +10765,43 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-08-09T22:28:14+00:00" }, { "name": "symfony/debug-bundle", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", - "reference": "30f922edd53dd85238f1f26dbb68a044109f8f0e" + "reference": "5c5911a5ee2947089c6eb8101e4374b655500e1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/30f922edd53dd85238f1f26dbb68a044109f8f0e", - "reference": "30f922edd53dd85238f1f26dbb68a044109f8f0e", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/5c5911a5ee2947089c6eb8101e4374b655500e1b", + "reference": "5c5911a5ee2947089c6eb8101e4374b655500e1b", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", "php": ">=8.2", - "symfony/config": "^7.3", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/twig-bridge": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/config": "^7.3|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/twig-bridge": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/web-profiler-bundle": "^6.4|^7.0" + "symfony/web-profiler-bundle": "^6.4|^7.0|^8.0" }, "type": "symfony-bundle", "autoload": { @@ -10706,7 +10829,7 @@ "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug-bundle/tree/v7.3.4" + "source": "https://github.com/symfony/debug-bundle/tree/7.4" }, "funding": [ { @@ -10726,30 +10849,31 @@ "type": "tidelift" } ], - "time": "2025-09-10T12:00:31+00:00" + "time": "2025-10-13T11:51:25+00:00" }, { "name": "symfony/dom-crawler", - "version": "v7.3.3", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba" + "reference": "d4e84f351805b6e39747d6851c623836e9e81522" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/efa076ea0eeff504383ff0dcf827ea5ce15690ba", - "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d4e84f351805b6e39747d6851c623836e9e81522", + "reference": "d4e84f351805b6e39747d6851c623836e9e81522", "shasum": "" }, "require": { "masterminds/html5": "^2.6", "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "^6.4|^7.0" + "symfony/css-selector": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -10777,7 +10901,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.3.3" + "source": "https://github.com/symfony/dom-crawler/tree/7.4" }, "funding": [ { @@ -10797,7 +10921,7 @@ "type": "tidelift" } ], - "time": "2025-08-06T20:13:54+00:00" + "time": "2025-09-09T06:33:17+00:00" }, { "name": "symfony/maker-bundle", @@ -10894,28 +11018,28 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v7.3.4", + "version": "7.4.x-dev", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "f305fa4add690bb7d6b14ab61f37c3bd061a3dd7" + "reference": "2de0734cdc14e51b8559324b10dcf247f2aab8e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/f305fa4add690bb7d6b14ab61f37c3bd061a3dd7", - "reference": "f305fa4add690bb7d6b14ab61f37c3bd061a3dd7", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/2de0734cdc14e51b8559324b10dcf247f2aab8e8", + "reference": "2de0734cdc14e51b8559324b10dcf247f2aab8e8", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "php": ">=8.2", - "symfony/config": "^7.3", + "symfony/config": "^7.3|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/routing": "^6.4|^7.0", - "symfony/twig-bundle": "^6.4|^7.0", - "twig/twig": "^3.12" + "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", + "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/twig-bundle": "^6.4|^7.0|^8.0", + "twig/twig": "^3.15" }, "conflict": { "symfony/form": "<6.4", @@ -10925,10 +11049,11 @@ "symfony/workflow": "<7.3" }, "require-dev": { - "symfony/browser-kit": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/runtime": "^6.4.13|^7.1.6|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "symfony-bundle", "autoload": { @@ -10959,7 +11084,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.3.4" + "source": "https://github.com/symfony/web-profiler-bundle/tree/7.4" }, "funding": [ { @@ -10979,7 +11104,7 @@ "type": "tidelift" } ], - "time": "2025-09-25T08:03:55+00:00" + "time": "2025-10-10T05:53:19+00:00" }, { "name": "theseer/tokenizer", @@ -11033,7 +11158,7 @@ } ], "aliases": [], - "minimum-stability": "stable", + "minimum-stability": "dev", "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, diff --git a/config/packages/asset_mapper.yaml b/config/packages/asset_mapper.yaml index f7653e97f..dbc6b404c 100644 --- a/config/packages/asset_mapper.yaml +++ b/config/packages/asset_mapper.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: asset_mapper: # The paths to make available to the asset mapper. diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml index 6899b7200..dd2e6212b 100644 --- a/config/packages/cache.yaml +++ b/config/packages/cache.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: cache: # Unique name of your app: used to compute stable namespaces for cache keys. diff --git a/config/packages/csrf.yaml b/config/packages/csrf.yaml index 40d40405e..42542e1f2 100644 --- a/config/packages/csrf.yaml +++ b/config/packages/csrf.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json # Enable stateless CSRF protection for forms and logins/logouts framework: form: diff --git a/config/packages/dama_doctrine_test_bundle.yaml b/config/packages/dama_doctrine_test_bundle.yaml index 3482cbae1..3e7b58aa4 100644 --- a/config/packages/dama_doctrine_test_bundle.yaml +++ b/config/packages/dama_doctrine_test_bundle.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json when@test: dama_doctrine_test: enable_static_connection: true diff --git a/config/packages/debug.yaml b/config/packages/debug.yaml index ad874afdd..d08330d13 100644 --- a/config/packages/debug.yaml +++ b/config/packages/debug.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json when@dev: debug: # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. diff --git a/config/packages/deprecations.yaml b/config/packages/deprecations.yaml index d4254d010..a70a8b510 100644 --- a/config/packages/deprecations.yaml +++ b/config/packages/deprecations.yaml @@ -1,9 +1,10 @@ +# $schema: ../schema.json when@prod: # As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists - #monolog: - # channels: [deprecation] - # handlers: - # deprecation: - # type: stream - # channels: [deprecation] - # path: php://stderr + monolog: + channels: [deprecation] + handlers: + deprecation: + type: stream + channels: [deprecation] + path: php://stderr diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml index 3a220dec3..bcbf5fde4 100644 --- a/config/packages/doctrine.yaml +++ b/config/packages/doctrine.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json doctrine: dbal: url: '%env(resolve:DATABASE_URL)%' diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml index 29231d94b..2257174e1 100644 --- a/config/packages/doctrine_migrations.yaml +++ b/config/packages/doctrine_migrations.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json doctrine_migrations: migrations_paths: # namespace is arbitrary but should be different from App\Migrations diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml index 1cd58c200..d9bd79030 100644 --- a/config/packages/framework.yaml +++ b/config/packages/framework.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json # see https://symfony.com/doc/current/reference/configuration/framework.html framework: secret: '%env(APP_SECRET)%' diff --git a/config/packages/html_sanitizer.yaml b/config/packages/html_sanitizer.yaml index 4978fb51e..2be466e4f 100644 --- a/config/packages/html_sanitizer.yaml +++ b/config/packages/html_sanitizer.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: html_sanitizer: sanitizers: diff --git a/config/packages/mailer.yaml b/config/packages/mailer.yaml index 58a030813..39f606ae3 100644 --- a/config/packages/mailer.yaml +++ b/config/packages/mailer.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: mailer: dsn: '%env(MAILER_DSN)%' diff --git a/config/packages/monolog.yaml b/config/packages/monolog.yaml index cf8af193b..41a716546 100644 --- a/config/packages/monolog.yaml +++ b/config/packages/monolog.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json monolog: channels: - deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists @@ -22,6 +23,10 @@ when@dev: type: console process_psr_3_messages: false channels: ["!event", "!doctrine", "!console"] + deprecation: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" + channels: [deprecation] when@test: monolog: diff --git a/config/packages/property_info.yaml b/config/packages/property_info.yaml index dd31b9da2..045e0f339 100644 --- a/config/packages/property_info.yaml +++ b/config/packages/property_info.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: property_info: with_constructor_extractor: true diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml index 8166181c6..b019f35a8 100644 --- a/config/packages/routing.yaml +++ b/config/packages/routing.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: router: # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. diff --git a/config/packages/security.yaml b/config/packages/security.yaml index f923e3b64..61b57f880 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json security: password_hashers: # Our user class and the algorithm we'll use to encode passwords diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml index 399d15c16..4d57fea8d 100644 --- a/config/packages/translation.yaml +++ b/config/packages/translation.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json # See https://symfony.com/doc/current/translation.html framework: default_locale: '%app.locale%' diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml index 938b1d1ca..0f53d64c7 100644 --- a/config/packages/twig.yaml +++ b/config/packages/twig.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json twig: file_name_pattern: '*.twig' form_themes: diff --git a/config/packages/twig_component.yaml b/config/packages/twig_component.yaml index fd17ac693..0fb4f7217 100644 --- a/config/packages/twig_component.yaml +++ b/config/packages/twig_component.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json twig_component: anonymous_template_directory: 'components/' defaults: diff --git a/config/packages/ux_icons.yaml b/config/packages/ux_icons.yaml index a97d4055c..40cfa0613 100644 --- a/config/packages/ux_icons.yaml +++ b/config/packages/ux_icons.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json ux_icons: default_icon_attributes: width: 1.2em diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml index 033ca41bb..570ab1352 100644 --- a/config/packages/validator.yaml +++ b/config/packages/validator.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json framework: validation: enable_attributes: true @@ -6,7 +7,7 @@ framework: # Enables validator auto-mapping support. # For instance, basic validation constraints will be inferred from Doctrine's metadata. auto_mapping: - App\Entity\: [] + App\Entity\: {} when@test: framework: diff --git a/config/packages/web_profiler.yaml b/config/packages/web_profiler.yaml index 0eac3c989..debb6f0ec 100644 --- a/config/packages/web_profiler.yaml +++ b/config/packages/web_profiler.yaml @@ -1,3 +1,4 @@ +# $schema: ../schema.json when@dev: web_profiler: toolbar: true diff --git a/config/schema.json b/config/schema.json new file mode 100644 index 000000000..001a3a9da --- /dev/null +++ b/config/schema.json @@ -0,0 +1,12641 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": false, + "properties": { + "when@dev": { + "type": "object", + "properties": { + "framework": { + "$ref": "#/$defs/framework" + }, + "security": { + "$ref": "#/$defs/security" + }, + "doctrine": { + "$ref": "#/$defs/doctrine" + }, + "monolog": { + "$ref": "#/$defs/monolog" + }, + "twig": { + "$ref": "#/$defs/twig" + }, + "debug": { + "$ref": "#/$defs/debug" + }, + "web_profiler": { + "$ref": "#/$defs/web_profiler" + }, + "doctrine_migrations": { + "$ref": "#/$defs/doctrine_migrations" + }, + "maker": { + "$ref": "#/$defs/maker" + }, + "twig_extra": { + "$ref": "#/$defs/twig_extra" + }, + "twig_component": { + "$ref": "#/$defs/twig_component" + }, + "live_component": { + "$ref": "#/$defs/live_component" + }, + "symfonycasts_sass": { + "$ref": "#/$defs/symfonycasts_sass" + }, + "ux_icons": { + "$ref": "#/$defs/ux_icons" + } + }, + "additionalProperties": false + }, + "when@prod": { + "type": "object", + "properties": { + "framework": { + "$ref": "#/$defs/framework" + }, + "security": { + "$ref": "#/$defs/security" + }, + "doctrine": { + "$ref": "#/$defs/doctrine" + }, + "monolog": { + "$ref": "#/$defs/monolog" + }, + "twig": { + "$ref": "#/$defs/twig" + }, + "doctrine_migrations": { + "$ref": "#/$defs/doctrine_migrations" + }, + "twig_extra": { + "$ref": "#/$defs/twig_extra" + }, + "twig_component": { + "$ref": "#/$defs/twig_component" + }, + "live_component": { + "$ref": "#/$defs/live_component" + }, + "symfonycasts_sass": { + "$ref": "#/$defs/symfonycasts_sass" + }, + "ux_icons": { + "$ref": "#/$defs/ux_icons" + } + }, + "additionalProperties": false + }, + "when@test": { + "type": "object", + "properties": { + "framework": { + "$ref": "#/$defs/framework" + }, + "security": { + "$ref": "#/$defs/security" + }, + "doctrine": { + "$ref": "#/$defs/doctrine" + }, + "monolog": { + "$ref": "#/$defs/monolog" + }, + "twig": { + "$ref": "#/$defs/twig" + }, + "web_profiler": { + "$ref": "#/$defs/web_profiler" + }, + "dama_doctrine_test": { + "$ref": "#/$defs/dama_doctrine_test" + }, + "doctrine_migrations": { + "$ref": "#/$defs/doctrine_migrations" + }, + "twig_extra": { + "$ref": "#/$defs/twig_extra" + }, + "twig_component": { + "$ref": "#/$defs/twig_component" + }, + "live_component": { + "$ref": "#/$defs/live_component" + }, + "symfonycasts_sass": { + "$ref": "#/$defs/symfonycasts_sass" + }, + "ux_icons": { + "$ref": "#/$defs/ux_icons" + } + }, + "additionalProperties": false + }, + "framework": { + "$ref": "#/$defs/framework" + }, + "security": { + "$ref": "#/$defs/security" + }, + "doctrine": { + "$ref": "#/$defs/doctrine" + }, + "monolog": { + "$ref": "#/$defs/monolog" + }, + "twig": { + "$ref": "#/$defs/twig" + }, + "doctrine_migrations": { + "$ref": "#/$defs/doctrine_migrations" + }, + "twig_extra": { + "$ref": "#/$defs/twig_extra" + }, + "twig_component": { + "$ref": "#/$defs/twig_component" + }, + "live_component": { + "$ref": "#/$defs/live_component" + }, + "symfonycasts_sass": { + "$ref": "#/$defs/symfonycasts_sass" + }, + "ux_icons": { + "$ref": "#/$defs/ux_icons" + } + }, + "$defs": { + "framework": { + "type": "object", + "properties": { + "secret": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "http_method_override": { + "type": "boolean", + "default": false, + "description": "Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests." + }, + "allowed_http_method_override": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Sets the list of HTTP methods that can be overridden. Set to null to allow all methods to be overridden (default). Set to an empty array to disallow overrides entirely. Otherwise, provide the list of uppercased method names that are allowed." + }, + "trust_x_sendfile_type_header": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%", + "description": "Set true to enable support for xsendfile in binary file responses." + }, + "ide": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%env(default::SYMFONY_IDE)%" + }, + "test": { + "type": "boolean" + }, + "default_locale": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "en" + }, + "set_locale_from_accept_language": { + "type": "boolean", + "default": false, + "description": "Whether to use the Accept-Language HTTP header to set the Request locale (only when the \"_locale\" request attribute is not passed)." + }, + "set_content_language_from_locale": { + "type": "boolean", + "default": false, + "description": "Whether to set the Content-Language HTTP header on the Response using the Request locale." + }, + "enabled_locales": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Defines the possible locales for the application. This list is used for generating translations files, but also to restrict which locales are allowed when it is set from Accept-Language header (using \"set_locale_from_accept_language\")." + }, + "trusted_hosts": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "default": [ + "%env(default::SYMFONY_TRUSTED_HOSTS)%" + ] + }, + "trusted_proxies": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": [ + "%env(default::SYMFONY_TRUSTED_PROXIES)%" + ] + }, + "trusted_headers": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "default": [ + "%env(default::SYMFONY_TRUSTED_HEADERS)%" + ] + }, + "error_controller": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "error_controller" + }, + "handle_all_throwables": { + "type": "boolean", + "default": true, + "description": "HttpKernel will handle all kinds of \\Throwable." + }, + "csrf_protection": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "stateless_token_ids": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Enable headers/cookies-based CSRF validation for the listed token ids." + }, + "check_header": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false, + "description": "Whether to check the CSRF token in a header in addition to a cookie when using stateless protection." + }, + "cookie_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "csrf-token", + "description": "The name of the cookie to use when using stateless protection." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": null, + "stateless_token_ids": [], + "check_header": false, + "cookie_name": "csrf-token" + } + }, + "form": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "csrf_protection": { + "type": "object", + "properties": { + "enabled": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "token_id": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "field_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "_token" + }, + "field_attr": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "default": { + "data-controller": "csrf-protection" + } + } + }, + "additionalProperties": false, + "default": { + "enabled": null, + "token_id": null, + "field_name": "_token", + "field_attr": { + "data-controller": "csrf-protection" + } + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "csrf_protection": { + "enabled": null, + "token_id": null, + "field_name": "_token", + "field_attr": { + "data-controller": "csrf-protection" + } + } + }, + "description": "Form configuration" + }, + "http_cache": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "debug": { + "type": "boolean", + "default": "%kernel.debug%" + }, + "trace_level": { + "$anyOf": [ + { + "enum": [ + "none", + "short", + "full" + ] + }, + { + "type": "null" + } + ] + }, + "trace_header": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "default_ttl": { + "type": "integer" + }, + "private_headers": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "skip_response_headers": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "allow_reload": { + "type": "boolean" + }, + "allow_revalidate": { + "type": "boolean" + }, + "stale_while_revalidate": { + "type": "integer" + }, + "stale_if_error": { + "type": "integer" + }, + "terminate_on_cache_hit": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "debug": "%kernel.debug%", + "private_headers": [], + "skip_response_headers": [] + }, + "description": "HTTP cache configuration" + }, + "esi": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + }, + "description": "ESI configuration" + }, + "ssi": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + }, + "description": "SSI configuration" + }, + "fragments": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "hinclude_default_template": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "/_fragment" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "hinclude_default_template": null, + "path": "/_fragment" + }, + "description": "Fragments configuration" + }, + "profiler": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "collect": { + "type": "boolean", + "default": true + }, + "collect_parameter": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The name of the parameter to use to enable or disable collection on a per request basis." + }, + "only_exceptions": { + "type": "boolean", + "default": false + }, + "only_main_requests": { + "type": "boolean", + "default": false + }, + "dsn": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "file:%kernel.cache_dir%/profiler" + }, + "collect_serializer_data": { + "type": "boolean", + "default": false, + "description": "Enables the serializer data collector and profiler panel." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "collect": true, + "collect_parameter": null, + "only_exceptions": false, + "only_main_requests": false, + "dsn": "file:%kernel.cache_dir%/profiler", + "collect_serializer_data": false + }, + "description": "Profiler configuration" + }, + "workflows": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "workflows": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "audit_trail": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "type": { + "$anyOf": [ + { + "enum": [ + "workflow", + "state_machine" + ] + }, + { + "type": "null" + } + ], + "default": "state_machine" + }, + "marking_store": { + "type": "object", + "properties": { + "type": { + "$anyOf": [ + { + "enum": [ + "method" + ] + }, + { + "type": "null" + } + ] + }, + "property": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + "supports": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "definition_validators": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "support_strategy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "initial_marking": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "events_to_dispatch": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Select which Transition events should be dispatched for this Workflow.", + "examples": [ + [ + "workflow.enter", + "workflow.transition" + ] + ] + }, + "places": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "metadata": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "examples": [ + { + "color": "blue", + "description": "Workflow to manage article." + } + ] + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "transitions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "guard": { + "type": "string", + "description": "An expression to block the transition.", + "examples": [ + "is_fully_authenticated() and is_granted('ROLE_JOURNALIST') and subject.getTitle() == 'My first article'" + ] + }, + "from": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "place": { + "type": "string" + }, + "weight": { + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "required": [ + "place" + ], + "additionalProperties": false + }, + "minItems": 1 + }, + { + "type": [ + "string" + ] + } + ] + }, + "to": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "place": { + "type": "string" + }, + "weight": { + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "required": [ + "place" + ], + "additionalProperties": false + }, + "minItems": 1 + }, + { + "type": [ + "string" + ] + } + ] + }, + "weight": { + "type": "integer", + "default": 1 + }, + "metadata": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "examples": [ + { + "color": "blue", + "description": "Workflow to manage article." + } + ] + } + }, + "required": [ + "name" + ], + "additionalProperties": false + }, + "minItems": 1 + }, + "metadata": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "examples": [ + { + "color": "blue", + "description": "Workflow to manage article." + } + ] + } + }, + "required": [ + "transitions" + ], + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "workflows": [] + } + }, + "router": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "resource": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "cache_dir": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.build_dir%", + "deprecated": true, + "deprecationMessage": "Since symfony/framework-bundle 7.1: Setting the \"framework.router.cache_dir.cache_dir\" configuration option is deprecated. It will be removed in version 8.0." + }, + "default_uri": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The default URI used to generate URLs in a non-HTTP context." + }, + "http_port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 80 + }, + "https_port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 443 + }, + "strict_requirements": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true, + "description": "set to true to throw an exception when a parameter does not match the requirements\nset to false to disable exceptions when a parameter does not match the requirements (and return null instead)\nset to null to disable parameter checks against requirements\n'true' is the preferred configuration in development mode, while 'false' or 'null' might be preferred in production" + }, + "utf8": { + "type": "boolean", + "default": true + } + }, + "required": [ + "resource" + ], + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "cache_dir": "%kernel.build_dir%", + "default_uri": null, + "http_port": 80, + "https_port": 443, + "strict_requirements": true, + "utf8": true + }, + "description": "Router configuration" + }, + "session": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "storage_factory_id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "session.storage.factory.native" + }, + "handler_id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to using the native session handler, or to the native *file* session handler if \"save_path\" is not null." + }, + "name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "cookie_lifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "cookie_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "cookie_domain": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "cookie_secure": { + "$anyOf": [ + { + "enum": [ + true, + false, + "auto" + ] + }, + { + "type": "null" + } + ], + "default": "auto" + }, + "cookie_httponly": { + "type": "boolean", + "default": true + }, + "cookie_samesite": { + "$anyOf": [ + { + "enum": [ + null, + "lax", + "strict", + "none" + ] + }, + { + "type": "null" + } + ], + "default": "lax" + }, + "use_cookies": { + "type": "boolean" + }, + "gc_divisor": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "gc_probability": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "gc_maxlifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "save_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"%kernel.cache_dir%/sessions\" if the \"handler_id\" option is not null." + }, + "metadata_update_threshold": { + "type": "integer", + "default": 0, + "description": "Seconds to wait between 2 session metadata updates." + }, + "sid_length": { + "type": "integer", + "minimum": 22, + "maximum": 256, + "deprecated": true, + "deprecationMessage": "Since symfony/framework-bundle 7.2: Setting the \"framework.session.sid_length.sid_length\" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option." + }, + "sid_bits_per_character": { + "type": "integer", + "minimum": 4, + "maximum": 6, + "deprecated": true, + "deprecationMessage": "Since symfony/framework-bundle 7.2: Setting the \"framework.session.sid_bits_per_character.sid_bits_per_character\" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "storage_factory_id": "session.storage.factory.native", + "cookie_secure": "auto", + "cookie_httponly": true, + "cookie_samesite": "lax", + "metadata_update_threshold": 0 + }, + "description": "Session configuration" + }, + "request": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "formats": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "formats": [] + }, + "description": "Request configuration" + }, + "assets": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "strict_mode": { + "type": "boolean", + "default": false, + "description": "Throw an exception if an entry is missing from the manifest.json." + }, + "version_strategy": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "version": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "version_format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%%s?%%s" + }, + "json_manifest_path": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "base_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + }, + "base_urls": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "minItems": 1 + }, + { + "type": [ + "string" + ] + } + ] + }, + "packages": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "strict_mode": { + "type": "boolean", + "default": false, + "description": "Throw an exception if an entry is missing from the manifest.json." + }, + "version_strategy": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "version": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "version_format": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "json_manifest_path": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "base_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + }, + "base_urls": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "minItems": 1 + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "strict_mode": false, + "version_strategy": null, + "version": null, + "version_format": "%%s?%%s", + "json_manifest_path": null, + "base_path": "", + "base_urls": [], + "packages": [] + }, + "description": "Assets configuration" + }, + "asset_mapper": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "paths": { + "$anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Directories that hold assets that should be in the mapper. Can be a simple array of an array of [\"path/to/assets\": \"namespace\"].", + "examples": [ + [ + "assets/" + ] + ] + }, + "excluded_patterns": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Array of glob patterns of asset file paths that should not be in the asset mapper.", + "examples": [ + [ + "*/assets/build/*", + "*/*_.scss" + ] + ] + }, + "exclude_dotfiles": { + "type": "boolean", + "default": true, + "description": "If true, any files starting with \".\" will be excluded from the asset mapper." + }, + "server": { + "type": "boolean", + "default": true, + "description": "If true, a \"dev server\" will return the assets from the public directory (true in \"debug\" mode only by default)." + }, + "public_prefix": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "/assets/", + "description": "The public path where the assets will be written to (and served from when \"server\" is true)." + }, + "missing_import_mode": { + "$anyOf": [ + { + "enum": [ + "strict", + "warn", + "ignore" + ] + }, + { + "type": "null" + } + ], + "default": "warn", + "description": "Behavior if an asset cannot be found when imported from JavaScript or CSS files - e.g. \"import './non-existent.js'\". \"strict\" means an exception is thrown, \"warn\" means a warning is logged, \"ignore\" means the import is left as-is." + }, + "extensions": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Key-value pair of file extensions set to their mime type.", + "examples": [ + { + ".zip": "application/zip" + } + ] + }, + "importmap_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/importmap.php", + "description": "The path of the importmap.php file." + }, + "importmap_polyfill": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "es-module-shims", + "description": "The importmap name that will be used to load the polyfill. Set to false to disable." + }, + "importmap_script_attributes": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Key-value pair of attributes to add to script tags output for the importmap.", + "examples": [ + { + "data-turbo-track": "reload" + } + ] + }, + "vendor_dir": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/assets/vendor", + "description": "The directory to store JavaScript vendors." + }, + "precompress": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "formats": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Array of formats to enable. \"brotli\", \"zstandard\" and \"gzip\" are supported. Defaults to all formats supported by the system. The entire list must be provided." + }, + "extensions": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "default": [ + "css", + "cur", + "eot", + "html", + "js", + "json", + "md", + "otc", + "otf", + "proto", + "rss", + "rtf", + "svg", + "ttc", + "ttf", + "txt", + "wasm", + "xml" + ], + "description": "Array of extensions to compress. The entire list must be provided, no merging occurs." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "formats": [], + "extensions": [ + "css", + "cur", + "eot", + "html", + "js", + "json", + "md", + "otc", + "otf", + "proto", + "rss", + "rtf", + "svg", + "ttc", + "ttf", + "txt", + "wasm", + "xml" + ] + }, + "description": "Precompress assets with Brotli, Zstandard and gzip." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "paths": [], + "excluded_patterns": [], + "exclude_dotfiles": true, + "server": true, + "public_prefix": "/assets/", + "missing_import_mode": "warn", + "extensions": [], + "importmap_path": "%kernel.project_dir%/importmap.php", + "importmap_polyfill": "es-module-shims", + "importmap_script_attributes": [], + "vendor_dir": "%kernel.project_dir%/assets/vendor", + "precompress": { + "enabled": false, + "formats": [], + "extensions": [ + "css", + "cur", + "eot", + "html", + "js", + "json", + "md", + "otc", + "otf", + "proto", + "rss", + "rtf", + "svg", + "ttc", + "ttf", + "txt", + "wasm", + "xml" + ] + } + }, + "description": "Asset Mapper configuration" + }, + "translator": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "fallbacks": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Defaults to the value of \"default_locale\"." + }, + "logging": { + "type": "boolean", + "default": false + }, + "formatter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "translator.formatter.default" + }, + "cache_dir": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.cache_dir%/translations" + }, + "default_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/translations", + "description": "The default path used to load translations." + }, + "paths": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "pseudo_localization": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "accents": { + "type": "boolean", + "default": true + }, + "expansion_factor": { + "type": "number", + "minimum": 1, + "default": 1 + }, + "brackets": { + "type": "boolean", + "default": true + }, + "parse_html": { + "type": "boolean", + "default": false + }, + "localizable_html_attributes": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "accents": true, + "expansion_factor": 1, + "brackets": true, + "parse_html": false, + "localizable_html_attributes": [] + } + }, + "providers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "dsn": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "domains": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "locales": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "If not set, all locales listed under framework.enabled_locales are used." + } + }, + "additionalProperties": false + }, + "description": "Translation providers you can read/write your translations from." + }, + "globals": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "value": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "message": { + "type": "string" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "domain": { + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "description": "Global parameters.", + "examples": [ + { + "app_version": 3.14 + } + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "fallbacks": [], + "logging": false, + "formatter": "translator.formatter.default", + "cache_dir": "%kernel.cache_dir%/translations", + "default_path": "%kernel.project_dir%/translations", + "paths": [], + "pseudo_localization": { + "enabled": false, + "accents": true, + "expansion_factor": 1, + "brackets": true, + "parse_html": false, + "localizable_html_attributes": [] + }, + "providers": [], + "globals": [] + }, + "description": "Translator configuration" + }, + "validation": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "cache": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "deprecated": true, + "deprecationMessage": "Since symfony/framework-bundle 7.3: Setting the \"framework.validation.cache.cache\" configuration option is deprecated. It will be removed in version 8.0." + }, + "enable_attributes": { + "type": "boolean", + "default": true + }, + "static_method": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "default": [ + "loadValidatorMetadata" + ] + }, + "translation_domain": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "validators" + }, + "email_validation_mode": { + "$anyOf": [ + { + "enum": [ + "html5", + "html5-allow-no-tld", + "strict", + "loose" + ] + }, + { + "type": "null" + } + ], + "default": "html5" + }, + "mapping": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false, + "default": { + "paths": [] + } + }, + "not_compromised_password": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "When disabled, compromised passwords will be accepted as valid." + }, + "endpoint": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "API endpoint for the NotCompromisedPassword Validator." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "endpoint": null + } + }, + "disable_translation": { + "type": "boolean", + "default": false + }, + "auto_mapping": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "services": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + }, + "description": "A collection of namespaces for which auto-mapping will be enabled by default, or null to opt-in with the EnableAutoMapping constraint.", + "examples": [ + { + "App\\Entity\\": [], + "App\\WithSpecificLoaders\\": [ + "validator.property_info_loader" + ] + } + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "enable_attributes": true, + "static_method": [ + "loadValidatorMetadata" + ], + "translation_domain": "validators", + "email_validation_mode": "html5", + "mapping": { + "paths": [] + }, + "not_compromised_password": { + "enabled": true, + "endpoint": null + }, + "disable_translation": false, + "auto_mapping": [] + }, + "description": "Validation configuration" + }, + "annotations": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "serializer": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "enable_attributes": { + "type": "boolean", + "default": true + }, + "name_converter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "circular_reference_handler": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "max_depth_handler": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "mapping": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false, + "default": { + "paths": [] + } + }, + "default_context": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "named_serializers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "name_converter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "default_context": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "include_built_in_normalizers": { + "type": "boolean", + "default": true, + "description": "Whether to include the built-in normalizers" + }, + "include_built_in_encoders": { + "type": "boolean", + "default": true, + "description": "Whether to include the built-in encoders" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "enable_attributes": true, + "mapping": { + "paths": [] + }, + "default_context": [], + "named_serializers": [] + }, + "description": "Serializer configuration" + }, + "property_access": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "magic_call": { + "type": "boolean", + "default": false + }, + "magic_get": { + "type": "boolean", + "default": true + }, + "magic_set": { + "type": "boolean", + "default": true + }, + "throw_exception_on_invalid_index": { + "type": "boolean", + "default": false + }, + "throw_exception_on_invalid_property_path": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "magic_call": false, + "magic_get": true, + "magic_set": true, + "throw_exception_on_invalid_index": false, + "throw_exception_on_invalid_property_path": true + }, + "description": "Property access configuration" + }, + "type_info": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "aliases": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Additional type aliases to be used during type context creation." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "aliases": [] + }, + "description": "Type info configuration" + }, + "property_info": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "with_constructor_extractor": { + "type": "boolean", + "description": "Registers the constructor extractor." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true + }, + "description": "Property info configuration" + }, + "cache": { + "type": "object", + "properties": { + "prefix_seed": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "_%kernel.project_dir%.%kernel.container_class%", + "description": "Used to namespace cache keys when using several apps with the same shared backend.", + "examples": [ + "my-application-name/%kernel.environment%" + ] + }, + "app": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "cache.adapter.filesystem", + "description": "App related cache pools configuration." + }, + "system": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "cache.adapter.system", + "description": "System related cache pools configuration." + }, + "directory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.cache_dir%/pools/app" + }, + "default_psr6_provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "default_redis_provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "redis://localhost" + }, + "default_valkey_provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "valkey://localhost" + }, + "default_memcached_provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "memcached://localhost" + }, + "default_doctrine_dbal_provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "database_connection" + }, + "default_pdo_provider": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "pools": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "adapters": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "One or more adapters to chain for creating the pool, defaults to \"cache.app\"." + }, + "tags": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "public": { + "type": "boolean", + "default": false + }, + "default_lifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Default lifetime of the pool.", + "examples": [ + "\"300\" for 5 minutes expressed in seconds, \"PT5M\" for five minutes expressed as ISO 8601 time interval, or \"5 minutes\" as a date expression" + ] + }, + "provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Overwrite the setting from the default provider for this adapter." + }, + "early_expiration_message_bus": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "examples": [ + "\"messenger.default_bus\" to send early expiration events to the default Messenger bus." + ] + }, + "clearer": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "default": { + "prefix_seed": "_%kernel.project_dir%.%kernel.container_class%", + "app": "cache.adapter.filesystem", + "system": "cache.adapter.system", + "directory": "%kernel.cache_dir%/pools/app", + "default_redis_provider": "redis://localhost", + "default_valkey_provider": "valkey://localhost", + "default_memcached_provider": "memcached://localhost", + "default_doctrine_dbal_provider": "database_connection", + "default_pdo_provider": null, + "pools": [] + }, + "description": "Cache configuration" + }, + "php_errors": { + "type": "object", + "properties": { + "log": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true, + "description": "Use the application logger instead of the PHP logger for logging PHP errors.", + "examples": [ + "\"true\" to use the default configuration: log all errors. \"false\" to disable. An integer bit field of E_* constants, or an array mapping E_* constants to log levels." + ] + }, + "throw": { + "type": "boolean", + "default": true, + "description": "Throw PHP errors as \\ErrorException instances." + } + }, + "additionalProperties": false, + "default": { + "log": true, + "throw": true + }, + "description": "PHP errors handling configuration" + }, + "exceptions": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "log_level": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The level of log message. Null to let Symfony decide." + }, + "status_code": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The status code of the response. Null or 0 to let Symfony decide." + }, + "log_channel": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The channel of log message. Null to let Symfony decide." + } + }, + "additionalProperties": false + }, + "description": "Exception handling configuration" + }, + "web_link": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + }, + "description": "Web links configuration" + }, + "lock": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "resources": { + "$anyOf": [ + { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "default": { + "default": [ + "flock" + ] + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "string", + "boolean" + ] + } + ], + "default": { + "enabled": false, + "resources": { + "default": [ + "flock" + ] + } + }, + "description": "Lock configuration" + }, + "semaphore": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "resources": { + "$anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "minProperties": 1 + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string", + "boolean" + ] + } + ], + "default": { + "enabled": false, + "resources": [] + }, + "description": "Semaphore configuration" + }, + "messenger": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "routing": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "senders": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false + } + }, + "serializer": { + "type": "object", + "properties": { + "default_serializer": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "messenger.transport.native_php_serializer", + "description": "Service id to use as the default serializer for the transports." + }, + "symfony_serializer": { + "type": "object", + "properties": { + "format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "json", + "description": "Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default)." + }, + "context": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Context array for the messenger.transport.symfony_serializer service (which is not the serializer used by default)." + } + }, + "additionalProperties": false, + "default": { + "format": "json", + "context": [] + } + } + }, + "additionalProperties": false, + "default": { + "default_serializer": "messenger.transport.native_php_serializer", + "symfony_serializer": { + "format": "json", + "context": [] + } + } + }, + "transports": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "dsn": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "serializer": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Service id of a custom serializer to use." + }, + "options": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "failure_transport": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Transport name to send failed messages to (after all retries have failed)." + }, + "retry_strategy": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "service": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Service id to override the retry strategy entirely." + }, + "max_retries": { + "type": "integer", + "minimum": 0, + "default": 3 + }, + "delay": { + "type": "integer", + "minimum": 0, + "default": 1000, + "description": "Time in ms to delay (or the initial value when multiplier is used)." + }, + "multiplier": { + "type": "number", + "minimum": 1, + "default": 2, + "description": "If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries))." + }, + "max_delay": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Max time in ms that a retry should ever be delayed (0 = infinite)." + }, + "jitter": { + "type": "number", + "minimum": 0, + "maximum": 1, + "default": 0.1, + "description": "Randomness to apply to the delay (between 0 and 1)." + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ], + "default": { + "service": null, + "max_retries": 3, + "delay": 1000, + "multiplier": 2, + "max_delay": 0, + "jitter": 0.1 + } + }, + "rate_limiter": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Rate limiter name to use when processing messages." + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "failure_transport": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Transport name to send failed messages to (after all retries have failed)." + }, + "stop_worker_on_signals": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "integer", + "string" + ] + } + ], + "description": "A list of signals that should stop the worker; defaults to SIGTERM and SIGINT." + }, + "default_bus": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "buses": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "default_middleware": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "allow_no_handlers": { + "type": "boolean", + "default": false + }, + "allow_no_senders": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + { + "type": [ + "string", + "boolean" + ] + } + ], + "default": { + "enabled": true, + "allow_no_handlers": false, + "allow_no_senders": true + } + }, + "middleware": { + "$anyOf": [ + { + "type": "array", + "items": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "arguments": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "additionalProperties": false, + "default": { + "default_middleware": { + "enabled": true, + "allow_no_handlers": false, + "allow_no_senders": true + }, + "middleware": [] + } + }, + "default": { + "messenger.bus.default": { + "default_middleware": { + "enabled": true, + "allow_no_handlers": false, + "allow_no_senders": true + }, + "middleware": [] + } + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "routing": [], + "serializer": { + "default_serializer": "messenger.transport.native_php_serializer", + "symfony_serializer": { + "format": "json", + "context": [] + } + }, + "transports": [], + "failure_transport": null, + "stop_worker_on_signals": [], + "default_bus": null, + "buses": { + "messenger.bus.default": { + "default_middleware": { + "enabled": true, + "allow_no_handlers": false, + "allow_no_senders": true + }, + "middleware": [] + } + } + }, + "description": "Messenger configuration" + }, + "scheduler": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + }, + "description": "Scheduler configuration" + }, + "disallow_search_engine_index": { + "type": "boolean", + "default": true, + "description": "Enabled by default when debug is enabled." + }, + "http_client": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "max_host_connections": { + "type": "integer", + "description": "The maximum number of connections to a single host." + }, + "default_options": { + "type": "object", + "properties": { + "headers": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Associative array: header => value(s)." + }, + "vars": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Associative array: the default vars used to expand the templated URI." + }, + "max_redirects": { + "type": "integer", + "description": "The maximum number of redirects to follow." + }, + "http_version": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The default HTTP version, typically 1.1 or 2.0, leave to null for the best version." + }, + "resolve": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Associative array: domain => IP." + }, + "proxy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The URL of the proxy to pass requests through or null for automatic detection." + }, + "no_proxy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A comma separated list of hosts that do not require a proxy to be reached." + }, + "timeout": { + "type": "number", + "description": "The idle timeout, defaults to the \"default_socket_timeout\" ini parameter." + }, + "max_duration": { + "type": "number", + "description": "The maximum execution time for the request+response as a whole." + }, + "bindto": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A network interface name, IP address, a host name or a UNIX socket to bind to." + }, + "verify_peer": { + "type": "boolean", + "description": "Indicates if the peer should be verified in a TLS context." + }, + "verify_host": { + "type": "boolean", + "description": "Indicates if the host should exist as a certificate common name." + }, + "cafile": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A certificate authority file." + }, + "capath": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A directory that contains multiple certificate authority files." + }, + "local_cert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A PEM formatted certificate file." + }, + "local_pk": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A private key file." + }, + "passphrase": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The passphrase used to encrypt the \"local_pk\" file." + }, + "ciphers": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A list of TLS ciphers separated by colons, commas or spaces (e.g. \"RC3-SHA:TLS13-AES-128-GCM-SHA256\"...)" + }, + "peer_fingerprint": { + "type": "object", + "properties": { + "sha1": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pin-sha256": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "md5": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false, + "description": "Associative array: hashing algorithm => hash(es)." + }, + "crypto_method": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants." + }, + "extra": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Extra options for specific HTTP client." + }, + "rate_limiter": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Rate limiter name to use for throttling requests." + }, + "caching": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "cache_pool": { + "type": "string", + "default": "cache.http_client", + "description": "The taggable cache pool to use for storing the responses." + }, + "shared": { + "type": "boolean", + "default": true, + "description": "Indicates whether the cache is shared (public) or private." + }, + "max_ttl": { + "$anyOf": [ + { + "type": [ + "integer" + ], + "minimum": 0 + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The maximum TTL (in seconds) allowed for cached responses. Null means no cap." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "cache_pool": "cache.http_client", + "shared": true, + "max_ttl": null + }, + "description": "Caching configuration." + }, + "retry_failed": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "retry_strategy": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "service id to override the retry strategy." + }, + "http_codes": { + "$anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "code": { + "type": "integer" + }, + "methods": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "A list of HTTP methods that triggers a retry for this status code. When empty, all methods are retried." + } + }, + "additionalProperties": false + } + }, + { + "type": [ + "integer", + "string" + ] + } + ], + "description": "A list of HTTP status code that triggers a retry." + }, + "max_retries": { + "type": "integer", + "minimum": 0, + "default": 3 + }, + "delay": { + "type": "integer", + "minimum": 0, + "default": 1000, + "description": "Time in ms to delay (or the initial value when multiplier is used)." + }, + "multiplier": { + "type": "number", + "minimum": 1, + "default": 2, + "description": "If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries)." + }, + "max_delay": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Max time in ms that a retry should ever be delayed (0 = infinite)." + }, + "jitter": { + "type": "number", + "minimum": 0, + "maximum": 1, + "default": 0.1, + "description": "Randomness in percent (between 0 and 1) to apply to the delay." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "retry_strategy": null, + "http_codes": [], + "max_retries": 3, + "delay": 1000, + "multiplier": 2, + "max_delay": 0, + "jitter": 0.1 + } + } + }, + "additionalProperties": false + }, + "mock_response_factory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The id of the service that should generate mock responses. It should be either an invokable or an iterable." + }, + "scoped_clients": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "scope": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The regular expression that the request URL must match before adding the other options. When none is provided, the base URI is used instead." + }, + "base_uri": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The URI to resolve relative URLs, following rules in RFC 3985, section 2." + }, + "auth_basic": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "An HTTP Basic authentication \"username:password\"." + }, + "auth_bearer": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A token enabling HTTP Bearer authorization." + }, + "auth_ntlm": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A \"username:password\" pair to use Microsoft NTLM authentication (requires the cURL extension)." + }, + "query": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Associative array of query string values merged with the base URI." + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Associative array: header => value(s)." + }, + "max_redirects": { + "type": "integer", + "description": "The maximum number of redirects to follow." + }, + "http_version": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The default HTTP version, typically 1.1 or 2.0, leave to null for the best version." + }, + "resolve": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Associative array: domain => IP." + }, + "proxy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The URL of the proxy to pass requests through or null for automatic detection." + }, + "no_proxy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A comma separated list of hosts that do not require a proxy to be reached." + }, + "timeout": { + "type": "number", + "description": "The idle timeout, defaults to the \"default_socket_timeout\" ini parameter." + }, + "max_duration": { + "type": "number", + "description": "The maximum execution time for the request+response as a whole." + }, + "bindto": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A network interface name, IP address, a host name or a UNIX socket to bind to." + }, + "verify_peer": { + "type": "boolean", + "description": "Indicates if the peer should be verified in a TLS context." + }, + "verify_host": { + "type": "boolean", + "description": "Indicates if the host should exist as a certificate common name." + }, + "cafile": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A certificate authority file." + }, + "capath": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A directory that contains multiple certificate authority files." + }, + "local_cert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A PEM formatted certificate file." + }, + "local_pk": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A private key file." + }, + "passphrase": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The passphrase used to encrypt the \"local_pk\" file." + }, + "ciphers": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A list of TLS ciphers separated by colons, commas or spaces (e.g. \"RC3-SHA:TLS13-AES-128-GCM-SHA256\"...)." + }, + "peer_fingerprint": { + "type": "object", + "properties": { + "sha1": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pin-sha256": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "md5": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false, + "description": "Associative array: hashing algorithm => hash(es)." + }, + "crypto_method": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants." + }, + "extra": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Extra options for specific HTTP client." + }, + "rate_limiter": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Rate limiter name to use for throttling requests." + }, + "caching": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "cache_pool": { + "type": "string", + "default": "cache.http_client", + "description": "The taggable cache pool to use for storing the responses." + }, + "shared": { + "type": "boolean", + "default": true, + "description": "Indicates whether the cache is shared (public) or private." + }, + "max_ttl": { + "$anyOf": [ + { + "type": [ + "integer" + ], + "minimum": 0 + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The maximum TTL (in seconds) allowed for cached responses. Null means no cap." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "cache_pool": "cache.http_client", + "shared": true, + "max_ttl": null + }, + "description": "Caching configuration." + }, + "retry_failed": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "retry_strategy": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "service id to override the retry strategy." + }, + "http_codes": { + "$anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "code": { + "type": "integer" + }, + "methods": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "A list of HTTP methods that triggers a retry for this status code. When empty, all methods are retried." + } + }, + "additionalProperties": false + } + }, + { + "type": [ + "integer", + "string" + ] + } + ], + "description": "A list of HTTP status code that triggers a retry." + }, + "max_retries": { + "type": "integer", + "minimum": 0, + "default": 3 + }, + "delay": { + "type": "integer", + "minimum": 0, + "default": 1000, + "description": "Time in ms to delay (or the initial value when multiplier is used)." + }, + "multiplier": { + "type": "number", + "minimum": 1, + "default": 2, + "description": "If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries)." + }, + "max_delay": { + "type": "integer", + "minimum": 0, + "default": 0, + "description": "Max time in ms that a retry should ever be delayed (0 = infinite)." + }, + "jitter": { + "type": "number", + "minimum": 0, + "maximum": 1, + "default": 0.1, + "description": "Randomness in percent (between 0 and 1) to apply to the delay." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "retry_strategy": null, + "http_codes": [], + "max_retries": 3, + "delay": 1000, + "multiplier": 2, + "max_delay": 0, + "jitter": 0.1 + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "scoped_clients": [] + }, + "description": "HTTP Client configuration" + }, + "mailer": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "message_bus": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The message bus to use. Defaults to the default bus if the Messenger component is installed." + }, + "dsn": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "transports": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "envelope": { + "type": "object", + "properties": { + "sender": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "recipients": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "allowed_recipients": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "A list of regular expressions that allow recipients when \"recipients\" option is defined.", + "examples": [ + [ + ".*@example\\.com" + ] + ] + } + }, + "additionalProperties": false, + "description": "Mailer Envelope configuration" + }, + "headers": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "value": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "dkim_signer": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "key": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "", + "description": "Key content, or path to key (in PEM format with the `file://` prefix)" + }, + "domain": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + }, + "select": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + }, + "passphrase": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "", + "description": "The private key passphrase" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "key": "", + "domain": "", + "select": "", + "passphrase": "", + "options": [] + }, + "description": "DKIM signer configuration" + }, + "smime_signer": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "key": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "", + "description": "Path to key (in PEM format)" + }, + "certificate": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "", + "description": "Path to certificate (in PEM format without the `file://` prefix)" + }, + "passphrase": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The private key passphrase" + }, + "extra_certificates": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "sign_options": { + "$anyOf": [ + { + "type": [ + "integer" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "key": "", + "certificate": "", + "passphrase": null, + "extra_certificates": null, + "sign_options": null + }, + "description": "S/MIME signer configuration" + }, + "smime_encrypter": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "repository": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "", + "description": "S/MIME certificate repository service. This service shall implement the `Symfony\\Component\\Mailer\\EventListener\\SmimeCertificateRepositoryInterface`." + }, + "cipher": { + "$anyOf": [ + { + "type": [ + "integer" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "A set of algorithms used to encrypt the message" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "repository": "", + "cipher": null + }, + "description": "S/MIME encrypter configuration" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "message_bus": null, + "dsn": null, + "transports": [], + "headers": [], + "dkim_signer": { + "enabled": false, + "key": "", + "domain": "", + "select": "", + "passphrase": "", + "options": [] + }, + "smime_signer": { + "enabled": false, + "key": "", + "certificate": "", + "passphrase": null, + "extra_certificates": null, + "sign_options": null + }, + "smime_encrypter": { + "enabled": false, + "repository": "", + "cipher": null + } + }, + "description": "Mailer configuration" + }, + "secrets": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "vault_directory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%" + }, + "local_dotenv_file": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/.env.%kernel.runtime_environment%.local" + }, + "decryption_env_var": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "base64:default::SYMFONY_DECRYPTION_SECRET" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "vault_directory": "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%", + "local_dotenv_file": "%kernel.project_dir%/.env.%kernel.runtime_environment%.local", + "decryption_env_var": "base64:default::SYMFONY_DECRYPTION_SECRET" + } + }, + "notifier": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "message_bus": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The message bus to use. Defaults to the default bus if the Messenger component is installed." + }, + "chatter_transports": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "texter_transports": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "notification_on_failed_messages": { + "type": "boolean", + "default": false + }, + "channel_policy": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "admin_recipients": { + "type": "array", + "items": { + "type": "object", + "properties": { + "email": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "phone": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "message_bus": null, + "chatter_transports": [], + "texter_transports": [], + "notification_on_failed_messages": false, + "channel_policy": [], + "admin_recipients": [] + }, + "description": "Notifier configuration" + }, + "rate_limiter": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "limiters": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "lock_factory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "auto", + "description": "The service ID of the lock factory used by this limiter (or null to disable locking)." + }, + "cache_pool": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "cache.rate_limiter", + "description": "The cache pool to use for storing the current limiter state." + }, + "storage_service": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The service ID of a custom storage implementation, this precedes any configured \"cache_pool\"." + }, + "policy": { + "$anyOf": [ + { + "enum": [ + "fixed_window", + "token_bucket", + "sliding_window", + "compound", + "no_limit" + ] + }, + { + "type": "null" + } + ], + "description": "The algorithm to be used by this limiter." + }, + "limiters": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "The limiter names to use when using the \"compound\" policy." + }, + "limit": { + "type": "integer", + "description": "The maximum allowed hits in a fixed interval or burst." + }, + "interval": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Configures the fixed interval if \"policy\" is set to \"fixed_window\" or \"sliding_window\". The value must be a number followed by \"second\", \"minute\", \"hour\", \"day\", \"week\" or \"month\" (or their plural equivalent)." + }, + "rate": { + "type": "object", + "properties": { + "interval": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Configures the rate interval. The value must be a number followed by \"second\", \"minute\", \"hour\", \"day\", \"week\" or \"month\" (or their plural equivalent)." + }, + "amount": { + "type": "integer", + "default": 1, + "description": "Amount of tokens to add each interval." + } + }, + "additionalProperties": false, + "description": "Configures the fill rate if \"policy\" is set to \"token_bucket\"." + } + }, + "required": [ + "policy" + ], + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "limiters": [] + }, + "description": "Rate limiter configuration" + }, + "uid": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "default_uuid_version": { + "$anyOf": [ + { + "enum": [ + 7, + 6, + 4, + 1 + ] + }, + { + "type": "null" + } + ], + "default": 7 + }, + "name_based_uuid_version": { + "$anyOf": [ + { + "enum": [ + 5, + 3 + ] + }, + { + "type": "null" + } + ], + "default": 5 + }, + "name_based_uuid_namespace": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "time_based_uuid_version": { + "$anyOf": [ + { + "enum": [ + 7, + 6, + 1 + ] + }, + { + "type": "null" + } + ], + "default": 7 + }, + "time_based_uuid_node": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "default_uuid_version": 7, + "name_based_uuid_version": 5, + "time_based_uuid_version": 7 + }, + "description": "Uid configuration" + }, + "html_sanitizer": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "sanitizers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "allow_safe_elements": { + "type": "boolean", + "default": false, + "description": "Allows \"safe\" elements and attributes." + }, + "allow_static_elements": { + "type": "boolean", + "default": false, + "description": "Allows all static elements and attributes from the W3C Sanitizer API standard." + }, + "allow_elements": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Configures the elements that the sanitizer should retain from the input. The element name is the key, the value is either a list of allowed attributes for this element or \"*\" to allow the default set of attributes (https://wicg.github.io/sanitizer-api/#default-configuration).", + "examples": [ + { + "i": "*", + "a": [ + "title" + ], + "span": "class" + } + ] + }, + "block_elements": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Configures elements as blocked. Blocked elements are elements the sanitizer should remove from the input, but retain their children." + }, + "drop_elements": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Configures elements as dropped. Dropped elements are elements the sanitizer should remove from the input, including their children." + }, + "allow_attributes": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Configures attributes as allowed. Allowed attributes are attributes the sanitizer should retain from the input." + }, + "drop_attributes": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Configures attributes as dropped. Dropped attributes are attributes the sanitizer should remove from the input." + }, + "force_attributes": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": "Forcefully set the values of certain attributes on certain elements." + }, + "force_https_urls": { + "type": "boolean", + "default": false, + "description": "Transforms URLs using the HTTP scheme to use the HTTPS scheme instead." + }, + "allowed_link_schemes": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Allows only a given list of schemes to be used in links href attributes." + }, + "allowed_link_hosts": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string", + "null" + ] + } + ], + "default": null, + "description": "Allows only a given list of hosts to be used in links href attributes." + }, + "allow_relative_links": { + "type": "boolean", + "default": false, + "description": "Allows relative URLs to be used in links href attributes." + }, + "allowed_media_schemes": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Allows only a given list of schemes to be used in media source attributes (img, audio, video, ...)." + }, + "allowed_media_hosts": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string", + "null" + ] + } + ], + "default": null, + "description": "Allows only a given list of hosts to be used in media source attributes (img, audio, video, ...)." + }, + "allow_relative_medias": { + "type": "boolean", + "default": false, + "description": "Allows relative URLs to be used in media source attributes (img, audio, video, ...)." + }, + "with_attribute_sanitizers": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Registers custom attribute sanitizers." + }, + "without_attribute_sanitizers": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Unregisters custom attribute sanitizers." + }, + "max_input_length": { + "type": "integer", + "default": 0, + "description": "The maximum length allowed for the sanitized input." + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "sanitizers": [] + }, + "description": "HtmlSanitizer configuration" + }, + "webhook": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "message_bus": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "messenger.default_bus", + "description": "The message bus to use." + }, + "routing": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "secret": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + } + }, + "required": [ + "service" + ], + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "message_bus": "messenger.default_bus", + "routing": [] + }, + "description": "Webhook configuration" + }, + "remote-event": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + }, + "description": "RemoteEvent configuration" + }, + "json_streamer": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + }, + "description": "JSON streamer configuration" + } + }, + "additionalProperties": false + }, + "security": { + "type": "object", + "properties": { + "access_denied_url": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "examples": [ + "/foo/error403" + ] + }, + "session_fixation_strategy": { + "$anyOf": [ + { + "enum": [ + "none", + "migrate", + "invalidate" + ] + }, + { + "type": "null" + } + ], + "default": "migrate" + }, + "hide_user_not_found": { + "type": "boolean", + "deprecated": true, + "deprecationMessage": "Since symfony/security-bundle 7.3: The \"hide_user_not_found\" option is deprecated and will be removed in 8.0. Use the \"expose_security_errors\" option instead." + }, + "expose_security_errors": { + "$anyOf": [ + { + "enum": [ + "!php/enum Symfony\\Component\\Security\\Http\\Authentication\\ExposeSecurityLevel::None", + "!php/enum Symfony\\Component\\Security\\Http\\Authentication\\ExposeSecurityLevel::AccountStatus", + "!php/enum Symfony\\Component\\Security\\Http\\Authentication\\ExposeSecurityLevel::All" + ] + }, + { + "type": "null" + } + ], + "default": "none" + }, + "erase_credentials": { + "type": "boolean", + "default": true + }, + "access_decision_manager": { + "type": "object", + "properties": { + "strategy": { + "$anyOf": [ + { + "enum": [ + "affirmative", + "consensus", + "unanimous", + "priority" + ] + }, + { + "type": "null" + } + ] + }, + "service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "strategy_service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "allow_if_all_abstain": { + "type": "boolean", + "default": false + }, + "allow_if_equal_granted_denied": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false, + "default": { + "allow_if_all_abstain": false, + "allow_if_equal_granted_denied": true + } + }, + "password_hashers": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "algorithm": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "migrate_from": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "hash_algorithm": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "sha512", + "description": "Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms." + }, + "key_length": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 40 + }, + "ignore_case": { + "type": "boolean", + "default": false + }, + "encode_as_base64": { + "type": "boolean", + "default": true + }, + "iterations": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 5000 + }, + "cost": { + "$anyOf": [ + { + "type": [ + "integer" + ], + "minimum": 4, + "maximum": 31 + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "memory_cost": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "time_cost": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "minProperties": 1, + "examples": [ + { + "App\\Entity\\User1": "auto", + "App\\Entity\\User2": { + "algorithm": "auto", + "time_cost": 8, + "cost": 13 + } + } + ] + }, + "providers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "chain": { + "type": "object", + "properties": { + "providers": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "minProperties": 1, + "examples": [ + { + "my_memory_provider": { + "memory": { + "users": { + "foo": { + "password": "foo", + "roles": "ROLE_USER" + }, + "bar": { + "password": "bar", + "roles": "[ROLE_USER, ROLE_ADMIN]" + } + } + } + }, + "my_entity_provider": { + "entity": { + "class": "SecurityBundle:User", + "property": "username" + } + } + } + ] + }, + "firewalls": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "pattern": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "methods": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "security": { + "type": "boolean", + "default": true + }, + "user_checker": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "security.user_checker", + "description": "The UserChecker to use when authenticating users in this firewall." + }, + "request_matcher": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "access_denied_url": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "access_denied_handler": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "entry_point": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "An enabled authenticator name or a service id that implements \"Symfony\\Component\\Security\\Http\\EntryPoint\\AuthenticationEntryPointInterface\"." + }, + "provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "stateless": { + "type": "boolean", + "default": false + }, + "lazy": { + "type": "boolean", + "default": false + }, + "context": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "logout": { + "type": "object", + "properties": { + "enable_csrf": { + "$anyOf": [ + { + "type": [ + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "csrf_token_id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "logout" + }, + "csrf_parameter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "_csrf_token" + }, + "csrf_token_manager": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "/logout" + }, + "target": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "/" + }, + "invalidate_session": { + "type": "boolean", + "default": true + }, + "clear_site_data": { + "$anyOf": [ + { + "type": "array", + "items": { + "$anyOf": [ + { + "enum": [ + "*", + "cache", + "cookies", + "storage", + "executionContexts" + ] + }, + { + "type": "null" + } + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "delete_cookies": { + "$anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "path": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "domain": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "secure": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "samesite": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "partitioned": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + } + }, + "additionalProperties": false + } + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "additionalProperties": false + }, + "switch_user": { + "type": "object", + "properties": { + "provider": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "parameter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "_switch_user" + }, + "role": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "ROLE_ALLOWED_TO_SWITCH" + }, + "target_route": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + } + }, + "additionalProperties": false + }, + "required_badges": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "A list of badges that must be present on the authenticated passport." + } + }, + "additionalProperties": false + }, + "minProperties": 1 + }, + "access_control": { + "type": "array", + "items": { + "type": "object", + "properties": { + "request_matcher": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "requires_channel": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "path": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Use the urldecoded format.", + "examples": [ + "^/path to resource/" + ] + }, + "host": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "port": { + "$anyOf": [ + { + "type": [ + "integer" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "ips": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "attributes": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "route": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "methods": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "allow_if": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "roles": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "additionalProperties": false + } + }, + "role_hierarchy": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + } + } + }, + "required": [ + "firewalls" + ], + "additionalProperties": false + }, + "doctrine": { + "type": "object", + "properties": { + "dbal": { + "type": "object", + "properties": { + "default_connection": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "types": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "class": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "commented": { + "type": "boolean", + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.0: The doctrine-bundle type commenting features were removed; the corresponding config parameter was deprecated in 2.0 and will be dropped in 3.0." + } + }, + "required": [ + "class" + ], + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "driver_schemes": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Defines a driver for given URL schemes. Schemes being driver names cannot be redefined. However, other default schemes can be overwritten." + }, + "connections": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "url": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A URL with connection information; any parameter value parsed from this string will override explicitly set parameters" + }, + "dbname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"localhost\" at runtime." + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to null at runtime." + }, + "user": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"root\" at runtime." + }, + "password": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to null at runtime." + }, + "override_url": { + "type": "boolean", + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.4: The \"doctrine.dbal.override_url\" configuration key is deprecated." + }, + "dbname_suffix": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Adds the given suffix to the configured database name, this option has no effects for the SQLite platform" + }, + "application_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "charset": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "memory": { + "type": "boolean" + }, + "unix_socket": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The unix socket to use for MySQL" + }, + "persistent": { + "type": "boolean", + "description": "True to use as persistent connection for the ibm_db2 driver" + }, + "protocol": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)" + }, + "service": { + "type": "boolean", + "description": "True to use SERVICE_NAME as connection parameter instead of SID for Oracle" + }, + "servicename": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter." + }, + "sessionMode": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The session mode to use for the oci8 driver" + }, + "server": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The name of a running database server to connect to for SQL Anywhere." + }, + "default_dbname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Override the default database (postgres) to connect to for PostgreSQL connexion." + }, + "sslmode": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL." + }, + "sslrootcert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities." + }, + "sslcert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The path to the SSL client certificate file for PostgreSQL." + }, + "sslkey": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The path to the SSL client key file for PostgreSQL." + }, + "sslcrl": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The file name of the SSL certificate revocation list for PostgreSQL." + }, + "pooled": { + "type": "boolean", + "description": "True to use a pooled server with the oci8/pdo_oracle driver" + }, + "MultipleActiveResultSets": { + "type": "boolean", + "description": "Configuring MultipleActiveResultSets for the pdo_sqlsrv driver" + }, + "use_savepoints": { + "type": "boolean", + "description": "Use savepoints for nested transactions" + }, + "instancename": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance." + }, + "connectstring": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\\DBAL\\Connection will no longer function as expected." + }, + "driver": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "pdo_mysql" + }, + "platform_service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.9: The \"platform_service\" configuration key is deprecated since doctrine-bundle 2.9. DBAL 4 will not support setting a custom platform via connection params anymore." + }, + "auto_commit": { + "type": "boolean" + }, + "schema_filter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "logging": { + "type": "boolean", + "default": true + }, + "profiling": { + "type": "boolean", + "default": true + }, + "profiling_collect_backtrace": { + "type": "boolean", + "default": false, + "description": "Enables collecting backtraces when profiling is enabled" + }, + "profiling_collect_schema_errors": { + "type": "boolean", + "default": true, + "description": "Enables collecting schema errors when profiling is enabled" + }, + "disable_type_comments": { + "type": "boolean" + }, + "server_version": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "idle_connection_ttl": { + "type": "integer", + "default": 600 + }, + "driver_class": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "wrapper_class": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "keep_slave": { + "type": "boolean", + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.2: The \"keep_slave\" configuration key is deprecated since doctrine-bundle 2.2. Use the \"keep_replica\" configuration key instead." + }, + "keep_replica": { + "type": "boolean" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "mapping_types": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "default_table_options": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "This option is used by the schema-tool and affects generated SQL. Possible keys include 'charset','collation', and 'engine'." + }, + "schema_manager_factory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "doctrine.dbal.default_schema_manager_factory" + }, + "result_cache": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "slaves": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "url": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A URL with connection information; any parameter value parsed from this string will override explicitly set parameters" + }, + "dbname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"localhost\" at runtime." + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to null at runtime." + }, + "user": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"root\" at runtime." + }, + "password": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to null at runtime." + }, + "override_url": { + "type": "boolean", + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.4: The \"doctrine.dbal.override_url\" configuration key is deprecated." + }, + "dbname_suffix": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Adds the given suffix to the configured database name, this option has no effects for the SQLite platform" + }, + "application_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "charset": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "memory": { + "type": "boolean" + }, + "unix_socket": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The unix socket to use for MySQL" + }, + "persistent": { + "type": "boolean", + "description": "True to use as persistent connection for the ibm_db2 driver" + }, + "protocol": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)" + }, + "service": { + "type": "boolean", + "description": "True to use SERVICE_NAME as connection parameter instead of SID for Oracle" + }, + "servicename": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter." + }, + "sessionMode": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The session mode to use for the oci8 driver" + }, + "server": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The name of a running database server to connect to for SQL Anywhere." + }, + "default_dbname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Override the default database (postgres) to connect to for PostgreSQL connexion." + }, + "sslmode": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL." + }, + "sslrootcert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities." + }, + "sslcert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The path to the SSL client certificate file for PostgreSQL." + }, + "sslkey": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The path to the SSL client key file for PostgreSQL." + }, + "sslcrl": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The file name of the SSL certificate revocation list for PostgreSQL." + }, + "pooled": { + "type": "boolean", + "description": "True to use a pooled server with the oci8/pdo_oracle driver" + }, + "MultipleActiveResultSets": { + "type": "boolean", + "description": "Configuring MultipleActiveResultSets for the pdo_sqlsrv driver" + }, + "use_savepoints": { + "type": "boolean", + "description": "Use savepoints for nested transactions" + }, + "instancename": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance." + }, + "connectstring": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\\DBAL\\Connection will no longer function as expected." + } + }, + "additionalProperties": false + }, + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.2: The \"slaves\" configuration key will be renamed to \"replicas\" in doctrine-bundle 3.0. \"slaves\" is deprecated since doctrine-bundle 2.2." + }, + "replicas": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "url": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "A URL with connection information; any parameter value parsed from this string will override explicitly set parameters" + }, + "dbname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"localhost\" at runtime." + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to null at runtime." + }, + "user": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to \"root\" at runtime." + }, + "password": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to null at runtime." + }, + "override_url": { + "type": "boolean", + "deprecated": true, + "deprecationMessage": "Since doctrine/doctrine-bundle 2.4: The \"doctrine.dbal.override_url\" configuration key is deprecated." + }, + "dbname_suffix": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Adds the given suffix to the configured database name, this option has no effects for the SQLite platform" + }, + "application_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "charset": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "memory": { + "type": "boolean" + }, + "unix_socket": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The unix socket to use for MySQL" + }, + "persistent": { + "type": "boolean", + "description": "True to use as persistent connection for the ibm_db2 driver" + }, + "protocol": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)" + }, + "service": { + "type": "boolean", + "description": "True to use SERVICE_NAME as connection parameter instead of SID for Oracle" + }, + "servicename": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter." + }, + "sessionMode": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The session mode to use for the oci8 driver" + }, + "server": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The name of a running database server to connect to for SQL Anywhere." + }, + "default_dbname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Override the default database (postgres) to connect to for PostgreSQL connexion." + }, + "sslmode": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL." + }, + "sslrootcert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities." + }, + "sslcert": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The path to the SSL client certificate file for PostgreSQL." + }, + "sslkey": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The path to the SSL client key file for PostgreSQL." + }, + "sslcrl": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The file name of the SSL certificate revocation list for PostgreSQL." + }, + "pooled": { + "type": "boolean", + "description": "True to use a pooled server with the oci8/pdo_oracle driver" + }, + "MultipleActiveResultSets": { + "type": "boolean", + "description": "Configuring MultipleActiveResultSets for the pdo_sqlsrv driver" + }, + "use_savepoints": { + "type": "boolean", + "description": "Use savepoints for nested transactions" + }, + "instancename": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance." + }, + "connectstring": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\\DBAL\\Connection will no longer function as expected." + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "minProperties": 1 + } + }, + "additionalProperties": false + }, + "orm": { + "type": "object", + "properties": { + "default_entity_manager": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "auto_generate_proxy_classes": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false, + "description": "Auto generate mode possible values are: \"NEVER\", \"ALWAYS\", \"FILE_NOT_EXISTS\", \"EVAL\", \"FILE_NOT_EXISTS_OR_CHANGED\", this option is ignored when the \"enable_native_lazy_objects\" option is true" + }, + "enable_lazy_ghost_objects": { + "type": "boolean", + "default": true, + "description": "Enables the new implementation of proxies based on lazy ghosts instead of using the legacy implementation" + }, + "enable_native_lazy_objects": { + "type": "boolean", + "default": false, + "description": "Enables the new native implementation of PHP lazy objects instead of generated proxies" + }, + "proxy_dir": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.build_dir%/doctrine/orm/Proxies", + "description": "Configures the path where generated proxy classes are saved when using non-native lazy objects, this option is ignored when the \"enable_native_lazy_objects\" option is true" + }, + "proxy_namespace": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Proxies", + "description": "Defines the root namespace for generated proxy classes when using non-native lazy objects, this option is ignored when the \"enable_native_lazy_objects\" option is true" + }, + "controller_resolver": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "auto_mapping": { + "$anyOf": [ + { + "type": [ + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Set to false to disable using route placeholders as lookup criteria when the primary key doesn't match the argument name" + }, + "evict_cache": { + "type": "boolean", + "default": false, + "description": "Set to true to fetch the entity from the database instead of using the cache, if any" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "auto_mapping": null, + "evict_cache": false + } + }, + "entity_managers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "query_cache_driver": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "type": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pool": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ], + "default": { + "type": null + } + }, + "metadata_cache_driver": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "type": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pool": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "result_cache_driver": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "type": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pool": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ], + "default": { + "type": null + } + }, + "entity_listeners": { + "type": "object", + "properties": { + "entities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "listeners": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "method": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "connection": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "class_metadata_factory_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Doctrine\\ORM\\Mapping\\ClassMetadataFactory" + }, + "default_repository_class": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Doctrine\\ORM\\EntityRepository" + }, + "auto_mapping": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "naming_strategy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "doctrine.orm.naming_strategy.default" + }, + "quote_strategy": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "doctrine.orm.quote_strategy.default" + }, + "typed_field_mapper": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "doctrine.orm.typed_field_mapper.default" + }, + "entity_listener_resolver": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "fetch_mode_subselect_batch_size": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "repository_factory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "doctrine.orm.container_repository_factory" + }, + "schema_ignore_classes": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "report_fields_where_declared": { + "type": "boolean", + "default": true, + "description": "Set to \"true\" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.16 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/10455." + }, + "validate_xml_mapping": { + "type": "boolean", + "default": false, + "description": "Set to \"true\" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/6728." + }, + "second_level_cache": { + "type": "object", + "properties": { + "region_cache_driver": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "type": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pool": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ], + "default": { + "type": null + } + }, + "region_lock_lifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 60 + }, + "log_enabled": { + "type": "boolean", + "default": true + }, + "region_lifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 3600 + }, + "enabled": { + "type": "boolean", + "default": true + }, + "factory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "regions": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "cache_driver": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "type": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pool": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ], + "default": { + "type": null + } + }, + "lock_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.cache_dir%/doctrine/orm/slc/filelock" + }, + "lock_lifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 60 + }, + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "default" + }, + "lifetime": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 0 + }, + "service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + } + }, + "loggers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "service": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "hydrators": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "mappings": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "mapping": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true + }, + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "dir": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "alias": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "prefix": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "is_bundle": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + } + }, + "dql": { + "type": "object", + "properties": { + "string_functions": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "numeric_functions": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "datetime_functions": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + }, + "filters": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "class": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "enabled": { + "type": "boolean", + "default": false + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "required": [ + "class" + ], + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "description": "Register SQL Filters in the entity manager" + }, + "identity_generation_preferences": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Configures the preferences for identity generation when using the AUTO strategy. Valid values are \"SEQUENCE\" or \"IDENTITY\"." + } + }, + "additionalProperties": false, + "default": { + "query_cache_driver": { + "type": null + }, + "result_cache_driver": { + "type": null + }, + "class_metadata_factory_name": "Doctrine\\ORM\\Mapping\\ClassMetadataFactory", + "default_repository_class": "Doctrine\\ORM\\EntityRepository", + "auto_mapping": false, + "naming_strategy": "doctrine.orm.naming_strategy.default", + "quote_strategy": "doctrine.orm.quote_strategy.default", + "typed_field_mapper": "doctrine.orm.typed_field_mapper.default", + "entity_listener_resolver": null, + "repository_factory": "doctrine.orm.container_repository_factory", + "schema_ignore_classes": [], + "report_fields_where_declared": true, + "validate_xml_mapping": false, + "hydrators": [], + "mappings": [], + "filters": [], + "identity_generation_preferences": [] + } + }, + "minProperties": 1 + }, + "resolve_target_entities": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "monolog": { + "type": "object", + "properties": { + "use_microseconds": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true + }, + "channels": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "handlers": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "priority": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 0 + }, + "level": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "DEBUG" + }, + "bubble": { + "type": "boolean", + "default": true + }, + "app_name": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "fill_extra_context": { + "type": "boolean", + "default": false + }, + "include_stacktraces": { + "type": "boolean", + "default": false + }, + "process_psr_3_messages": { + "type": "object", + "properties": { + "enabled": { + "$anyOf": [ + { + "type": [ + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "date_format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "remove_used_context_fields": { + "type": "boolean" + } + }, + "additionalProperties": false, + "default": { + "enabled": null + } + }, + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.logs_dir%/%kernel.environment%.log" + }, + "file_permission": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "use_locking": { + "type": "boolean", + "default": false + }, + "filename_format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "{filename}-{date}" + }, + "date_format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Y-m-d" + }, + "ident": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "logopts": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 1 + }, + "facility": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "user" + }, + "max_files": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 0 + }, + "action_level": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "WARNING" + }, + "activation_strategy": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "stop_buffering": { + "type": "boolean", + "default": true + }, + "passthru_level": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "excluded_404s": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "excluded_http_codes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "urls": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + } + }, + "accepted_levels": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "min_level": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "DEBUG" + }, + "max_level": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "EMERGENCY" + }, + "buffer_size": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 0 + }, + "flush_on_overflow": { + "type": "boolean", + "default": false + }, + "handler": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "url": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "exchange": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "exchange_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "log" + }, + "room": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "message_format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "text" + }, + "api_version": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "channel": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "bot_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Monolog" + }, + "use_attachment": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true + }, + "use_short_attachment": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "include_extra": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "icon_emoji": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "webhook_url": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "team": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "notify": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "nickname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Monolog" + }, + "token": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "region": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "source": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "use_ssl": { + "type": "boolean", + "default": true + }, + "user": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "title": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "host": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 514 + }, + "config": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "members": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "connection_string": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "timeout": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "time": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 60 + }, + "deduplication_level": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 400 + }, + "store": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "connection_timeout": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "persistent": { + "type": "boolean" + }, + "dsn": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "hub_id": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "client_id": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "auto_log_stacks": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "release": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "environment": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "message_type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 0 + }, + "parse_mode": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "disable_webpage_preview": { + "$anyOf": [ + { + "type": [ + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "disable_notification": { + "$anyOf": [ + { + "type": [ + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "split_long_messages": { + "type": "boolean", + "default": false + }, + "delay_between_messages": { + "type": "boolean", + "default": false + }, + "factor": { + "type": "integer", + "minimum": 1, + "default": 1 + }, + "tags": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "console_formater_options": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "deprecated": true, + "deprecationMessage": "Since symfony/monolog-bundle 3.7: \"monolog.handlers..console_formater_options.console_formater_options\" is deprecated, use \"monolog.handlers..console_formater_options.console_formatter_options\" instead." + }, + "console_formatter_options": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": [] + }, + "formatter": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "nested": { + "type": "boolean", + "default": false + }, + "publisher": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "hostname": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 12201 + }, + "chunk_size": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 1420 + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "mongo": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 27017 + }, + "user": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "pass": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "database": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "monolog" + }, + "collection": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "logs" + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "elasticsearch": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 9200 + }, + "transport": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "Http" + }, + "user": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "password": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "index": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "monolog" + }, + "document_type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "logs" + }, + "ignore_error": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false + }, + "redis": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "password": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "port": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 6379 + }, + "database": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": 0 + }, + "key_name": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "monolog_redis" + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "predis": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "host": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "from_email": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "to_email": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ] + }, + "subject": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "content_type": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "headers": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "mailer": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "email_prototype": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "method": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + } + }, + "required": [ + "id" + ], + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "lazy": { + "type": "boolean", + "default": true + }, + "verbosity_levels": { + "type": "object", + "properties": { + "VERBOSITY_QUIET": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "ERROR" + }, + "VERBOSITY_NORMAL": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "WARNING" + }, + "VERBOSITY_VERBOSE": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "NOTICE" + }, + "VERBOSITY_VERY_VERBOSE": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "INFO" + }, + "VERBOSITY_DEBUG": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "DEBUG" + } + }, + "additionalProperties": false + }, + "channels": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "elements": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "examples": [ + { + "syslog": { + "type": "stream", + "path": "/var/log/symfony.log", + "level": "ERROR", + "bubble": "false", + "formatter": "my_formatter" + }, + "main": { + "type": "fingers_crossed", + "action_level": "WARNING", + "buffer_size": 30, + "handler": "custom" + }, + "custom": { + "type": "service", + "id": "my_handler" + } + } + ] + } + }, + "additionalProperties": false + }, + "twig": { + "type": "object", + "properties": { + "form_themes": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "form_div_layout.html.twig" + }, + "default": [ + "form_div_layout.html.twig" + ], + "examples": [ + [ + "@My/form.html.twig" + ] + ] + }, + "globals": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "type": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "value": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false + }, + "examples": [ + { + "foo": "@bar", + "pi": 3.14 + } + ] + }, + "autoescape_service": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "autoescape_service_method": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "base_template_class": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "examples": [ + "Twig\\Template" + ], + "deprecated": true, + "deprecationMessage": "Since symfony/twig-bundle 7.1: The child node \"base_template_class\" at path \"twig.base_template_class\" is deprecated." + }, + "cache": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true + }, + "charset": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.charset%" + }, + "debug": { + "type": "boolean", + "default": "%kernel.debug%" + }, + "strict_variables": { + "type": "boolean", + "default": "%kernel.debug%" + }, + "auto_reload": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "optimizations": { + "type": "integer", + "minimum": -1 + }, + "default_path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/templates", + "description": "The default path used to load templates." + }, + "file_name_pattern": { + "$anyOf": [ + { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + { + "type": [ + "string" + ] + } + ], + "description": "Pattern of file name used for cache warmer and linter.", + "examples": [ + "*.twig" + ] + }, + "paths": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "date": { + "type": "object", + "properties": { + "format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "F j, Y H:i" + }, + "interval_format": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%d days" + }, + "timezone": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used." + } + }, + "additionalProperties": false, + "default": { + "format": "F j, Y H:i", + "interval_format": "%d days", + "timezone": null + }, + "description": "The default format options used by the date filter." + }, + "number_format": { + "type": "object", + "properties": { + "decimals": { + "type": "integer", + "default": 0 + }, + "decimal_point": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "." + }, + "thousands_separator": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "," + } + }, + "additionalProperties": false, + "default": { + "decimals": 0, + "decimal_point": ".", + "thousands_separator": "," + }, + "description": "The default format options for the number_format filter." + }, + "mailer": { + "type": "object", + "properties": { + "html_to_text_converter": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "A service implementing the \"Symfony\\Component\\Mime\\HtmlToTextConverter\\HtmlToTextConverterInterface\"." + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "debug": { + "type": "object", + "properties": { + "max_items": { + "type": "integer", + "minimum": -1, + "default": 2500, + "description": "Max number of displayed items past the first level, -1 means no limit." + }, + "min_depth": { + "type": "integer", + "minimum": 0, + "default": 1, + "description": "Minimum tree depth to clone all the items, 1 is default." + }, + "max_string_length": { + "type": "integer", + "minimum": -1, + "default": -1, + "description": "Max length of displayed strings, -1 means no limit." + }, + "dump_destination": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "A stream URL where dumps should be written to.", + "examples": [ + "php://stderr, or tcp://%env(VAR_DUMPER_SERVER)% when using the \"server:dump\" command" + ] + }, + "theme": { + "$anyOf": [ + { + "enum": [ + "dark", + "light" + ] + }, + { + "type": "null" + } + ], + "default": "dark", + "description": "Changes the color of the dump() output when rendered directly on the templating. \"dark\" (default) or \"light\".", + "examples": [ + "dark" + ] + } + }, + "additionalProperties": false + }, + "web_profiler": { + "type": "object", + "properties": { + "toolbar": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + }, + "ajax_replace": { + "type": "boolean", + "default": false, + "description": "Replace toolbar on AJAX requests" + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false, + "ajax_replace": false + }, + "description": "Profiler toolbar configuration" + }, + "intercept_redirects": { + "type": "boolean", + "default": false + }, + "excluded_ajax_paths": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "^/((index|app(_[\\w]+)?)\\.php/)?_wdt" + } + }, + "additionalProperties": false + }, + "dama_doctrine_test": { + "type": "object", + "properties": { + "enable_static_connection": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true + }, + "enable_static_meta_data_cache": { + "type": "boolean", + "default": true + }, + "enable_static_query_cache": { + "type": "boolean", + "default": true + }, + "connection_keys": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + } + }, + "additionalProperties": false, + "default": { + "enable_static_connection": true, + "enable_static_meta_data_cache": true, + "enable_static_query_cache": true, + "connection_keys": [] + } + }, + "doctrine_migrations": { + "type": "object", + "properties": { + "migrations_paths": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "A list of namespace/path pairs where to look for migrations." + }, + "services": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "A set of services to pass to the underlying doctrine/migrations library, allowing to change its behaviour." + }, + "factories": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "A set of callables to pass to the underlying doctrine/migrations library as services, allowing to change its behaviour." + }, + "storage": { + "type": "object", + "properties": { + "table_storage": { + "type": "object", + "properties": { + "table_name": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "version_column_name": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "version_column_length": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "executed_at_column_name": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + }, + "execution_time_column_name": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null + } + }, + "additionalProperties": false, + "default": { + "table_name": null, + "version_column_name": null, + "version_column_length": null, + "executed_at_column_name": null, + "execution_time_column_name": null + }, + "description": "The default metadata storage, implemented as a table in the database." + } + }, + "additionalProperties": false, + "default": { + "table_storage": { + "table_name": null, + "version_column_name": null, + "version_column_length": null, + "executed_at_column_name": null, + "execution_time_column_name": null + } + }, + "description": "Storage to use for migration status metadata." + }, + "migrations": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "A list of migrations to load in addition to the one discovered via \"migrations_paths\"." + }, + "connection": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Connection name to use for the migrations database." + }, + "em": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Entity manager name to use for the migrations database (available when doctrine/orm is installed)." + }, + "all_or_nothing": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false, + "description": "Run all migrations in a transaction." + }, + "check_database_platform": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": true, + "description": "Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on." + }, + "custom_template": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "Custom template path for generated migration classes." + }, + "organize_migrations": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": false, + "description": "Organize migrations mode. Possible values are: \"BY_YEAR\", \"BY_YEAR_AND_MONTH\", false" + }, + "enable_profiler": { + "type": "boolean", + "default": false, + "description": "Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead." + }, + "transactional": { + "type": "boolean", + "default": true, + "description": "Whether or not to wrap migrations in a single transaction." + } + }, + "additionalProperties": false + }, + "maker": { + "type": "object", + "properties": { + "root_namespace": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "App" + }, + "generate_final_classes": { + "type": "boolean", + "default": true + }, + "generate_final_entities": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "twig_extra": { + "type": "object", + "properties": { + "cache": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "html": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "markdown": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true + } + }, + "intl": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true + } + }, + "cssinliner": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "inky": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "string": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": false + } + }, + "commonmark": { + "type": "object", + "properties": { + "renderer": { + "type": "object", + "properties": { + "block_separator": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "inner_separator": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "soft_break": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false, + "description": "Array of options for rendering HTML." + }, + "html_input": { + "$anyOf": [ + { + "enum": [ + "strip", + "allow", + "escape" + ] + }, + { + "type": "null" + } + ], + "description": "How to handle HTML input." + }, + "allow_unsafe_links": { + "type": "boolean", + "default": true, + "description": "Remove risky link and image URLs by setting this to false." + }, + "max_nesting_level": { + "type": "integer", + "default": 9223372036854775807, + "description": "The maximum nesting level for blocks." + }, + "slug_normalizer": { + "type": "object", + "properties": { + "instance": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "max_length": { + "type": "integer", + "default": 255 + }, + "unique": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + } + }, + "additionalProperties": false, + "description": "Array of options for configuring how URL-safe slugs are created." + }, + "commonmark": { + "type": "object", + "properties": { + "enable_em": { + "type": "boolean", + "default": true + }, + "enable_strong": { + "type": "boolean", + "default": true + }, + "use_asterisk": { + "type": "boolean", + "default": true + }, + "use_underscore": { + "type": "boolean", + "default": true + }, + "unordered_list_markers": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "default": [ + [ + "-", + "*", + "+" + ] + ] + } + }, + "additionalProperties": false, + "description": "Array of options for configuring the CommonMark core extension." + } + }, + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "twig_component": { + "type": "object", + "properties": { + "defaults": { + "type": "object", + "additionalProperties": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "template_directory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "components" + }, + "name_prefix": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "" + } + }, + "additionalProperties": false + }, + { + "type": [ + "string" + ] + } + ] + }, + "default": [ + "__deprecated__use_old_naming_behavior" + ] + }, + "anonymous_template_directory": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "Defaults to `components`" + }, + "profiler": { + "type": "boolean", + "default": "%kernel.debug%", + "description": "Enables the profiler for Twig Component (in debug mode)" + }, + "controllers_json": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "deprecated": true, + "deprecationMessage": "Since symfony/ux-twig-component 2.18: The \"twig_component.controllers_json\" config option is deprecated, and will be removed in 3.0." + } + }, + "additionalProperties": false + }, + "live_component": { + "type": "object", + "properties": { + "secret": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.secret%", + "description": "The secret used to compute fingerprints and checksums" + } + }, + "additionalProperties": false, + "default": { + "secret": "%kernel.secret%" + } + }, + "symfonycasts_sass": { + "type": "object", + "properties": { + "root_sass": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "minItems": 1, + "default": [ + "%kernel.project_dir%/assets/styles/app.scss" + ], + "description": "Path to your Sass root file" + }, + "binary": { + "$anyOf": [ + { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "description": "The Sass binary to use" + }, + "sass_options": { + "type": "object", + "properties": { + "style": { + "$anyOf": [ + { + "enum": [ + "compressed", + "expanded" + ] + }, + { + "type": "null" + } + ], + "default": "expanded", + "description": "The style of the generated CSS: compressed or expanded." + }, + "charset": { + "type": "boolean", + "description": "Whether to include the charset declaration in the generated Sass." + }, + "error_css": { + "type": "boolean", + "description": "Emit a CSS file when an error occurs." + }, + "source_map": { + "type": "boolean", + "default": true, + "description": "Whether to generate source maps." + }, + "embed_sources": { + "type": "boolean", + "description": "Embed source file contents in source maps." + }, + "embed_source_map": { + "type": "boolean", + "default": "%kernel.debug%", + "description": "Embed source map contents in CSS." + }, + "load_path": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Additional load paths" + }, + "quiet": { + "type": "boolean", + "description": "Don't print warnings." + }, + "quiet_deps": { + "type": "boolean", + "description": " Don't print compiler warnings from dependencies." + }, + "stop_on_error": { + "type": "boolean", + "description": "Don't compile more files once an error is encountered." + }, + "trace": { + "type": "boolean", + "description": "Print full Dart stack traces for exceptions." + } + }, + "additionalProperties": false, + "default": { + "style": "expanded", + "source_map": true, + "embed_source_map": "%kernel.debug%", + "load_path": [] + } + }, + "embed_sourcemap": { + "$anyOf": [ + { + "type": [ + "boolean", + "null" + ] + }, + { + "type": [ + "null" + ] + } + ], + "default": null, + "deprecated": true, + "deprecationMessage": "Since symfonycast/sass-bundle 0.4: Option \"embed_sourcemap\" at \"symfonycasts_sass.embed_sourcemap\" is deprecated. Use \"sass_options.embed_source_map\" instead\"." + } + }, + "additionalProperties": false + }, + "ux_icons": { + "type": "object", + "properties": { + "icon_dir": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "%kernel.project_dir%/assets/icons", + "description": "The local directory where icons are stored." + }, + "default_icon_attributes": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": { + "fill": "currentColor" + }, + "description": "Default attributes to add to all icons.", + "examples": [ + { + "class": "icon" + } + ] + }, + "icon_sets": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "path": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The local icon set directory path.\n(cannot be used with 'alias')", + "examples": [ + "%kernel.project_dir%/assets/svg/acme" + ] + }, + "alias": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "description": "The remote icon set identifier.\n(cannot be used with 'path')", + "examples": [ + "simple-icons" + ] + }, + "icon_attributes": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Override default icon attributes for icons in this set.", + "examples": [ + { + "class": "icon icon-acme", + "fill": "none" + } + ] + } + }, + "additionalProperties": false, + "description": "the icon set prefix (e.g. \"acme\")" + }, + "description": "Icon sets configuration." + }, + "aliases": { + "type": "array", + "items": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ] + }, + "description": "Icon aliases (map of alias => full name).", + "examples": [ + { + "dots": "clarity:ellipsis-horizontal-line", + "privacy": "bi:cookie" + } + ] + }, + "iconify": { + "$anyOf": [ + { + "type": [ + "object" + ], + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "on_demand": { + "type": "boolean", + "default": true, + "description": "Whether to download icons \"on demand\"." + }, + "endpoint": { + "type": [ + "array", + "object", + "string", + "number", + "boolean", + "null" + ], + "default": "https://api.iconify.design", + "description": "The endpoint for the Iconify icons API." + } + }, + "additionalProperties": false + }, + { + "type": [ + "boolean" + ] + } + ], + "default": { + "enabled": true, + "on_demand": true, + "endpoint": "https://api.iconify.design" + }, + "description": "Configuration for the remote icon service." + }, + "ignore_not_found": { + "type": "boolean", + "default": false, + "description": "Ignore error when an icon is not found.\nSet to 'true' to fail silently." + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/config/schema.php b/config/schema.php new file mode 100644 index 000000000..4fe7948ff --- /dev/null +++ b/config/schema.php @@ -0,0 +1,60 @@ +setParameter('kernel.debug', true); + +$schema = [ + '$schema' => 'http://json-schema.org/draft-07/schema#', + 'type' => 'object', + 'additionalProperties' => false, + 'properties' => [], + '$defs' => [], +]; + +$allEnvs = ['dev', 'prod', 'test']; +foreach ($allEnvs as $env) { + $schema['properties']['when@' . $env] = [ + 'type' => 'object', + 'properties' => [], + 'additionalProperties' => false, + ]; +} + +foreach ($bundles as $class => $envs) { + $bundle = new $class(); + assert($bundle instanceof BundleInterface); + $extension = $bundle->getContainerExtension(); + if ($extension instanceof ConfigurationExtensionInterface) { + $configuration = $extension->getConfiguration([], $container); + if ($configuration) { + $node = $configuration->getConfigTreeBuilder()->buildTree(); + + $name = $node->getName(); + $ref = ['$ref' => '#/$defs/'.$name]; + $schema['$defs'][$name] = $jsonschemaGenerator->generateNode($node); + + if ($envs === ['all' => true]) { + $schema['properties'][$name] = $ref; + $envs = $allEnvs; + } else { + $envs = array_keys(array_filter($envs)); + } + + foreach ($envs as $env) { + $schema['properties']['when@'.$env]['properties'][$name] = $ref; + } + } + } +} + +file_put_contents(__DIR__.'/schema.json', json_encode($schema, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES|JSON_THROW_ON_ERROR));