diff --git a/.ddev/config.yaml b/.ddev/config.yaml index 5c9cef5..7f3db2f 100644 --- a/.ddev/config.yaml +++ b/.ddev/config.yaml @@ -1,6 +1,6 @@ type: php docroot: public -php_version: "8.3" +php_version: "8.4" webserver_type: apache-fpm xdebug_enabled: false additional_hostnames: diff --git a/.gitignore b/.gitignore index a03d76a..dcd4a9d 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,7 @@ yarn-error.log ###> phpstan/phpstan ### phpstan.neon ###< phpstan/phpstan ### + +###> config reference ### +/config/reference.php +###< config reference ### diff --git a/composer.json b/composer.json index 062f94b..77c7718 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "minimum-stability": "stable", "prefer-stable": true, "require": { - "php": ">=8.1", + "php": ">=8.4", "ext-ctype": "*", "ext-dom": "*", "ext-iconv": "*", @@ -29,39 +29,39 @@ "phpstan/phpdoc-parser": "^2.0", "spatie/crypto": "^2.1", "symfony/apache-pack": "^1.0", - "symfony/asset": "6.4.*", - "symfony/console": "6.4.*", - "symfony/doctrine-messenger": "6.4.*", - "symfony/dom-crawler": "6.4.*", - "symfony/dotenv": "6.4.*", - "symfony/expression-language": "6.4.*", + "symfony/asset": "7.4.*", + "symfony/console": "7.4.*", + "symfony/doctrine-messenger": "7.4.*", + "symfony/dom-crawler": "7.4.*", + "symfony/dotenv": "7.4.*", + "symfony/expression-language": "7.4.*", "symfony/flex": "^2", - "symfony/form": "6.4.*", - "symfony/framework-bundle": "6.4.*", - "symfony/html-sanitizer": "6.4.*", - "symfony/http-client": "6.4.*", - "symfony/intl": "6.4.*", - "symfony/lock": "6.4.*", - "symfony/mailer": "6.4.*", - "symfony/mime": "6.4.*", + "symfony/form": "7.4.*", + "symfony/framework-bundle": "7.4.*", + "symfony/html-sanitizer": "7.4.*", + "symfony/http-client": "7.4.*", + "symfony/intl": "7.4.*", + "symfony/lock": "7.4.*", + "symfony/mailer": "7.4.*", + "symfony/mime": "7.4.*", "symfony/monolog-bundle": "^3.0", - "symfony/notifier": "6.4.*", - "symfony/process": "6.4.*", - "symfony/property-access": "6.4.*", - "symfony/property-info": "6.4.*", - "symfony/runtime": "6.4.*", - "symfony/security-bundle": "6.4.*", - "symfony/serializer": "6.4.*", + "symfony/notifier": "7.4.*", + "symfony/process": "7.4.*", + "symfony/property-access": "7.4.*", + "symfony/property-info": "7.4.*", + "symfony/runtime": "7.4.*", + "symfony/security-bundle": "7.4.*", + "symfony/serializer": "7.4.*", "symfony/stimulus-bundle": "^2.21", - "symfony/string": "6.4.*", - "symfony/translation": "6.4.*", - "symfony/twig-bundle": "6.4.*", - "symfony/uid": "6.4.*", + "symfony/string": "7.4.*", + "symfony/translation": "7.4.*", + "symfony/twig-bundle": "7.4.*", + "symfony/uid": "7.4.*", "symfony/ux-twig-component": "^2.36", - "symfony/validator": "6.4.*", - "symfony/web-link": "6.4.*", + "symfony/validator": "7.4.*", + "symfony/web-link": "7.4.*", "symfony/webpack-encore-bundle": "^2.2", - "symfony/yaml": "6.4.*", + "symfony/yaml": "7.4.*", "twig/extra-bundle": "^2.12|^3.0", "twig/html-extra": "^3.15", "twig/intl-extra": "*", @@ -77,7 +77,7 @@ }, "sort-packages": true, "platform": { - "php": "8.3.30" + "php": "8.4.24" } }, "autoload": { @@ -119,7 +119,7 @@ "extra": { "symfony": { "allow-contrib": true, - "require": "6.4.*", + "require": "7.4.*", "docker": true } }, @@ -131,12 +131,12 @@ "phpstan/phpstan-symfony": "^2.0", "phpunit/phpunit": "^9.5", "rector/rector": "^2.4", - "symfony/browser-kit": "6.4.*", - "symfony/css-selector": "6.4.*", - "symfony/debug-bundle": "6.4.*", + "symfony/browser-kit": "7.4.*", + "symfony/css-selector": "7.4.*", + "symfony/debug-bundle": "7.4.*", "symfony/maker-bundle": "^1.0", "symfony/phpunit-bridge": "^7.1", - "symfony/stopwatch": "6.4.*", - "symfony/web-profiler-bundle": "6.4.*" + "symfony/stopwatch": "7.4.*", + "symfony/web-profiler-bundle": "7.4.*" } } diff --git a/composer.lock b/composer.lock index fe7b659..9aa9040 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": "2cd2256c9e4ddda2be9bb1c611b9b7e8", + "content-hash": "6a0cf88f72de9d58a0f6930d58f7635e", "packages": [ { "name": "carbonphp/carbon-doctrine-types", @@ -866,30 +866,29 @@ }, { "name": "doctrine/instantiator", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/23da848e1a2308728fe5fdddabf4be17ff9720c7", + "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^8.4" }, "require-dev": { - "doctrine/coding-standard": "^11", + "doctrine/coding-standard": "^14", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5.58" }, "type": "library", "autoload": { @@ -916,7 +915,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + "source": "https://github.com/doctrine/instantiator/tree/2.1.0" }, "funding": [ { @@ -932,7 +931,7 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:23:10+00:00" + "time": "2026-01-05T06:47:08+00:00" }, { "name": "doctrine/lexer", @@ -4859,28 +4858,28 @@ }, { "name": "symfony/asset", - "version": "v6.4.34", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "1bd59aa278691b6310ca56b996cf6e2619a6a347" + "reference": "d2e2f014ccd6ec9fae8dbe6336a4164346a2a856" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/1bd59aa278691b6310ca56b996cf6e2619a6a347", - "reference": "1bd59aa278691b6310ca56b996cf6e2619a6a347", + "url": "https://api.github.com/repos/symfony/asset/zipball/d2e2f014ccd6ec9fae8dbe6336a4164346a2a856", + "reference": "d2e2f014ccd6ec9fae8dbe6336a4164346a2a856", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/http-foundation": "<5.4" + "symfony/http-foundation": "<6.4" }, "require-dev": { - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^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": { @@ -4908,7 +4907,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/v6.4.34" + "source": "https://github.com/symfony/asset/tree/v7.4.8" }, "funding": [ { @@ -4928,35 +4927,37 @@ "type": "tidelift" } ], - "time": "2026-02-07T09:15:39+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/cache", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "ea9758447aa48581e2e2c0d318782d89e2182136" + "reference": "6c521e19a99e8ae57e22aa85b9271534513ee850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/ea9758447aa48581e2e2c0d318782d89e2182136", - "reference": "ea9758447aa48581e2e2c0d318782d89e2182136", + "url": "https://api.github.com/repos/symfony/cache/zipball/6c521e19a99e8ae57e22aa85b9271534513ee850", + "reference": "6c521e19a99e8ae57e22aa85b9271534513ee850", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^2.5|^3", + "symfony/cache-contracts": "^3.6", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.3.6|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/var-dumper": "<5.4" + "doctrine/dbal": "<3.6", + "ext-relay": "<0.12.1", + "symfony/dependency-injection": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/var-dumper": "<6.4" }, "provide": { "psr/cache-implementation": "2.0|3.0", @@ -4964,16 +4965,17 @@ "symfony/cache-implementation": "1.1|2.0|3.0" }, "require-dev": { - "cache/integration-tests": "^0.18", - "doctrine/dbal": "^2.13.1|^3|^4", + "cache/integration-tests": "^1.0.3", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^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": { @@ -5008,7 +5010,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.45" + "source": "https://github.com/symfony/cache/tree/v7.4.18" }, "funding": [ { @@ -5028,7 +5030,7 @@ "type": "tidelift" } ], - "time": "2026-08-30T20:10:39+00:00" + "time": "2026-08-30T20:10:52+00:00" }, { "name": "symfony/cache-contracts", @@ -5112,20 +5114,20 @@ }, { "name": "symfony/clock", - "version": "v6.4.30", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "fb2df4bc9e3037c4765ba7fd29e00167001a9b68" + "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/fb2df4bc9e3037c4765ba7fd29e00167001a9b68", - "reference": "fb2df4bc9e3037c4765ba7fd29e00167001a9b68", + "url": "https://api.github.com/repos/symfony/clock/zipball/674fa3b98e21531dd040e613479f5f6fa8f32111", + "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/clock": "^1.0", "symfony/polyfill-php83": "^1.28" }, @@ -5166,7 +5168,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v6.4.30" + "source": "https://github.com/symfony/clock/tree/v7.4.8" }, "funding": [ { @@ -5186,38 +5188,38 @@ "type": "tidelift" } ], - "time": "2025-11-11T21:24:34+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/config", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "6a5abf67fd5b138df96984fe6f8fd736fb7d6b29" + "reference": "696e12da8eea497a1a3808d714b43ff67a7df43e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/6a5abf67fd5b138df96984fe6f8fd736fb7d6b29", - "reference": "6a5abf67fd5b138df96984fe6f8fd736fb7d6b29", + "url": "https://api.github.com/repos/symfony/config/zipball/696e12da8eea497a1a3808d714b43ff67a7df43e", + "reference": "696e12da8eea497a1a3808d714b43ff67a7df43e", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^7.1|^8.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<5.4", + "symfony/finder": "<6.4", "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5245,7 +5247,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/v6.4.44" + "source": "https://github.com/symfony/config/tree/v7.4.17" }, "funding": [ { @@ -5265,51 +5267,51 @@ "type": "tidelift" } ], - "time": "2026-08-20T09:38:57+00:00" + "time": "2026-08-20T09:55:18+00:00" }, { "name": "symfony/console", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "3b8473e0d14157f2d22b0a0d7259ad23483d1e6d" + "reference": "23d6f88a29f6d0eac45bd77d70307adf83ba7ab0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3b8473e0d14157f2d22b0a0d7259ad23483d1e6d", - "reference": "3b8473e0d14157f2d22b0a0d7259ad23483d1e6d", + "url": "https://api.github.com/repos/symfony/console/zipball/23d6f88a29f6d0eac45bd77d70307adf83ba7ab0", + "reference": "23d6f88a29f6d0eac45bd77d70307adf83ba7ab0", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^7.2|^8.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^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": { @@ -5343,7 +5345,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.45" + "source": "https://github.com/symfony/console/tree/v7.4.18" }, "funding": [ { @@ -5363,44 +5365,43 @@ "type": "tidelift" } ], - "time": "2026-08-25T13:08:31+00:00" + "time": "2026-08-25T14:18:37+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "675b2dfaf70bdca37d13816582023e3bac5fc2d1" + "reference": "f318ac9da5aba0be2cf43ecdd562c05a33bc11c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/675b2dfaf70bdca37d13816582023e3bac5fc2d1", - "reference": "675b2dfaf70bdca37d13816582023e3bac5fc2d1", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f318ac9da5aba0be2cf43ecdd562c05a33bc11c0", + "reference": "f318ac9da5aba0be2cf43ecdd562c05a33bc11c0", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "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", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/finder": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "psr/container-implementation": "1.1|2.0", "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.1|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^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": { @@ -5428,7 +5429,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/v6.4.44" + "source": "https://github.com/symfony/dependency-injection/tree/v7.4.17" }, "funding": [ { @@ -5448,7 +5449,7 @@ "type": "tidelift" } ], - "time": "2026-08-21T15:20:39+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5523,67 +5524,68 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "57ddd0c22de16bf22e10d810d323027bf4e532ac" + "reference": "d79e35e27ce56972ecc6878721cf20a29f4fef9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/57ddd0c22de16bf22e10d810d323027bf4e532ac", - "reference": "57ddd0c22de16bf22e10d810d323027bf4e532ac", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d79e35e27ce56972ecc6878721cf20a29f4fef9d", + "reference": "d79e35e27ce56972ecc6878721cf20a29f4fef9d", "shasum": "" }, "require": { - "doctrine/event-manager": "^1.2|^2", - "doctrine/persistence": "^2.5|^3.1|^4", - "php": ">=8.1", + "doctrine/event-manager": "^2", + "doctrine/persistence": "^3.1|^4", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "doctrine/dbal": "<2.13.1", + "doctrine/collections": "<1.8", + "doctrine/dbal": "<3.6", "doctrine/lexer": "<1.1", "doctrine/orm": "<2.15", - "symfony/cache": "<5.4", - "symfony/dependency-injection": "<6.2", - "symfony/form": "<5.4.38|>=6,<6.4.6|>=7,<7.0.6", - "symfony/http-foundation": "<6.3", - "symfony/http-kernel": "<6.2", - "symfony/lock": "<6.3", - "symfony/messenger": "<5.4", - "symfony/property-info": "<5.4|>=8", - "symfony/security-bundle": "<5.4", + "symfony/cache": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/form": "<6.4.6|>=7,<7.0.6", + "symfony/http-foundation": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/lock": "<6.4", + "symfony/messenger": "<6.4", + "symfony/property-info": "<6.4", + "symfony/security-bundle": "<6.4", "symfony/security-core": "<6.4", - "symfony/validator": "<6.4.44|>=7.0,<7.4.17|>=8.0,<8.1.5" + "symfony/validator": "<7.4.17|>=8.0,<8.1.5" }, "require-dev": { - "doctrine/collections": "^1.0|^2.0", + "doctrine/collections": "^1.8|^2.0", "doctrine/data-fixtures": "^1.1|^2", - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "doctrine/orm": "^2.15|^3", "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.2|^7.0", - "symfony/doctrine-messenger": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4.38|^6.4.6|^7.0.6", - "symfony/http-kernel": "^6.3|^7.0", - "symfony/lock": "^6.3|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/proxy-manager-bridge": "^6.4", - "symfony/security-core": "^6.4|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^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": { @@ -5611,7 +5613,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.45" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.4.18" }, "funding": [ { @@ -5631,26 +5633,26 @@ "type": "tidelift" } ], - "time": "2026-08-30T18:34:07+00:00" + "time": "2026-08-30T18:34:10+00:00" }, { "name": "symfony/doctrine-messenger", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-messenger.git", - "reference": "21e0d6e210270d1ebff2fa0dace165627c49119f" + "reference": "2356265da4dd8e8b689e735dcce33f5fd40506e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/21e0d6e210270d1ebff2fa0dace165627c49119f", - "reference": "21e0d6e210270d1ebff2fa0dace165627c49119f", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/2356265da4dd8e8b689e735dcce33f5fd40506e5", + "reference": "2356265da4dd8e8b689e735dcce33f5fd40506e5", "shasum": "" }, "require": { - "doctrine/dbal": "^2.13|^3|^4", - "php": ">=8.1", - "symfony/messenger": "^5.4|^6.0|^7.0", + "doctrine/dbal": "^3.6|^4", + "php": ">=8.2", + "symfony/messenger": "^7.2|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -5658,8 +5660,8 @@ }, "require-dev": { "doctrine/persistence": "^1.3|^2|^3", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0" }, "type": "symfony-messenger-bridge", "autoload": { @@ -5687,7 +5689,7 @@ "description": "Symfony Doctrine Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-messenger/tree/v6.4.45" + "source": "https://github.com/symfony/doctrine-messenger/tree/v7.4.18" }, "funding": [ { @@ -5707,30 +5709,31 @@ "type": "tidelift" } ], - "time": "2026-06-16T14:52:47+00:00" + "time": "2026-07-29T06:18:55+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "998855f6c3699f148b54096d1d7d2b8b0b0fc298" + "reference": "6b037d62595666cf65de867073c9a1f00184be0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/998855f6c3699f148b54096d1d7d2b8b0b0fc298", - "reference": "998855f6c3699f148b54096d1d7d2b8b0b0fc298", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/6b037d62595666cf65de867073c9a1f00184be0c", + "reference": "6b037d62595666cf65de867073c9a1f00184be0c", "shasum": "" }, "require": { "masterminds/html5": "^2.6", - "php": ">=8.1", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "^5.4|^6.0|^7.0" + "symfony/css-selector": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5758,7 +5761,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.44" + "source": "https://github.com/symfony/dom-crawler/tree/v7.4.17" }, "funding": [ { @@ -5778,32 +5781,32 @@ "type": "tidelift" } ], - "time": "2026-08-20T17:31:07+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/dotenv", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "9b827002b54f89a5ac605c21c349a42161996afb" + "reference": "99b5b14953237c89ed24f1af5ba34225caf598a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/9b827002b54f89a5ac605c21c349a42161996afb", - "reference": "9b827002b54f89a5ac605c21c349a42161996afb", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/99b5b14953237c89ed24f1af5ba34225caf598a4", + "reference": "99b5b14953237c89ed24f1af5ba34225caf598a4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/console": "<5.4", - "symfony/process": "<5.4" + "symfony/console": "<6.4", + "symfony/process": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5836,7 +5839,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.4.45" + "source": "https://github.com/symfony/dotenv/tree/v7.4.18" }, "funding": [ { @@ -5856,35 +5859,38 @@ "type": "tidelift" } ], - "time": "2026-07-26T10:10:07+00:00" + "time": "2026-07-26T10:22:28+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "8fa59eb915a14b2881993565a122c9dd1b0f8a19" + "reference": "8373921e231e190a88e2ad526951bbaa791576fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/8fa59eb915a14b2881993565a122c9dd1b0f8a19", - "reference": "8fa59eb915a14b2881993565a122c9dd1b0f8a19", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8373921e231e190a88e2ad526951bbaa791576fa", + "reference": "8373921e231e190a88e2ad526951bbaa791576fa", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^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|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^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": [ "Resources/bin/patch-type-declarations" @@ -5915,7 +5921,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/v6.4.44" + "source": "https://github.com/symfony/error-handler/tree/v7.4.17" }, "funding": [ { @@ -5935,28 +5941,28 @@ "type": "tidelift" } ], - "time": "2026-08-20T17:31:15+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d7110a878e7e7cbd8aaebe9f55da8af885b8c0af" + "reference": "d269974ee93c61d03620ffee358355bfdb471d66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d7110a878e7e7cbd8aaebe9f55da8af885b8c0af", - "reference": "d7110a878e7e7cbd8aaebe9f55da8af885b8c0af", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d269974ee93c61d03620ffee358355bfdb471d66", + "reference": "d269974ee93c61d03620ffee358355bfdb471d66", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -5965,13 +5971,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^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/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0|^7.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5999,7 +6006,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/v6.4.44" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.17" }, "funding": [ { @@ -6019,7 +6026,7 @@ "type": "tidelift" } ], - "time": "2026-08-21T14:01:40+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -6103,21 +6110,21 @@ }, { "name": "symfony/expression-language", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "91edabba1aff9da3326eee2a6e7666d1c1270751" + "reference": "b73866506ff02800836a40fa1f95614a71064f35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/91edabba1aff9da3326eee2a6e7666d1c1270751", - "reference": "91edabba1aff9da3326eee2a6e7666d1c1270751", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/b73866506ff02800836a40fa1f95614a71064f35", + "reference": "b73866506ff02800836a40fa1f95614a71064f35", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/cache": "^5.4|^6.0|^7.0", + "php": ">=8.2", + "symfony/cache": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3" }, @@ -6147,7 +6154,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v6.4.45" + "source": "https://github.com/symfony/expression-language/tree/v7.4.18" }, "funding": [ { @@ -6167,29 +6174,29 @@ "type": "tidelift" } ], - "time": "2026-08-30T00:27:22+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "6dabf41c21957a2060f101bd7bf7e322989866bd" + "reference": "90d412aa5277c6819db39e7605aa46b1019e3232" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6dabf41c21957a2060f101bd7bf7e322989866bd", - "reference": "6dabf41c21957a2060f101bd7bf7e322989866bd", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/90d412aa5277c6819db39e7605aa46b1019e3232", + "reference": "90d412aa5277c6819db39e7605aa46b1019e3232", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^5.4|^6.4|^7.0" + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6217,7 +6224,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.45" + "source": "https://github.com/symfony/filesystem/tree/v7.4.18" }, "funding": [ { @@ -6237,27 +6244,27 @@ "type": "tidelift" } ], - "time": "2026-08-23T07:59:31+00:00" + "time": "2026-08-23T10:03:40+00:00" }, { "name": "symfony/finder", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "211b28d13d044dacdc00c1629a3bbcff27dc793a" + "reference": "5ce28827081f6d1f0c32eaf3882750f19cb5bbe6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/211b28d13d044dacdc00c1629a3bbcff27dc793a", - "reference": "211b28d13d044dacdc00c1629a3bbcff27dc793a", + "url": "https://api.github.com/repos/symfony/finder/zipball/5ce28827081f6d1f0c32eaf3882750f19cb5bbe6", + "reference": "5ce28827081f6d1f0c32eaf3882750f19cb5bbe6", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "symfony/filesystem": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6285,7 +6292,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.44" + "source": "https://github.com/symfony/finder/tree/v7.4.17" }, "funding": [ { @@ -6305,7 +6312,7 @@ "type": "tidelift" } ], - "time": "2026-08-21T10:00:03+00:00" + "time": "2026-08-21T12:09:28+00:00" }, { "name": "symfony/flex", @@ -6382,56 +6389,58 @@ }, { "name": "symfony/form", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "03810456895dfc7e7fca450806e4eb21669927c8" + "reference": "14bbbc39af74c16d154bba3f70faceebdf138004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/03810456895dfc7e7fca450806e4eb21669927c8", - "reference": "03810456895dfc7e7fca450806e4eb21669927c8", + "url": "https://api.github.com/repos/symfony/form/zipball/14bbbc39af74c16d154bba3f70faceebdf138004", + "reference": "14bbbc39af74c16d154bba3f70faceebdf138004", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/options-resolver": "^5.4|^6.0|^7.0", + "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": "^5.4|^6.0|^7.0", + "symfony/property-access": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", - "symfony/error-handler": "<5.4", - "symfony/framework-bundle": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "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.3" + "symfony/twig-bridge": "<6.4" }, "require-dev": { "doctrine/collections": "^1.0|^2.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/security-core": "^6.2|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^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": { @@ -6459,7 +6468,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v6.4.45" + "source": "https://github.com/symfony/form/tree/v7.4.18" }, "funding": [ { @@ -6479,112 +6488,117 @@ "type": "tidelift" } ], - "time": "2026-08-29T12:19:25+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/framework-bundle", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "a19f20ad64c9b727ce21421638e7c92fa381ae9d" + "reference": "45d6d66b6ea1ef7a3c4193dfe606370f0f80c9bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a19f20ad64c9b727ce21421638e7c92fa381ae9d", - "reference": "a19f20ad64c9b727ce21421638e7c92fa381ae9d", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/45d6d66b6ea1ef7a3c4193dfe606370f0f80c9bf", + "reference": "45d6d66b6ea1ef7a3c4193dfe606370f0f80c9bf", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", - "php": ">=8.1", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.4.12|^7.0", + "php": ">=8.2", + "symfony/cache": "^6.4.12|^7.0|^8.0", + "symfony/config": "^7.4.4|^8.0.4", + "symfony/dependency-injection": "^7.4.15|~8.0.15|^8.1.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.1|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4", + "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.4|^8.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/routing": "^6.4|^7.0" + "symfony/polyfill-php85": "^1.32", + "symfony/routing": "^7.4|^8.0" }, "conflict": { - "doctrine/annotations": "<1.13.1", "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/asset": "<5.4", + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/asset": "<6.4", "symfony/asset-mapper": "<6.4", - "symfony/clock": "<6.3", - "symfony/console": "<6.4.43|>=7.0", + "symfony/clock": "<6.4", + "symfony/console": "<6.4.43|>=7.0,<7.4.15|>=8.0,<8.0.15", "symfony/dom-crawler": "<6.4", - "symfony/dotenv": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<6.3", - "symfony/lock": "<5.4", + "symfony/dotenv": "<6.4", + "symfony/form": "<7.4", + "symfony/http-client": "<6.4", + "symfony/lock": "<6.4", "symfony/mailer": "<6.4.44|>=7.0,<7.4.17|>=8.0,<8.1.5", - "symfony/messenger": "<6.3", - "symfony/mime": "<6.4.37|>=7.0,<7.4.9", - "symfony/property-access": "<5.4", - "symfony/property-info": "<5.4", - "symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6", + "symfony/messenger": "<7.4", + "symfony/mime": "<6.4.37|>=7.0,<7.4.9|>=8.0,<8.0.9", + "symfony/property-access": "<6.4", + "symfony/property-info": "<6.4", + "symfony/runtime": "<6.4.13|>=7.0,<7.1.6", "symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4", - "symfony/security-core": "<5.4", - "symfony/security-csrf": "<5.4", - "symfony/serializer": "<6.4", - "symfony/stopwatch": "<5.4", - "symfony/translation": "<6.4", - "symfony/twig-bridge": "<5.4", - "symfony/twig-bundle": "<5.4", + "symfony/security-core": "<6.4", + "symfony/security-csrf": "<7.2", + "symfony/serializer": "<7.2.5", + "symfony/stopwatch": "<6.4", + "symfony/translation": "<7.3", + "symfony/twig-bridge": "<6.4", + "symfony/twig-bundle": "<6.4", "symfony/validator": "<6.4", "symfony/web-profiler-bundle": "<6.4", - "symfony/workflow": "<6.4" + "symfony/webhook": "<7.4", + "symfony/workflow": "<7.4" }, "require-dev": { - "doctrine/annotations": "^1.13.1|^2", "doctrine/persistence": "^1.3|^2|^3", "dragonmantank/cron-expression": "^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpdocumentor/reflection-docblock": "^5.2|^6.0", "seld/jsonlint": "^1.10", - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/console": "^6.4.43|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/dotenv": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-client": "^6.3|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/mailer": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.3|^7.0", - "symfony/mime": "^6.4.37|^7.4.9", - "symfony/notifier": "^5.4|^6.0|^7.0", + "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.43|^7.4.15|^8.0.15", + "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": "^7.4|^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.37|^7.4.9|^8.0.9", + "symfony/notifier": "^6.4|^7.0|^8.0", + "symfony/object-mapper": "^7.3|^8.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", - "symfony/scheduler": "^6.4.4|^7.0.4", - "symfony/security-bundle": "^5.4|^6.0|^7.0", - "symfony/semaphore": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/string": "^5.4|^6.0|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/workflow": "^6.4|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/twig": "^2.10|^3.0.4|^4.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.4|^8.0", + "symfony/workflow": "^7.4|^8.0", + "symfony/yaml": "^7.3|^8.0", + "twig/twig": "^3.12|^4.0" }, "type": "symfony-bundle", "autoload": { @@ -6612,7 +6626,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/v6.4.45" + "source": "https://github.com/symfony/framework-bundle/tree/v7.4.18" }, "funding": [ { @@ -6632,27 +6646,28 @@ "type": "tidelift" } ], - "time": "2026-08-30T20:10:39+00:00" + "time": "2026-08-30T20:10:52+00:00" }, { "name": "symfony/html-sanitizer", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "49ef3ff25f6bac4d687f484600e90907f949e8d3" + "reference": "5394e10c12b6190c019e3112e8b534180c22f0da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/49ef3ff25f6bac4d687f484600e90907f949e8d3", - "reference": "49ef3ff25f6bac4d687f484600e90907f949e8d3", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/5394e10c12b6190c019e3112e8b534180c22f0da", + "reference": "5394e10c12b6190c019e3112e8b534180c22f0da", "shasum": "" }, "require": { "ext-dom": "*", "league/uri": "^6.5|^7.0", "masterminds/html5": "^2.7.2", - "php": ">=8.1" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -6685,7 +6700,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v6.4.45" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.4.18" }, "funding": [ { @@ -6705,24 +6720,24 @@ "type": "tidelift" } ], - "time": "2026-08-29T14:18:45+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/http-client", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "149b874c2f65b68032a0409288ca48667864e43d" + "reference": "68d81f78d127984ff2e741f0e0d9cb1078f8f3ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/149b874c2f65b68032a0409288ca48667864e43d", - "reference": "149b874c2f65b68032a0409288ca48667864e43d", + "url": "https://api.github.com/repos/symfony/http-client/zipball/68d81f78d127984ff2e741f0e0d9cb1078f8f3ea", + "reference": "68d81f78d127984ff2e741f0e0d9cb1078f8f3ea", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-client-contracts": "~3.4.4|^3.5.2", @@ -6730,8 +6745,10 @@ "symfony/service-contracts": "^2.5|^3" }, "conflict": { + "amphp/amp": "<2.5", + "amphp/socket": "<1.1", "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.3" + "symfony/http-foundation": "<6.4" }, "provide": { "php-http/async-client-implementation": "*", @@ -6740,19 +6757,20 @@ "symfony/http-client-implementation": "3.0" }, "require-dev": { - "amphp/amp": "^2.5", - "amphp/http-client": "^4.2.1", - "amphp/http-tunnel": "^1.0", - "amphp/socket": "^1.1", + "amphp/http-client": "^4.2.1|^5.0", + "amphp/http-tunnel": "^1.0|^2.0", "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0" + "symfony/amphp-http-client-meta": "^1.0|^2.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": { @@ -6783,7 +6801,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.45" + "source": "https://github.com/symfony/http-client/tree/v7.4.18" }, "funding": [ { @@ -6803,7 +6821,7 @@ "type": "tidelift" } ], - "time": "2026-08-30T13:44:49+00:00" + "time": "2026-08-30T13:49:59+00:00" }, { "name": "symfony/http-client-contracts", @@ -6889,36 +6907,37 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "945bfd2bcccca941f75ce45d5530b36d4cc6dc0b" + "reference": "d070b716a32fbe3bf04204db0f58ace73b86d133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/945bfd2bcccca941f75ce45d5530b36d4cc6dc0b", - "reference": "945bfd2bcccca941f75ce45d5530b36d4cc6dc0b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d070b716a32fbe3bf04204db0f58ace73b86d133", + "reference": "d070b716a32fbe3bf04204db0f58ace73b86d133", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" + "symfony/polyfill-mbstring": "^1.1" }, "conflict": { + "doctrine/dbal": "<3.6", "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4.12|^7.1.5", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^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": { @@ -6946,7 +6965,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.45" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.18" }, "funding": [ { @@ -6966,77 +6985,78 @@ "type": "tidelift" } ], - "time": "2026-08-30T20:10:39+00:00" + "time": "2026-08-30T20:10:52+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "e5e8372b0e16ee6d6afa8fba37f23c25822dbfe2" + "reference": "275d2d2d24530f2a0eaf17704a3a93860a036351" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e5e8372b0e16ee6d6afa8fba37f23c25822dbfe2", - "reference": "e5e8372b0e16ee6d6afa8fba37f23c25822dbfe2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/275d2d2d24530f2a0eaf17704a3a93860a036351", + "reference": "275d2d2d24530f2a0eaf17704a3a93860a036351", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "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": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/flex": "<2.10", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", + "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.12" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4.1|^7.0.1", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^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.1|^7.0.1|^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": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4|^4.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|^4.0" }, "type": "library", "autoload": { @@ -7064,7 +7084,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/v6.4.45" + "source": "https://github.com/symfony/http-kernel/tree/v7.4.18" }, "funding": [ { @@ -7084,29 +7104,32 @@ "type": "tidelift" } ], - "time": "2026-08-30T20:52:35+00:00" + "time": "2026-08-30T21:24:29+00:00" }, { "name": "symfony/intl", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "d79905d256652f1353b26e1a59d89f835b2d31cf" + "reference": "ebd1e30a84e79c4cb4ad0eacf88d5e3fef47ad1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/d79905d256652f1353b26e1a59d89f835b2d31cf", - "reference": "d79905d256652f1353b26e1a59d89f835b2d31cf", + "url": "https://api.github.com/repos/symfony/intl/zipball/ebd1e30a84e79c4cb4ad0eacf88d5e3fef47ad1d", + "reference": "ebd1e30a84e79c4cb4ad0eacf88d5e3fef47ad1d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/string": "<7.1" }, "require-dev": { - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7151,7 +7174,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v6.4.44" + "source": "https://github.com/symfony/intl/tree/v7.4.17" }, "funding": [ { @@ -7171,34 +7194,34 @@ "type": "tidelift" } ], - "time": "2026-08-20T17:31:16+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/lock", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "84679f4725d2359f53739ad44e7fa1af9ee9a11d" + "reference": "4073e583b1cb048799706d7ba3245328858cfea6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/84679f4725d2359f53739ad44e7fa1af9ee9a11d", - "reference": "84679f4725d2359f53739ad44e7fa1af9ee9a11d", + "url": "https://api.github.com/repos/symfony/lock/zipball/4073e583b1cb048799706d7ba3245328858cfea6", + "reference": "4073e583b1cb048799706d7ba3245328858cfea6", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.2", + "psr/log": "^1|^2|^3" }, "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/cache": "<6.2" + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0" + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "symfony/serializer": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -7234,7 +7257,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v6.4.45" + "source": "https://github.com/symfony/lock/tree/v7.4.18" }, "funding": [ { @@ -7254,43 +7277,43 @@ "type": "tidelift" } ], - "time": "2026-08-30T20:10:39+00:00" + "time": "2026-08-30T20:10:52+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "cea6ee2fb64d486f709d80bd3158cf28346e1ba4" + "reference": "b17c9bf3a551d5f635638a3b6c05f06c4dc87584" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/cea6ee2fb64d486f709d80bd3158cf28346e1ba4", - "reference": "cea6ee2fb64d486f709d80bd3158cf28346e1ba4", + "url": "https://api.github.com/repos/symfony/mailer/zipball/b17c9bf3a551d5f635638a3b6c05f06c4dc87584", + "reference": "b17c9bf3a551d5f635638a3b6c05f06c4dc87584", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.1", + "php": ">=8.2", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/mime": "^7.2|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/messenger": "<6.2", - "symfony/mime": "<6.2", - "symfony/twig-bridge": "<6.2.1" + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^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": { @@ -7318,7 +7341,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.44" + "source": "https://github.com/symfony/mailer/tree/v7.4.17" }, "funding": [ { @@ -7338,50 +7361,53 @@ "type": "tidelift" } ], - "time": "2026-08-21T13:01:07+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/messenger", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "f0da814e78084005644e891e100773f2b07a69bb" + "reference": "b109f9f4e54470ee6835751bc39318fe3d8275e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/f0da814e78084005644e891e100773f2b07a69bb", - "reference": "f0da814e78084005644e891e100773f2b07a69bb", + "url": "https://api.github.com/repos/symfony/messenger/zipball/b109f9f4e54470ee6835751bc39318fe3d8275e6", + "reference": "b109f9f4e54470ee6835751bc39318fe3d8275e6", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/clock": "^6.3|^7.0", + "symfony/clock": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<6.3", - "symfony/event-dispatcher": "<5.4", + "symfony/console": "<7.2", + "symfony/event-dispatcher": "<6.4", "symfony/event-dispatcher-contracts": "<2.5", - "symfony/framework-bundle": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/serializer": "<5.4" + "symfony/framework-bundle": "<6.4", + "symfony/http-kernel": "<7.3", + "symfony/lock": "<7.4", + "symfony/serializer": "<6.4.32|>=7.3,<7.3.10|>=7.4,<7.4.4|>=8.0,<8.0.4" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/console": "^6.3|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0", + "symfony/console": "^7.2|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^7.3|^8.0", + "symfony/lock": "^7.4|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.32|~7.3.10|^7.4.4|^8.0.4", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/validator": "^5.4|^6.0|^7.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7409,7 +7435,7 @@ "description": "Helps applications send and receive messages to/from other applications or via message queues", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/messenger/tree/v6.4.45" + "source": "https://github.com/symfony/messenger/tree/v7.4.18" }, "funding": [ { @@ -7429,44 +7455,44 @@ "type": "tidelift" } ], - "time": "2026-08-30T00:27:22+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/mime", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "3f850171f3bb396a84117ca97d3d474fc4b83deb" + "reference": "bf328d82105831db3e409195db0540ff57f27c80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/3f850171f3bb396a84117ca97d3d474fc4b83deb", - "reference": "3f850171f3bb396a84117ca97d3d474fc4b83deb", + "url": "https://api.github.com/repos/symfony/mime/zipball/bf328d82105831db3e409195db0540ff57f27c80", + "reference": "bf328d82105831db3e409195db0540ff57f27c80", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/mailer": "<6.4", "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "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": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.4|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.44|^7.4.17" + "phpdocumentor/reflection-docblock": "^5.2|^6.0", + "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.44|^7.4.17|^8.1.5" }, "type": "library", "autoload": { @@ -7498,7 +7524,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.45" + "source": "https://github.com/symfony/mime/tree/v7.4.18" }, "funding": [ { @@ -7518,43 +7544,43 @@ "type": "tidelift" } ], - "time": "2026-08-22T07:48:48+00:00" + "time": "2026-08-22T09:04:42+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "d3f5dd9133dc5723c7ee77e37b3db07e6934576d" + "reference": "b72ab77337167f2a545c35e624141df68c274ad8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/d3f5dd9133dc5723c7ee77e37b3db07e6934576d", - "reference": "d3f5dd9133dc5723c7ee77e37b3db07e6934576d", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/b72ab77337167f2a545c35e624141df68c274ad8", + "reference": "b72ab77337167f2a545c35e624141df68c274ad8", "shasum": "" }, "require": { - "monolog/monolog": "^1.25.1|^2|^3", - "php": ">=8.1", + "monolog/monolog": "^3", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<5.4", - "symfony/http-foundation": "<5.4", - "symfony/security-core": "<5.4" + "symfony/console": "<6.4", + "symfony/http-foundation": "<6.4", + "symfony/security-core": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/mailer": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/notifier": "^5.4|^6.0|^7.0", - "symfony/security-core": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^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/notifier": "^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": { @@ -7582,7 +7608,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v6.4.45" + "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.18" }, "funding": [ { @@ -7602,7 +7628,7 @@ "type": "tidelift" } ], - "time": "2026-08-30T01:18:12+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/monolog-bundle", @@ -7686,35 +7712,35 @@ }, { "name": "symfony/notifier", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/notifier.git", - "reference": "e71ff9cc138f62d3e7e164cf5c4e315b86ad9090" + "reference": "be788cebc25df422ecf2aaafa8aabae74c1e2fff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/notifier/zipball/e71ff9cc138f62d3e7e164cf5c4e315b86ad9090", - "reference": "e71ff9cc138f62d3e7e164cf5c4e315b86ad9090", + "url": "https://api.github.com/repos/symfony/notifier/zipball/be788cebc25df422ecf2aaafa8aabae74c1e2fff", + "reference": "be788cebc25df422ecf2aaafa8aabae74c1e2fff", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3" }, "conflict": { - "symfony/event-dispatcher": "<5.4", + "symfony/event-dispatcher": "<6.4", "symfony/event-dispatcher-contracts": "<2.5", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4" + "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", "symfony/event-dispatcher-contracts": "^2.5|^3", - "symfony/http-client": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0" + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7746,7 +7772,7 @@ "notifier" ], "support": { - "source": "https://github.com/symfony/notifier/tree/v6.4.44" + "source": "https://github.com/symfony/notifier/tree/v7.4.17" }, "funding": [ { @@ -7766,24 +7792,24 @@ "type": "tidelift" } ], - "time": "2026-08-21T14:00:50+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.4.30", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "eeaa8cabe54c7b3516938c72a4a161c0cc80a34f" + "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/eeaa8cabe54c7b3516938c72a4a161c0cc80a34f", - "reference": "eeaa8cabe54c7b3516938c72a4a161c0cc80a34f", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", + "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -7817,7 +7843,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.4.30" + "source": "https://github.com/symfony/options-resolver/tree/v7.4.8" }, "funding": [ { @@ -7837,31 +7863,31 @@ "type": "tidelift" } ], - "time": "2025-11-12T13:06:53+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/password-hasher", - "version": "v6.4.32", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "fbdfa5a2ca218ec8bb9029517426df2d780bdba9" + "reference": "18a7d92126c95962f7efbcc9e421ba710a366847" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/fbdfa5a2ca218ec8bb9029517426df2d780bdba9", - "reference": "fbdfa5a2ca218ec8bb9029517426df2d780bdba9", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/18a7d92126c95962f7efbcc9e421ba710a366847", + "reference": "18a7d92126c95962f7efbcc9e421ba710a366847", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/security-core": "<5.4" + "symfony/security-core": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/security-core": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/security-core": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7893,7 +7919,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v6.4.32" + "source": "https://github.com/symfony/password-hasher/tree/v7.4.8" }, "funding": [ { @@ -7913,7 +7939,7 @@ "type": "tidelift" } ], - "time": "2026-01-01T21:24:53+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -8502,6 +8528,86 @@ ], "time": "2026-05-26T12:51:13+00:00" }, + { + "name": "symfony/polyfill-php85", + "version": "v1.41.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "255fab485aaa1006ed411040c42aecd7b5302d7a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/255fab485aaa1006ed411040c42aecd7b5302d7a", + "reference": "255fab485aaa1006ed411040c42aecd7b5302d7a", + "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.41.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": "2026-07-01T12:47:55+00:00" + }, { "name": "symfony/polyfill-uuid", "version": "v1.37.0", @@ -8587,20 +8693,20 @@ }, { "name": "symfony/process", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "0b0c5b7d895211b82021469d1cb8ef2448caed96" + "reference": "058d17fc284cce14efb2385783b55014a461b176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/0b0c5b7d895211b82021469d1cb8ef2448caed96", - "reference": "0b0c5b7d895211b82021469d1cb8ef2448caed96", + "url": "https://api.github.com/repos/symfony/process/zipball/058d17fc284cce14efb2385783b55014a461b176", + "reference": "058d17fc284cce14efb2385783b55014a461b176", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -8628,7 +8734,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.45" + "source": "https://github.com/symfony/process/tree/v7.4.18" }, "funding": [ { @@ -8648,29 +8754,29 @@ "type": "tidelift" } ], - "time": "2026-08-20T17:31:17+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/property-access", - "version": "v6.4.44", + "version": "v7.4.16", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "57793e8d1e3ede2d4a65604e8f213a3cfa8d1721" + "reference": "c3dce76a6697c6428f7d80d5cd1cf0aa5d9679f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/57793e8d1e3ede2d4a65604e8f213a3cfa8d1721", - "reference": "57793e8d1e3ede2d4a65604e8f213a3cfa8d1721", + "url": "https://api.github.com/repos/symfony/property-access/zipball/c3dce76a6697c6428f7d80d5cd1cf0aa5d9679f3", + "reference": "c3dce76a6697c6428f7d80d5cd1cf0aa5d9679f3", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/property-info": "^6.4.32|~7.3.10|^7.4.4" + "php": ">=8.2", + "symfony/property-info": "^6.4.32|~7.3.10|^7.4.4|^8.0.4" }, "require-dev": { - "symfony/cache": "^5.4|^6.0|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4.1|^7.0.1|^8.0" }, "type": "library", "autoload": { @@ -8709,7 +8815,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v6.4.44" + "source": "https://github.com/symfony/property-access/tree/v7.4.16" }, "funding": [ { @@ -8729,41 +8835,41 @@ "type": "tidelift" } ], - "time": "2026-07-30T11:04:25+00:00" + "time": "2026-07-30T12:37:26+00:00" }, { "name": "symfony/property-info", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "003ec301822cf2cf1b44b217fba1efdf4b4503f9" + "reference": "52420d499b03ec20c0d38f0dc2f940bc9c43dc8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/003ec301822cf2cf1b44b217fba1efdf4b4503f9", - "reference": "003ec301822cf2cf1b44b217fba1efdf4b4503f9", + "url": "https://api.github.com/repos/symfony/property-info/zipball/52420d499b03ec20c0d38f0dc2f940bc9c43dc8e", + "reference": "52420d499b03ec20c0d38f0dc2f940bc9c43dc8e", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/string": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/string": "^6.4|^7.0|^8.0", + "symfony/type-info": "^7.4.7|^8.0.7" }, "conflict": { - "doctrine/annotations": "<1.12", - "phpdocumentor/reflection-docblock": "<5.2|>=6", + "phpdocumentor/reflection-docblock": "<5.2|>=7", "phpdocumentor/type-resolver": "<1.5.1", - "symfony/cache": "<5.4", - "symfony/dependency-injection": "<5.4|>=6.0,<6.4", - "symfony/serializer": "<5.4" + "symfony/cache": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/serializer": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", - "phpdocumentor/reflection-docblock": "^5.2", + "phpdocumentor/reflection-docblock": "^5.2|^6.0", "phpstan/phpdoc-parser": "^1.0|^2.0", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/serializer": "^5.4|^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": { @@ -8799,7 +8905,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v6.4.45" + "source": "https://github.com/symfony/property-info/tree/v7.4.18" }, "funding": [ { @@ -8819,40 +8925,41 @@ "type": "tidelift" } ], - "time": "2026-08-24T07:52:32+00:00" + "time": "2026-08-25T14:18:37+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.32", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "740017f61ce31b4aca485a18a25c0310ebd0190f" + "reference": "76f1a57719a4a04c0ea18678a6c9305b5dcb9da8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/740017f61ce31b4aca485a18a25c0310ebd0190f", - "reference": "740017f61ce31b4aca485a18a25c0310ebd0190f", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/76f1a57719a4a04c0ea18678a6c9305b5dcb9da8", + "reference": "76f1a57719a4a04c0ea18678a6c9305b5dcb9da8", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/http-message": "^1.0|^2.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0" + "symfony/http-foundation": "^6.4|^7.0|^8.0" }, "conflict": { "php-http/discovery": "<1.15", - "symfony/http-kernel": "<6.2" + "symfony/http-kernel": "<6.4" }, "require-dev": { "nyholm/psr7": "^1.1", "php-http/discovery": "^1.15", "psr/log": "^1.1.4|^2|^3", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^6.2|^7.0", - "symfony/http-kernel": "^6.2|^7.0" + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0", + "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0", + "symfony/runtime": "^6.4.13|^7.1.6|^8.0" }, "type": "symfony-bridge", "autoload": { @@ -8886,7 +8993,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.32" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.4.8" }, "funding": [ { @@ -8906,40 +9013,38 @@ "type": "tidelift" } ], - "time": "2026-01-02T11:59:06+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/routing", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "6fe2ed5b356beec41d5720dd73db72887c3f9d6d" + "reference": "ddd558991e98f693ae6bf5063cc1b0362c6bbec3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/6fe2ed5b356beec41d5720dd73db72887c3f9d6d", - "reference": "6fe2ed5b356beec41d5720dd73db72887c3f9d6d", + "url": "https://api.github.com/repos/symfony/routing/zipball/ddd558991e98f693ae6bf5063cc1b0362c6bbec3", + "reference": "ddd558991e98f693ae6bf5063cc1b0362c6bbec3", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^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": { @@ -8973,7 +9078,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.45" + "source": "https://github.com/symfony/routing/tree/v7.4.18" }, "funding": [ { @@ -8993,35 +9098,37 @@ "type": "tidelift" } ], - "time": "2026-08-16T17:07:07+00:00" + "time": "2026-08-17T13:12:36+00:00" }, { "name": "symfony/runtime", - "version": "v6.4.41", + "version": "v7.4.14", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "4a354e15532ed4f99c6d0fdc5618bfbd3ea05a8a" + "reference": "15497f743dd714f3167cb6a56509b9d42e6417b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/4a354e15532ed4f99c6d0fdc5618bfbd3ea05a8a", - "reference": "4a354e15532ed4f99c6d0fdc5618bfbd3ea05a8a", + "url": "https://api.github.com/repos/symfony/runtime/zipball/15497f743dd714f3167cb6a56509b9d42e6417b3", + "reference": "15497f743dd714f3167cb6a56509b9d42e6417b3", "shasum": "" }, "require": { "composer-plugin-api": "^1.0|^2.0", - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/dotenv": "<5.4" + "symfony/dotenv": "<6.4", + "symfony/http-foundation": "<6.4" }, "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "symfony/console": "^5.4.9|^6.0.9|^7.0", - "symfony/dotenv": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0" + "composer/composer": "^2.6", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^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": { @@ -9056,7 +9163,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v6.4.41" + "source": "https://github.com/symfony/runtime/tree/v7.4.14" }, "funding": [ { @@ -9076,75 +9183,71 @@ "type": "tidelift" } ], - "time": "2026-05-23T14:01:00+00:00" + "time": "2026-06-05T06:22:21+00:00" }, { "name": "symfony/security-bundle", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "de06cd0f756ca8fe4894c7e95bac71d90bb94e64" + "reference": "caaa8b92f2657a6b99057f4da36ee89f3baab506" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/de06cd0f756ca8fe4894c7e95bac71d90bb94e64", - "reference": "de06cd0f756ca8fe4894c7e95bac71d90bb94e64", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/caaa8b92f2657a6b99057f4da36ee89f3baab506", + "reference": "caaa8b92f2657a6b99057f4da36ee89f3baab506", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", - "php": ">=8.1", - "symfony/clock": "^6.3|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.4.11|^7.1.4", + "php": ">=8.2", + "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": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.2|^7.0", - "symfony/http-kernel": "^6.2", - "symfony/password-hasher": "^5.4|^6.0|^7.0", - "symfony/security-core": "^6.2|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/security-http": "^6.3.6|^7.0", + "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": { - "symfony/browser-kit": "<5.4", - "symfony/console": "<5.4", + "symfony/browser-kit": "<6.4", + "symfony/console": "<6.4", "symfony/framework-bundle": "<6.4", - "symfony/http-client": "<5.4", - "symfony/ldap": "<5.4", + "symfony/http-client": "<6.4", + "symfony/ldap": "<6.4", "symfony/serializer": "<6.4", - "symfony/twig-bundle": "<5.4", + "symfony/twig-bundle": "<6.4", "symfony/validator": "<6.4" }, "require-dev": { - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/ldap": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/twig-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4|^4.0", - "web-token/jwt-checker": "^3.1", - "web-token/jwt-signature-algorithm-ecdsa": "^3.1", - "web-token/jwt-signature-algorithm-eddsa": "^3.1", - "web-token/jwt-signature-algorithm-hmac": "^3.1", - "web-token/jwt-signature-algorithm-none": "^3.1", - "web-token/jwt-signature-algorithm-rsa": "^3.1" + "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|^4.0", + "web-token/jwt-library": "^3.3.2|^4.0" }, "type": "symfony-bundle", "autoload": { @@ -9172,7 +9275,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/v6.4.45" + "source": "https://github.com/symfony/security-bundle/tree/v7.4.18" }, "funding": [ { @@ -9192,50 +9295,51 @@ "type": "tidelift" } ], - "time": "2026-08-30T06:17:28+00:00" + "time": "2026-08-30T17:23:54+00:00" }, { "name": "symfony/security-core", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "8f74c37460002b97c1318007629c8be37681498a" + "reference": "4fac226354298b8d66f680275b0daef1d3f580d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/8f74c37460002b97c1318007629c8be37681498a", - "reference": "8f74c37460002b97c1318007629c8be37681498a", + "url": "https://api.github.com/repos/symfony/security-core/zipball/4fac226354298b8d66f680275b0daef1d3f580d2", + "reference": "4fac226354298b8d66f680275b0daef1d3f580d2", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/event-dispatcher-contracts": "^2.5|^3", - "symfony/password-hasher": "^5.4|^6.0|^7.0", + "symfony/password-hasher": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/event-dispatcher": "<5.4", - "symfony/http-foundation": "<5.4", - "symfony/ldap": "<5.4", - "symfony/security-guard": "<5.4", - "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", - "symfony/validator": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/http-foundation": "<6.4", + "symfony/ldap": "<6.4", + "symfony/translation": "<6.4.3|>=7.0,<7.0.3", + "symfony/validator": "<6.4" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", "psr/container": "^1.1|^2.0", "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/ldap": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/string": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4.35|~6.3.12|^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/property-access": "^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": { @@ -9263,7 +9367,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v6.4.45" + "source": "https://github.com/symfony/security-core/tree/v7.4.18" }, "funding": [ { @@ -9283,31 +9387,33 @@ "type": "tidelift" } ], - "time": "2026-08-30T00:30:12+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/security-csrf", - "version": "v6.4.31", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "52f62836fcb19cd351ef3a2aa9cf61a489e8990f" + "reference": "16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/52f62836fcb19cd351ef3a2aa9cf61a489e8990f", - "reference": "52f62836fcb19cd351ef3a2aa9cf61a489e8990f", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d", + "reference": "16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/security-core": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/security-core": "^6.4|^7.0|^8.0" }, "conflict": { - "symfony/http-foundation": "<5.4" + "symfony/http-foundation": "<6.4" }, "require-dev": { - "symfony/http-foundation": "^5.4|^6.0|^7.0" + "psr/log": "^1|^2|^3", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -9335,7 +9441,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v6.4.31" + "source": "https://github.com/symfony/security-csrf/tree/v7.4.8" }, "funding": [ { @@ -9355,51 +9461,51 @@ "type": "tidelift" } ], - "time": "2025-12-17T22:32:13+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/security-http", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "acc78bd71a614fc15a2931b08373ad6fd0fac9db" + "reference": "ca575e23a2b5e068ce0cdf157767b63b438125e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/acc78bd71a614fc15a2931b08373ad6fd0fac9db", - "reference": "acc78bd71a614fc15a2931b08373ad6fd0fac9db", + "url": "https://api.github.com/repos/symfony/security-http/zipball/ca575e23a2b5e068ce0cdf157767b63b438125e0", + "reference": "ca575e23a2b5e068ce0cdf157767b63b438125e0", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-foundation": "^6.2|^7.0", - "symfony/http-kernel": "^6.3|^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": "^5.4|^6.0|^7.0", - "symfony/security-core": "^6.4|^7.0", + "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.3", - "symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9", + "symfony/clock": "<6.4", "symfony/http-client-contracts": "<3.0", - "symfony/security-bundle": "<5.4", - "symfony/security-csrf": "<5.4" + "symfony/security-bundle": "<6.4", + "symfony/security-csrf": "<6.4" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.3|^7.0", - "symfony/expression-language": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "web-token/jwt-checker": "^3.1", - "web-token/jwt-signature-algorithm-ecdsa": "^3.1" + "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", "autoload": { @@ -9427,7 +9533,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v6.4.45" + "source": "https://github.com/symfony/security-http/tree/v7.4.18" }, "funding": [ { @@ -9447,61 +9553,63 @@ "type": "tidelift" } ], - "time": "2026-08-30T00:30:12+00:00" + "time": "2026-08-30T17:23:54+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "ad3c87d8d47e05e60fb8cd347348f2246c5e3aea" + "reference": "1f31d4e902c85b820af5dce27dbe17435524bed0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/ad3c87d8d47e05e60fb8cd347348f2246c5e3aea", - "reference": "ad3c87d8d47e05e60fb8cd347348f2246c5e3aea", + "url": "https://api.github.com/repos/symfony/serializer/zipball/1f31d4e902c85b820af5dce27dbe17435524bed0", + "reference": "1f31d4e902c85b820af5dce27dbe17435524bed0", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php84": "^1.30" }, "conflict": { - "doctrine/annotations": "<1.12", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/dependency-injection": "<5.4", - "symfony/property-access": "<5.4", + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/dependency-injection": "<6.4", + "symfony/property-access": "<6.4.31|>=7.0,<7.4.2|>=8.0,<8.0.2", "symfony/property-info": "<6.4.43", - "symfony/uid": "<5.4", + "symfony/type-info": "<7.2.5", + "symfony/uid": "<6.4", "symfony/validator": "<6.4", - "symfony/yaml": "<5.4" + "symfony/yaml": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", - "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", + "phpdocumentor/reflection-docblock": "^5.2|^6.0", + "phpstan/phpdoc-parser": "^1.0|^2.0", "seld/jsonlint": "^1.10", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.26|^6.3|^7.0", - "symfony/property-info": "^6.4.43|^7.4.15", + "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": "^7.2|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/form": "^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/messenger": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4.31|^7.4.2|^8.0.2", + "symfony/property-info": "^6.4.43|^7.4.15|^8.0.15", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/type-info": "^7.2.5|^8.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", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -9529,7 +9637,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.45" + "source": "https://github.com/symfony/serializer/tree/v7.4.18" }, "funding": [ { @@ -9549,7 +9657,7 @@ "type": "tidelift" } ], - "time": "2026-08-29T08:24:03+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/service-contracts", @@ -9713,20 +9821,20 @@ }, { "name": "symfony/stopwatch", - "version": "v6.4.24", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "b67e94e06a05d9572c2fa354483b3e13e3cb1898" + "reference": "70a852d72fec4d51efb1f48dcd968efcaf5ccb89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b67e94e06a05d9572c2fa354483b3e13e3cb1898", - "reference": "b67e94e06a05d9572c2fa354483b3e13e3cb1898", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/70a852d72fec4d51efb1f48dcd968efcaf5ccb89", + "reference": "70a852d72fec4d51efb1f48dcd968efcaf5ccb89", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/service-contracts": "^2.5|^3" }, "type": "library", @@ -9755,7 +9863,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.4.24" + "source": "https://github.com/symfony/stopwatch/tree/v7.4.8" }, "funding": [ { @@ -9775,26 +9883,27 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:14:14+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/string", - "version": "v6.4.43", + "version": "v7.4.15", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2a8d515c3eaa5d33cf76d5fa277cdadd0a4e5b49" + "reference": "e394af32256bf9e7bf80849d95e589167c10097b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2a8d515c3eaa5d33cf76d5fa277cdadd0a4e5b49", - "reference": "2a8d515c3eaa5d33cf76d5fa277cdadd0a4e5b49", + "url": "https://api.github.com/repos/symfony/string/zipball/e394af32256bf9e7bf80849d95e589167c10097b", + "reference": "e394af32256bf9e7bf80849d95e589167c10097b", "shasum": "" }, "require": { - "php": ">=8.1", + "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" }, @@ -9802,10 +9911,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^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": "^5.4|^6.0|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -9844,7 +9954,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.43" + "source": "https://github.com/symfony/string/tree/v7.4.15" }, "funding": [ { @@ -9864,55 +9974,56 @@ "type": "tidelift" } ], - "time": "2026-07-28T07:28:15+00:00" + "time": "2026-07-28T07:33:02+00:00" }, { "name": "symfony/translation", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "fa2235501e2cf6b1d38ab42954b248a5e93c8e89" + "reference": "2ee1e4a3b32a528a642babe041ff7c440b213b4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/fa2235501e2cf6b1d38ab42954b248a5e93c8e89", - "reference": "fa2235501e2cf6b1d38ab42954b248a5e93c8e89", + "url": "https://api.github.com/repos/symfony/translation/zipball/2ee1e4a3b32a528a642babe041ff7c440b213b4b", + "reference": "2ee1e4a3b32a528a642babe041ff7c440b213b4b", "shasum": "" }, "require": { - "php": ">=8.1", + "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": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", + "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", + "symfony/http-kernel": "<6.4", "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.18|^5.0", + "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0", + "symfony/routing": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -9943,7 +10054,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.44" + "source": "https://github.com/symfony/translation/tree/v7.4.17" }, "funding": [ { @@ -9963,7 +10074,7 @@ "type": "tidelift" } ], - "time": "2026-08-20T19:22:13+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/translation-contracts", @@ -10049,68 +10160,70 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "3036bcbdd27da00ded851b5049e1f73589c8d506" + "reference": "413485ee177ad5b321ad9a689a90fd3f2d3fefd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/3036bcbdd27da00ded851b5049e1f73589c8d506", - "reference": "3036bcbdd27da00ded851b5049e1f73589c8d506", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/413485ee177ad5b321ad9a689a90fd3f2d3fefd7", + "reference": "413485ee177ad5b321ad9a689a90fd3f2d3fefd7", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/translation-contracts": "^2.5|^3", - "twig/twig": "^2.13|^3.0.4|^4.0" + "twig/twig": "^3.21|^4.0" }, "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.4", - "symfony/form": "<6.4.32|>7,<7.3.10|>7.4,<7.4.4", - "symfony/http-foundation": "<5.4", + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/console": "<6.4", + "symfony/form": "<6.4.32|>7,<7.3.10|>7.4,<7.4.4|>8.0,<8.0.4", + "symfony/http-foundation": "<6.4", "symfony/http-kernel": "<6.4", - "symfony/mime": "<6.4.37|>=7.0,<7.4.9", + "symfony/mime": "<6.4.37|>7,<7.4.9|>8.0,<8.0.9", "symfony/serializer": "<6.4", - "symfony/translation": "<5.4", - "symfony/workflow": "<5.4" + "symfony/translation": "<6.4", + "symfony/workflow": "<6.4" }, "require-dev": { "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": "^5.4|^6.0|^7.0", - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/form": "^6.4.32|~7.3.10|^7.4.4", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.4.37|^7.4.9", + "phpdocumentor/reflection-docblock": "^5.2|^6.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.32|~7.3.10|^7.4.4|^8.0.4", + "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.37|^7.4.9|^8.0.9", "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/security-http": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.44|^7.4.17", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^6.1|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/workflow": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/cssinliner-extra": "^2.12|^3", - "twig/inky-extra": "^2.12|^3", - "twig/markdown-extra": "^2.12|^3" + "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.44|^7.4.17|^8.1.5", + "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" }, "type": "symfony-bridge", "autoload": { @@ -10138,7 +10251,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.44" + "source": "https://github.com/symfony/twig-bridge/tree/v7.4.17" }, "funding": [ { @@ -10158,47 +10271,49 @@ "type": "tidelift" } ], - "time": "2026-08-22T07:48:48+00:00" + "time": "2026-08-22T09:04:42+00:00" }, { "name": "symfony/twig-bundle", - "version": "v6.4.43", + "version": "v7.4.15", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "15bad71434a8bbc64db852a14ac6360af7f4ea4a" + "reference": "e3d2bea0b594aa50c3482a278a5cd09d83d94517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/15bad71434a8bbc64db852a14ac6360af7f4ea4a", - "reference": "15bad71434a8bbc64db852a14ac6360af7f4ea4a", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e3d2bea0b594aa50c3482a278a5cd09d83d94517", + "reference": "e3d2bea0b594aa50c3482a278a5cd09d83d94517", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", - "php": ">=8.1", - "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^6.2", - "symfony/twig-bridge": "^6.4", - "twig/twig": "^2.13|^3.0.4|^4.0" + "php": ">=8.2", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "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|^4.0" }, "conflict": { - "symfony/framework-bundle": "<5.4", - "symfony/translation": "<5.4" + "symfony/framework-bundle": "<6.4", + "symfony/translation": "<6.4" }, "require-dev": { - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^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": { @@ -10226,7 +10341,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/v6.4.43" + "source": "https://github.com/symfony/twig-bundle/tree/v7.4.15" }, "funding": [ { @@ -10246,28 +10361,111 @@ "type": "tidelift" } ], - "time": "2026-07-06T08:03:42+00:00" + "time": "2026-07-21T15:13:06+00:00" }, { - "name": "symfony/uid", - "version": "v6.4.32", + "name": "symfony/type-info", + "version": "v7.4.17", "source": { "type": "git", - "url": "https://github.com/symfony/uid.git", - "reference": "6b973c385f00341b246f697d82dc01a09107acdd" + "url": "https://github.com/symfony/type-info.git", + "reference": "62d0ad6995630a4f7ea8fd270aadb3e2545c8e31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/6b973c385f00341b246f697d82dc01a09107acdd", - "reference": "6b973c385f00341b246f697d82dc01a09107acdd", + "url": "https://api.github.com/repos/symfony/type-info/zipball/62d0ad6995630a4f7ea8fd270aadb3e2545c8e31", + "reference": "62d0ad6995630a4f7ea8fd270aadb3e2545c8e31", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "phpstan/phpdoc-parser": "<1.30" + }, + "require-dev": { + "phpstan/phpdoc-parser": "^1.30|^2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\TypeInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathias Arlaud", + "email": "mathias.arlaud@gmail.com" + }, + { + "name": "Baptiste LEDUC", + "email": "baptiste.leduc@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Extracts PHP types information.", + "homepage": "https://symfony.com", + "keywords": [ + "PHPStan", + "phpdoc", + "symfony", + "type" + ], + "support": { + "source": "https://github.com/symfony/type-info/tree/v7.4.17" + }, + "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": "2026-08-21T15:52:48+00:00" + }, + { + "name": "symfony/uid", + "version": "v7.4.17", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "69d732355a139c6f8881337d28515aa01f12b8be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/69d732355a139c6f8881337d28515aa01f12b8be", + "reference": "69d732355a139c6f8881337d28515aa01f12b8be", + "shasum": "" + }, + "require": { + "php": ">=8.2", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -10304,7 +10502,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.32" + "source": "https://github.com/symfony/uid/tree/v7.4.17" }, "funding": [ { @@ -10324,7 +10522,7 @@ "type": "tidelift" } ], - "time": "2025-12-23T15:07:59+00:00" + "time": "2026-08-11T07:38:58+00:00" }, { "name": "symfony/ux-twig-component", @@ -10417,20 +10615,20 @@ }, { "name": "symfony/validator", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "8acf2afad9c26cd2386d760ef9f0ec94c1c55b90" + "reference": "976bd879fda78de30ee4688fd38ae87bc4d2dc76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/8acf2afad9c26cd2386d760ef9f0ec94c1c55b90", - "reference": "8acf2afad9c26cd2386d760ef9f0ec94c1c55b90", + "url": "https://api.github.com/repos/symfony/validator/zipball/976bd879fda78de30ee4688fd38ae87bc4d2dc76", + "reference": "976bd879fda78de30ee4688fd38ae87bc4d2dc76", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", @@ -10438,34 +10636,37 @@ "symfony/translation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.13", "doctrine/lexer": "<1.1", - "symfony/dependency-injection": "<5.4", - "symfony/expression-language": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/intl": "<5.4", - "symfony/property-info": "<5.4", - "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", - "symfony/yaml": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<7.0", + "symfony/expression-language": "<6.4", + "symfony/http-kernel": "<6.4", + "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": { - "doctrine/annotations": "^1.13|^2", "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "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|^8.0" }, "type": "library", "autoload": { @@ -10494,7 +10695,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.45" + "source": "https://github.com/symfony/validator/tree/v7.4.18" }, "funding": [ { @@ -10514,37 +10715,36 @@ "type": "tidelift" } ], - "time": "2026-08-30T00:30:12+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "86a9b2f1bd81c9780a809632238ab6ba10292166" + "reference": "e088da50b813f32473a76871616cbb8fa54653a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86a9b2f1bd81c9780a809632238ab6ba10292166", - "reference": "86a9b2f1bd81c9780a809632238ab6ba10292166", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e088da50b813f32473a76871616cbb8fa54653a8", + "reference": "e088da50b813f32473a76871616cbb8fa54653a8", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4|^4.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|^4.0" }, "bin": [ "Resources/bin/var-dump-server" @@ -10582,7 +10782,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.45" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.18" }, "funding": [ { @@ -10602,30 +10802,30 @@ "type": "tidelift" } ], - "time": "2026-08-30T20:10:39+00:00" + "time": "2026-08-30T20:10:52+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "a4e458999ee554a667cd19227f0b97a751bd61e6" + "reference": "d6a87acbe48cbc707b9aba7f1a6c2215aab02603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a4e458999ee554a667cd19227f0b97a751bd61e6", - "reference": "a4e458999ee554a667cd19227f0b97a751bd61e6", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d6a87acbe48cbc707b9aba7f1a6c2215aab02603", + "reference": "d6a87acbe48cbc707b9aba7f1a6c2215aab02603", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^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": { @@ -10663,7 +10863,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.45" + "source": "https://github.com/symfony/var-exporter/tree/v7.4.18" }, "funding": [ { @@ -10683,34 +10883,34 @@ "type": "tidelift" } ], - "time": "2026-08-23T09:39:49+00:00" + "time": "2026-08-23T10:03:40+00:00" }, { "name": "symfony/web-link", - "version": "v6.4.32", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/web-link.git", - "reference": "636d5e34cd5c4a2538b02ba48a3c02989bfdf06b" + "reference": "0711009963009e7d6d59149327f3ad633ee3fe25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-link/zipball/636d5e34cd5c4a2538b02ba48a3c02989bfdf06b", - "reference": "636d5e34cd5c4a2538b02ba48a3c02989bfdf06b", + "url": "https://api.github.com/repos/symfony/web-link/zipball/0711009963009e7d6d59149327f3ad633ee3fe25", + "reference": "0711009963009e7d6d59149327f3ad633ee3fe25", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/link": "^1.1|^2.0" }, "conflict": { - "symfony/http-kernel": "<5.4" + "symfony/http-kernel": "<6.4" }, "provide": { "psr/link-implementation": "1.0|2.0" }, "require-dev": { - "symfony/http-kernel": "^5.4|^6.0|^7.0" + "symfony/http-kernel": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -10750,7 +10950,7 @@ "push" ], "support": { - "source": "https://github.com/symfony/web-link/tree/v6.4.32" + "source": "https://github.com/symfony/web-link/tree/v7.4.8" }, "funding": [ { @@ -10770,7 +10970,7 @@ "type": "tidelift" } ], - "time": "2026-01-01T13:45:34+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/webpack-encore-bundle", @@ -10850,28 +11050,28 @@ }, { "name": "symfony/yaml", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "a778aba2d7130eba6150cc80cb692988a361ee4b" + "reference": "4cef939e55b8a21c5780418de0d98ab00d0736e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/a778aba2d7130eba6150cc80cb692988a361ee4b", - "reference": "a778aba2d7130eba6150cc80cb692988a361ee4b", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4cef939e55b8a21c5780418de0d98ab00d0736e1", + "reference": "4cef939e55b8a21c5780418de0d98ab00d0736e1", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -10902,7 +11102,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.45" + "source": "https://github.com/symfony/yaml/tree/v7.4.18" }, "funding": [ { @@ -10922,7 +11122,7 @@ "type": "tidelift" } ], - "time": "2026-08-30T00:27:22+00:00" + "time": "2026-08-30T00:47:26+00:00" }, { "name": "thecodingmachine/safe", @@ -14573,27 +14773,28 @@ }, { "name": "symfony/browser-kit", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "4f631476bb549d882a173c47bf693f3ef84c722d" + "reference": "7aff5c4b17a7b04ea6a8390773a93148d15a40b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/4f631476bb549d882a173c47bf693f3ef84c722d", - "reference": "4f631476bb549d882a173c47bf693f3ef84c722d", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/7aff5c4b17a7b04ea6a8390773a93148d15a40b7", + "reference": "7aff5c4b17a7b04ea6a8390773a93148d15a40b7", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/dom-crawler": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/dom-crawler": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^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": { @@ -14621,7 +14822,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/v6.4.44" + "source": "https://github.com/symfony/browser-kit/tree/v7.4.17" }, "funding": [ { @@ -14641,24 +14842,24 @@ "type": "tidelift" } ], - "time": "2026-08-21T15:19:05+00:00" + "time": "2026-08-21T17:40:08+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.45", + "version": "v7.4.18", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "5484e316cd8125f5215bbf829151e2211aa6d101" + "reference": "fecf40067fc8d8880ea87b8ac227600b9aadd1d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/5484e316cd8125f5215bbf829151e2211aa6d101", - "reference": "5484e316cd8125f5215bbf829151e2211aa6d101", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/fecf40067fc8d8880ea87b8ac227600b9aadd1d0", + "reference": "fecf40067fc8d8880ea87b8ac227600b9aadd1d0", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -14690,7 +14891,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.45" + "source": "https://github.com/symfony/css-selector/tree/v7.4.18" }, "funding": [ { @@ -14710,37 +14911,34 @@ "type": "tidelift" } ], - "time": "2026-08-23T07:35:46+00:00" + "time": "2026-08-23T10:03:40+00:00" }, { "name": "symfony/debug-bundle", - "version": "v6.4.35", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", - "reference": "eb79084c2c9778559b21f61cb1507cbd580cc6e1" + "reference": "3eb18c1e6cd16da2cea1f1b5162e442af4afee44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/eb79084c2c9778559b21f61cb1507cbd580cc6e1", - "reference": "eb79084c2c9778559b21f61cb1507cbd580cc6e1", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/3eb18c1e6cd16da2cea1f1b5162e442af4afee44", + "reference": "3eb18c1e6cd16da2cea1f1b5162e442af4afee44", "shasum": "" }, "require": { + "composer-runtime-api": ">=2.1", "ext-xml": "*", - "php": ">=8.1", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/twig-bridge": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/config": "<5.4", - "symfony/dependency-injection": "<5.4" + "php": ">=8.2", + "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/config": "^5.4|^6.0|^7.0", - "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0" + "symfony/web-profiler-bundle": "^6.4|^7.0|^8.0" }, "type": "symfony-bundle", "autoload": { @@ -14768,7 +14966,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/v6.4.35" + "source": "https://github.com/symfony/debug-bundle/tree/v7.4.8" }, "funding": [ { @@ -14788,7 +14986,7 @@ "type": "tidelift" } ], - "time": "2026-03-02T09:25:10+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/maker-bundle", @@ -14976,38 +15174,42 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v6.4.44", + "version": "v7.4.17", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "a1a4e508411254392dbf5a2fb2390b11d790481d" + "reference": "3abb070d460c61924c23edfda9e2e5af34e43a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a1a4e508411254392dbf5a2fb2390b11d790481d", - "reference": "a1a4e508411254392dbf5a2fb2390b11d790481d", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/3abb070d460c61924c23edfda9e2e5af34e43a19", + "reference": "3abb070d460c61924c23edfda9e2e5af34e43a19", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0", - "twig/twig": "^2.13|^3.0.4|^4.0" + "composer-runtime-api": ">=2.1", + "php": ">=8.2", + "symfony/config": "^7.3|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "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|^4.0" }, "conflict": { - "symfony/form": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/twig-bundle": ">=7.0" + "symfony/form": "<6.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/serializer": "<7.2", + "symfony/workflow": "<7.3" }, "require-dev": { - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^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": { @@ -15038,7 +15240,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.44" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.4.17" }, "funding": [ { @@ -15058,7 +15260,7 @@ "type": "tidelift" } ], - "time": "2026-08-22T06:28:57+00:00" + "time": "2026-08-22T09:04:42+00:00" }, { "name": "theseer/tokenizer", @@ -15117,7 +15319,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=8.1", + "php": ">=8.4", "ext-ctype": "*", "ext-dom": "*", "ext-iconv": "*", @@ -15126,7 +15328,7 @@ }, "platform-dev": {}, "platform-overrides": { - "php": "8.3.30" + "php": "8.4.24" }, "plugin-api-version": "2.9.0" } diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml index bb1b71b..c2cb3cf 100644 --- a/config/packages/doctrine.yaml +++ b/config/packages/doctrine.yaml @@ -9,8 +9,7 @@ doctrine: profiling_collect_backtrace: '%kernel.debug%' use_savepoints: true orm: - auto_generate_proxy_classes: true - enable_lazy_ghost_objects: true + enable_native_lazy_objects: true validate_xml_mapping: true naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware auto_mapping: true @@ -33,8 +32,6 @@ when@test: when@prod: doctrine: orm: - auto_generate_proxy_classes: false - proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies' query_cache_driver: type: pool pool: doctrine.system_cache_pool diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml index 9293aca..1d82f4a 100644 --- a/config/packages/framework.yaml +++ b/config/packages/framework.yaml @@ -1,7 +1,6 @@ # see https://symfony.com/doc/current/reference/configuration/framework.html framework: secret: '%env(APP_SECRET)%' - annotations: false http_method_override: false handle_all_throwables: true diff --git a/config/packages/property_info.yaml b/config/packages/property_info.yaml new file mode 100644 index 0000000..dd31b9d --- /dev/null +++ b/config/packages/property_info.yaml @@ -0,0 +1,3 @@ +framework: + property_info: + with_constructor_extractor: true diff --git a/config/packages/web_profiler.yaml b/config/packages/web_profiler.yaml index b946111..997f521 100644 --- a/config/packages/web_profiler.yaml +++ b/config/packages/web_profiler.yaml @@ -14,4 +14,6 @@ when@test: intercept_redirects: false framework: - profiler: { collect: false } + profiler: + collect: false + collect_serializer_data: true diff --git a/src/BusProNet/XmlCrawlerFactory.php b/src/BusProNet/XmlCrawlerFactory.php new file mode 100644 index 0000000..7c1dd09 --- /dev/null +++ b/src/BusProNet/XmlCrawlerFactory.php @@ -0,0 +1,23 @@ +addXmlContent($xml); + + return $crawler; + } +} diff --git a/src/BusProNet/XmlLoader/HotelLoader.php b/src/BusProNet/XmlLoader/HotelLoader.php index 11bebff..e8244d0 100644 --- a/src/BusProNet/XmlLoader/HotelLoader.php +++ b/src/BusProNet/XmlLoader/HotelLoader.php @@ -4,6 +4,7 @@ namespace App\BusProNet\XmlLoader; use App\BusProNet\Model\Hotel; use App\BusProNet\Model\Travel; +use App\BusProNet\XmlCrawlerFactory; use App\Exception\HotelNotFoundException; use Psr\Cache\InvalidArgumentException; use Symfony\Component\DomCrawler\Crawler; @@ -73,7 +74,7 @@ class HotelLoader extends AbstractLoader { $xml = $this->xmlExport->read($filename); - return new Crawler($xml); + return XmlCrawlerFactory::create($xml); } public function parseXml(Crawler $node): Hotel diff --git a/src/BusProNet/XmlLoader/InsuranceLoader.php b/src/BusProNet/XmlLoader/InsuranceLoader.php index f9a8bdd..ba86a65 100644 --- a/src/BusProNet/XmlLoader/InsuranceLoader.php +++ b/src/BusProNet/XmlLoader/InsuranceLoader.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\BusProNet\XmlLoader; use App\BusProNet\Model\Insurance; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\InsuranceParser; use League\Flysystem\FilesystemOperator; use Psr\Cache\InvalidArgumentException; @@ -50,6 +51,6 @@ class InsuranceLoader extends AbstractLoader { $xml = $this->xmlExport->read($filename); - return new Crawler($xml); + return XmlCrawlerFactory::create($xml); } } diff --git a/src/BusProNet/XmlLoader/PickupLoader.php b/src/BusProNet/XmlLoader/PickupLoader.php index a4899ad..058c46d 100644 --- a/src/BusProNet/XmlLoader/PickupLoader.php +++ b/src/BusProNet/XmlLoader/PickupLoader.php @@ -4,6 +4,7 @@ namespace App\BusProNet\XmlLoader; use App\BusProNet\Model\Pickup; use App\BusProNet\Model\Travel; +use App\BusProNet\XmlCrawlerFactory; use Psr\Cache\InvalidArgumentException; use Symfony\Component\DomCrawler\Crawler; use Symfony\Contracts\Cache\ItemInterface; @@ -46,7 +47,7 @@ class PickupLoader extends AbstractLoader { $xml = $this->xmlExport->read($filename); - return new Crawler($xml); + return XmlCrawlerFactory::create($xml); } public function parseXml(Crawler $node): Pickup diff --git a/src/BusProNet/XmlLoader/TravelLoader.php b/src/BusProNet/XmlLoader/TravelLoader.php index dd5cd44..881824f 100644 --- a/src/BusProNet/XmlLoader/TravelLoader.php +++ b/src/BusProNet/XmlLoader/TravelLoader.php @@ -7,6 +7,7 @@ use App\BusProNet\Model\MutableData; use App\BusProNet\Model\ServiceAvailabilityResponse; use App\BusProNet\Model\Travel; use App\BusProNet\Utility\DateCodeUtility; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\TravelParser; use App\Exception\HotelNotInTravelException; use App\Exception\TravelNotFoundException; @@ -71,7 +72,7 @@ class TravelLoader extends AbstractLoader foreach ($xmlFiles as $file) { $xml = $this->xmlExport->read($file->path()); - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $travelDataNodes = $crawler->filterXPath('//reisen/reise/termin'); $travelDataNodes->each(function (Crawler $node) use (&$mapping, $hotels, $file) { @@ -218,7 +219,7 @@ class TravelLoader extends AbstractLoader { try { $xml = $this->xmlExport->read($filename); - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $travelNode = $crawler->filterXPath(sprintf('//reise/termin[@idbuspro="%d"]', $dateId)); diff --git a/src/BusProNet/XmlParser/ApiResponseParser.php b/src/BusProNet/XmlParser/ApiResponseParser.php index ce245ac..54b16f0 100644 --- a/src/BusProNet/XmlParser/ApiResponseParser.php +++ b/src/BusProNet/XmlParser/ApiResponseParser.php @@ -4,7 +4,7 @@ namespace App\BusProNet\XmlParser; use App\BusProNet\ApiClient; use App\BusProNet\Exception\ResponseParserException; -use Symfony\Component\DomCrawler\Crawler; +use App\BusProNet\XmlCrawlerFactory; class ApiResponseParser extends AbstractParser { @@ -14,7 +14,7 @@ class ApiResponseParser extends AbstractParser /** @param array $additionalArgs */ public function parseXmlString(string $type, string $xml, array $additionalArgs = []): mixed { - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); if (0 === $crawler->count()) { throw new ResponseParserException('Empty response received from server'); diff --git a/src/Security/Voter/AdministrativeAccessVoter.php b/src/Security/Voter/AdministrativeAccessVoter.php index c0276e2..0e04d24 100644 --- a/src/Security/Voter/AdministrativeAccessVoter.php +++ b/src/Security/Voter/AdministrativeAccessVoter.php @@ -5,7 +5,8 @@ declare(strict_types=1); namespace App\Security\Voter; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; -use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; +use Symfony\Component\Security\Core\Authorization\AccessDecisionManagerInterface; +use Symfony\Component\Security\Core\Authorization\Voter\Vote; use Symfony\Component\Security\Core\Authorization\Voter\Voter; /** @@ -16,7 +17,7 @@ class AdministrativeAccessVoter extends Voter public const ADMINISTRATIVE_ACCESS = 'ADMINISTRATIVE_ACCESS'; public function __construct( - private readonly AuthorizationCheckerInterface $authorizationChecker, + private readonly AccessDecisionManagerInterface $accessDecisionManager, ) { } @@ -25,9 +26,9 @@ class AdministrativeAccessVoter extends Voter return self::ADMINISTRATIVE_ACCESS === $attribute; } - protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token): bool + protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token, ?Vote $vote = null): bool { - return $this->authorizationChecker->isGranted('ROLE_ADMIN') - || $this->authorizationChecker->isGranted('ROLE_GROUPS_MANAGER'); + return $this->accessDecisionManager->decide($token, ['ROLE_ADMIN']) + || $this->accessDecisionManager->decide($token, ['ROLE_GROUPS_MANAGER']); } } diff --git a/src/Security/Voter/BookingVoter.php b/src/Security/Voter/BookingVoter.php index 2ef9dae..4fa96e5 100644 --- a/src/Security/Voter/BookingVoter.php +++ b/src/Security/Voter/BookingVoter.php @@ -7,6 +7,7 @@ namespace App\Security\Voter; use App\BusProNet\Model\Booking; use App\Entity\User; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; +use Symfony\Component\Security\Core\Authorization\Voter\Vote; use Symfony\Component\Security\Core\Authorization\Voter\Voter; /** @@ -32,7 +33,7 @@ class BookingVoter extends Voter return $subject instanceof Booking; } - protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token): bool + protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token, ?Vote $vote = null): bool { /** @var User|null $user */ $user = $token->getUser(); diff --git a/symfony.lock b/symfony.lock index 22dc9e2..a74134c 100644 --- a/symfony.lock +++ b/symfony.lock @@ -177,6 +177,18 @@ ".env" ] }, + "symfony/form": { + "version": "7.4", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "7.2", + "ref": "7d86a6723f4a623f59e2bf966b6aad2fc461d36b" + }, + "files": [ + "config/packages/csrf.yaml" + ] + }, "symfony/framework-bundle": { "version": "6.4", "recipe": { @@ -280,6 +292,18 @@ "tests/bootstrap.php" ] }, + "symfony/property-info": { + "version": "7.4", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "7.3", + "ref": "dae70df71978ae9226ae915ffd5fad817f5ca1f7" + }, + "files": [ + "config/packages/property_info.yaml" + ] + }, "symfony/routing": { "version": "6.4", "recipe": { diff --git a/templates/_partials/_toast.html.twig b/templates/_partials/_toast.html.twig index e5785c3..c6dd1c1 100644 --- a/templates/_partials/_toast.html.twig +++ b/templates/_partials/_toast.html.twig @@ -1,10 +1,8 @@ -{% apply spaceless %} - {% for message in messages %} - {% if message is iterable %} - {% set message = message.id | trans(message.parameters | default({}), message.domain | default(null), message.locale | default(null)) | raw %} - {% else %} - {% set message = message | trans | raw %} - {% endif %} -
- {% endfor %} -{% endapply %} +{% for message in messages %} + {% if message is iterable %} + {% set message = message.id | trans(message.parameters | default({}), message.domain | default(null), message.locale | default(null)) | raw %} + {% else %} + {% set message = message | trans | raw %} + {% endif %} +
+{% endfor %} diff --git a/tests/BusProNet/XmlParser/AgencyParserTest.php b/tests/BusProNet/XmlParser/AgencyParserTest.php index 8353316..d710a31 100644 --- a/tests/BusProNet/XmlParser/AgencyParserTest.php +++ b/tests/BusProNet/XmlParser/AgencyParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\AgencyParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class AgencyParserTest extends TestCase { @@ -41,7 +41,7 @@ class AgencyParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $resultNode = $crawler->filterXPath('//ergebnis'); $agencies = $this->parser->parse($resultNode); @@ -79,7 +79,7 @@ class AgencyParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $resultNode = $crawler->filterXPath('//ergebnis'); $agencies = $this->parser->parse($resultNode); @@ -102,7 +102,7 @@ class AgencyParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $resultNode = $crawler->filterXPath('//ergebnis'); $agencies = $this->parser->parse($resultNode); diff --git a/tests/BusProNet/XmlParser/BookingInsurancesParserTest.php b/tests/BusProNet/XmlParser/BookingInsurancesParserTest.php index fd7b40b..fa954d3 100644 --- a/tests/BusProNet/XmlParser/BookingInsurancesParserTest.php +++ b/tests/BusProNet/XmlParser/BookingInsurancesParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\BookingInsurancesParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class BookingInsurancesParserTest extends TestCase { @@ -22,7 +22,7 @@ class BookingInsurancesParserTest extends TestCase XML; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $insurancesData = $crawler->filterXPath('//versicherungen/versicherung'); $parser = new BookingInsurancesParser(); @@ -53,7 +53,7 @@ XML; XML; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $insurancesData = $crawler->filterXPath('//versicherungen/versicherung'); $parser = new BookingInsurancesParser(); @@ -88,7 +88,7 @@ XML; XML; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $insurancesData = $crawler->filterXPath('//versicherungen/versicherung'); $parser = new BookingInsurancesParser(); diff --git a/tests/BusProNet/XmlParser/BookingResponseParserTest.php b/tests/BusProNet/XmlParser/BookingResponseParserTest.php index 90b186f..b2457b9 100644 --- a/tests/BusProNet/XmlParser/BookingResponseParserTest.php +++ b/tests/BusProNet/XmlParser/BookingResponseParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\BookingResponseParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class BookingResponseParserTest extends TestCase { @@ -34,7 +34,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); $this->assertTrue($response->isInquiryValid()); @@ -67,7 +67,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); $this->assertTrue($response->isInquiryValid()); @@ -102,7 +102,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); $this->assertTrue($response->isInquiryValid()); @@ -140,7 +140,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); // Verify all voucher types are parsed @@ -169,7 +169,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); $this->assertTrue($response->isInquiryValid()); @@ -200,7 +200,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); // Verify multiple purchase vouchers are parsed @@ -228,7 +228,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); $this->assertTrue($response->isInquiryValid()); @@ -269,7 +269,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); // Voucher discount should only include AKTION @@ -305,7 +305,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); // Verify no API-applied discounts @@ -333,7 +333,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); $this->assertTrue($response->isInquiryValid()); @@ -366,7 +366,7 @@ class BookingResponseParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $response = $this->parser->parse($crawler->filter('ergebnis')); // Only ERM (Gruppenrabatt) should be counted as API-applied discount diff --git a/tests/BusProNet/XmlParser/CrmAttributesResponseParserTest.php b/tests/BusProNet/XmlParser/CrmAttributesResponseParserTest.php index aff1960..9b317e4 100644 --- a/tests/BusProNet/XmlParser/CrmAttributesResponseParserTest.php +++ b/tests/BusProNet/XmlParser/CrmAttributesResponseParserTest.php @@ -5,9 +5,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; use App\BusProNet\Model\CrmAttributes; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\CrmAttributesResponseParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class CrmAttributesResponseParserTest extends TestCase { @@ -82,7 +82,7 @@ class CrmAttributesResponseParserTest extends TestCase // A house that is deliberately left out of bpn_crm_house_manager_ids claims nothing — // matching is by id, never by label. $parser = new CrmAttributesResponseParser([]); - $attributes = $parser->parse((new Crawler($this->hausleitungXml()))->filterXPath('//ergebnis')); + $attributes = $parser->parse(XmlCrawlerFactory::create($this->hausleitungXml())->filterXPath('//ergebnis')); self::assertSame([], $attributes->roles); self::assertSame([], $attributes->hotelCodes); @@ -108,7 +108,7 @@ class CrmAttributesResponseParserTest extends TestCase private function parse(string $xmlContent): CrmAttributes { - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $resultNode = $crawler->filterXPath('//ergebnis'); return $this->parser->parse($resultNode); diff --git a/tests/BusProNet/XmlParser/ExtendedAvailabilitiesParserTest.php b/tests/BusProNet/XmlParser/ExtendedAvailabilitiesParserTest.php index 776dd0b..68ada31 100644 --- a/tests/BusProNet/XmlParser/ExtendedAvailabilitiesParserTest.php +++ b/tests/BusProNet/XmlParser/ExtendedAvailabilitiesParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\ExtendedAvailabilitiesParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class ExtendedAvailabilitiesParserTest extends TestCase { @@ -28,7 +28,7 @@ class ExtendedAvailabilitiesParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $response = $this->parser->parseServices($crawler); $services = $response->getServices(); @@ -58,7 +58,7 @@ class ExtendedAvailabilitiesParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $response = $this->parser->parseServices($crawler); $services = $response->getServices(); @@ -78,7 +78,7 @@ class ExtendedAvailabilitiesParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $response = $this->parser->parseServices($crawler); $this->assertSame('Frei', $response->travelStatus); @@ -93,7 +93,7 @@ class ExtendedAvailabilitiesParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $response = $this->parser->parseServices($crawler); $this->assertSame([], $response->allowedBookingStatus); @@ -106,7 +106,7 @@ class ExtendedAvailabilitiesParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $response = $this->parser->parseServices($crawler); $this->assertNull($response->travelStatus); @@ -120,7 +120,7 @@ class ExtendedAvailabilitiesParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $response = $this->parser->parseServices($crawler); $this->assertSame([], $response->getServices()); diff --git a/tests/BusProNet/XmlParser/InsuranceParserTest.php b/tests/BusProNet/XmlParser/InsuranceParserTest.php index 3f6bc3a..9ee6bb2 100644 --- a/tests/BusProNet/XmlParser/InsuranceParserTest.php +++ b/tests/BusProNet/XmlParser/InsuranceParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\InsuranceParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class InsuranceParserTest extends TestCase { @@ -36,7 +36,7 @@ class InsuranceParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $insurances = $this->parser->parse($crawler); // Test all insurances are included (2 regular + 1 complementary + 1 package = 4 total) @@ -112,7 +112,7 @@ class InsuranceParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $insurances = $this->parser->parse($crawler); $this->assertCount(2, $insurances); @@ -134,7 +134,7 @@ class InsuranceParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $insurances = $this->parser->parse($crawler); $this->assertCount(1, $insurances); @@ -155,7 +155,7 @@ class InsuranceParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $insurances = $this->parser->parse($crawler); $this->assertEmpty($insurances); @@ -179,7 +179,7 @@ class InsuranceParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $insurances = $this->parser->parse($crawler); // Should include: normal insurance (178917), both complementary insurances (177270, 999999), and package (P1000320) diff --git a/tests/BusProNet/XmlParser/PersonalDataParserTest.php b/tests/BusProNet/XmlParser/PersonalDataParserTest.php index 0a73834..da81e6a 100644 --- a/tests/BusProNet/XmlParser/PersonalDataParserTest.php +++ b/tests/BusProNet/XmlParser/PersonalDataParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\PersonalDataParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class PersonalDataParserTest extends TestCase { @@ -46,7 +46,7 @@ class PersonalDataParserTest extends TestCase private function parse(string $xml): \App\BusProNet\Model\PersonalData { - return $this->parser->parse(new Crawler($xml)); + return $this->parser->parse(XmlCrawlerFactory::create($xml)); } /** diff --git a/tests/BusProNet/XmlParser/TravelParserTest.php b/tests/BusProNet/XmlParser/TravelParserTest.php index 28f6a79..71fb892 100644 --- a/tests/BusProNet/XmlParser/TravelParserTest.php +++ b/tests/BusProNet/XmlParser/TravelParserTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace App\Tests\BusProNet\XmlParser; +use App\BusProNet\XmlCrawlerFactory; use App\BusProNet\XmlParser\TravelParser; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; class TravelParserTest extends TestCase { @@ -68,7 +68,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -135,7 +135,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -166,7 +166,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -201,7 +201,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -240,7 +240,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -284,7 +284,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -319,7 +319,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -347,7 +347,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xmlContent); + $crawler = XmlCrawlerFactory::create($xmlContent); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $this->parser->parse($travelNode); @@ -364,7 +364,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $defaultDate = new \DateTimeImmutable('2029-12-30'); $pickups = $this->parser->getPickups( @@ -392,7 +392,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $defaultDate = new \DateTimeImmutable('2029-12-30'); $pickups = $this->parser->getPickups( @@ -413,7 +413,7 @@ class TravelParserTest extends TestCase '; - $crawler = new Crawler($xml); + $crawler = XmlCrawlerFactory::create($xml); $defaultDate = new \DateTimeImmutable('2029-12-30'); $pickups = $this->parser->getPickups( diff --git a/tests/Command/BpnSyncContingentsCommandTest.php b/tests/Command/BpnSyncContingentsCommandTest.php index 9f8ed74..9a6f3f9 100644 --- a/tests/Command/BpnSyncContingentsCommandTest.php +++ b/tests/Command/BpnSyncContingentsCommandTest.php @@ -88,7 +88,7 @@ class BpnSyncContingentsCommandTest extends TestCase ); $application = new Application(); - $application->add($command); + $application->addCommand($command); $tester = new CommandTester($application->find('app:bpn:sync-contingents')); $tester->execute(['--horizon-months' => '1']); diff --git a/tests/Controller/Account/PersonalDataControllerTest.php b/tests/Controller/Account/PersonalDataControllerTest.php index 68edd7c..2dea230 100644 --- a/tests/Controller/Account/PersonalDataControllerTest.php +++ b/tests/Controller/Account/PersonalDataControllerTest.php @@ -299,7 +299,7 @@ final class TestablePersonalDataController extends PersonalDataController $this->flashes[] = [$type, (string) $message]; } - protected function render(string $view, array $parameters = [], Response $response = null): Response + protected function render(string $view, array $parameters = [], ?Response $response = null): Response { $this->renderedView = $view; $this->renderedParameters = $parameters; diff --git a/tests/Form/Service/ParticipantFieldOptionsProviderBabyTest.php b/tests/Form/Service/ParticipantFieldOptionsProviderBabyTest.php index 8246f4b..e6de7f1 100644 --- a/tests/Form/Service/ParticipantFieldOptionsProviderBabyTest.php +++ b/tests/Form/Service/ParticipantFieldOptionsProviderBabyTest.php @@ -8,8 +8,9 @@ use App\BusProNet\Constants; use App\BusProNet\Model\Booking; use App\BusProNet\Model\Service; use App\BusProNet\Model\Travel; -use App\BusProNet\XmlParser\TravelParser; use App\BusProNet\Utility\DirectionMapper; +use App\BusProNet\XmlCrawlerFactory; +use App\BusProNet\XmlParser\TravelParser; use App\Form\Model\BookingDto; use App\Form\Model\ParticipantDto; use App\Form\Service\ParticipantFieldOptionsProvider; @@ -18,7 +19,6 @@ use App\Service\InsuranceManager; use App\Service\ServiceAvailabilityCalculator; use App\Service\ServiceLabelFormatter; use PHPUnit\Framework\TestCase; -use Symfony\Component\DomCrawler\Crawler; use Symfony\Contracts\Translation\TranslatorInterface; class ParticipantFieldOptionsProviderBabyTest extends TestCase @@ -488,7 +488,7 @@ class ParticipantFieldOptionsProviderBabyTest extends TestCase private function createTravelWithExportedSkiPasses(array $serviceIds): Travel { $parser = new TravelParser(); - $crawler = new Crawler(file_get_contents('/var/www/html/var/xmlexport/Ziel_2456.xml')); + $crawler = XmlCrawlerFactory::create(file_get_contents('/var/www/html/var/xmlexport/Ziel_2456.xml')); $travelNode = $crawler->filterXPath('//reise/termin')->first(); $travel = $parser->parse($travelNode);