diff --git a/.env b/.env
index b1b8df7..3ad1da0 100644
--- a/.env
+++ b/.env
@@ -31,12 +31,6 @@ HYDRA_ADMIN_BASE_URL='http://hydra:4445'
APP_LOCALES="fr,en"
SECURITY_PATTERN=
HASH_ALGO_LEGACY="sha256,ssha"
-###> symfony/lock ###
-# Choose one of the stores below
-# postgresql+advisory://db_user:db_password@localhost/db_name
-LOCK_DSN=flock
-###< symfony/lock ###
-
###> sentry/sentry-symfony ###
SENTRY_DSN=
###< sentry/sentry-symfony ###
diff --git a/.gitignore b/.gitignore
index a8c92ec..2ff7818 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,7 @@ composer.phar
npm-debug.log
yarn-error.log
###< symfony/webpack-encore-bundle ###
+
+###> phpstan/phpstan ###
+phpstan.neon
+###< phpstan/phpstan ###
diff --git a/Jenkinsfile b/Jenkinsfile
index 4f06e43..e5eb019 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -4,7 +4,7 @@
// Utilisation du pipeline partagé pour les applications Symfony de Cadoles
// Le nom de l'image Docker passée en paramètre vous permet de préciser l'environnement de test
// de votre application Symfony
-symfonyAppPipeline('ubuntu:22.04', [
+symfonyAppPipeline('ubuntu:25.04', [
'hooks': [
// Run docker image build, verification and publication stages
'postSymfonyAppPipeline': {
diff --git a/composer.json b/composer.json
index 107e546..02344a0 100644
--- a/composer.json
+++ b/composer.json
@@ -4,31 +4,31 @@
"minimum-stability": "stable",
"prefer-stable": true,
"require": {
- "php": ">=7.2.5",
+ "php": "^8.4",
"ext-ctype": "*",
"ext-iconv": "*",
"doctrine/annotations": "^1.13",
"predis/predis": "^2.1",
"sentry/sentry-symfony": "^4.5",
"symfony/apache-pack": "^1.0",
- "symfony/asset": "5.4.*",
- "symfony/console": "5.4.*",
- "symfony/dependency-injection": "5.4.*",
- "symfony/dotenv": "5.4.*",
- "symfony/expression-language": "5.4.*",
+ "symfony/asset": "6.4.*",
+ "symfony/console": "6.4.*",
+ "symfony/dependency-injection": "6.4.*",
+ "symfony/dotenv": "6.4.*",
+ "symfony/expression-language": "6.4.*",
"symfony/flex": "^1.17|^2",
- "symfony/form": "5.4.*",
- "symfony/framework-bundle": "5.4.*",
- "symfony/http-client": "5.4.*",
- "symfony/rate-limiter": "5.4.*",
- "symfony/runtime": "5.4.*",
- "symfony/security-bundle": "5.4.*",
- "symfony/translation": "5.4.*",
- "symfony/twig-bundle": "5.4.*",
- "symfony/validator": "5.4.*",
- "symfony/web-profiler-bundle": "5.4.*",
+ "symfony/form": "6.4.*",
+ "symfony/framework-bundle": "6.4.*",
+ "symfony/http-client": "6.4.*",
+ "symfony/rate-limiter": "6.4.*",
+ "symfony/runtime": "6.4.*",
+ "symfony/security-bundle": "6.4.*",
+ "symfony/translation": "6.4.*",
+ "symfony/twig-bundle": "6.4.*",
+ "symfony/validator": "6.4.*",
+ "symfony/web-profiler-bundle": "6.4.*",
"symfony/webpack-encore-bundle": "^1.16",
- "symfony/yaml": "5.4.*"
+ "symfony/yaml": "6.4.*"
},
"config": {
"allow-plugins": {
@@ -76,10 +76,11 @@
"extra": {
"symfony": {
"allow-contrib": true,
- "require": "5.4.*"
+ "require": "6.4.*"
}
},
"require-dev": {
- "symfony/debug-bundle": "5.4.*"
+ "rector/rector": "^2.1",
+ "symfony/debug-bundle": "6.4.*"
}
}
diff --git a/composer.lock b/composer.lock
index ba4271c..b3e27f9 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": "203398b3a4f3ff689ff3341c02460f23",
+ "content-hash": "8b996df8de88651b1cb94dde643d615c",
"packages": [
{
"name": "clue/stream-filter",
@@ -974,16 +974,16 @@
},
{
"name": "predis/predis",
- "version": "v2.3.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/predis/predis.git",
- "reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9"
+ "reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
- "reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
+ "url": "https://api.github.com/repos/predis/predis/zipball/f49e13ee3a2a825631562aa0223ac922ec5d058b",
+ "reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b",
"shasum": ""
},
"require": {
@@ -992,6 +992,7 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.3",
"phpstan/phpstan": "^1.9",
+ "phpunit/phpcov": "^6.0 || ^8.0",
"phpunit/phpunit": "^8.0 || ^9.4"
},
"suggest": {
@@ -1014,7 +1015,7 @@
"role": "Maintainer"
}
],
- "description": "A flexible and feature-complete Redis client for PHP.",
+ "description": "A flexible and feature-complete Redis/Valkey client for PHP.",
"homepage": "http://github.com/predis/predis",
"keywords": [
"nosql",
@@ -1023,7 +1024,7 @@
],
"support": {
"issues": "https://github.com/predis/predis/issues",
- "source": "https://github.com/predis/predis/tree/v2.3.0"
+ "source": "https://github.com/predis/predis/tree/v2.4.0"
},
"funding": [
{
@@ -1031,20 +1032,20 @@
"type": "github"
}
],
- "time": "2024-11-21T20:00:02+00:00"
+ "time": "2025-04-30T15:16:02+00:00"
},
{
"name": "psr/cache",
- "version": "2.0.0",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
- "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b"
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
- "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
"shasum": ""
},
"require": {
@@ -1078,28 +1079,81 @@
"psr-6"
],
"support": {
- "source": "https://github.com/php-fig/cache/tree/2.0.0"
+ "source": "https://github.com/php-fig/cache/tree/3.0.0"
},
- "time": "2021-02-03T23:23:37+00:00"
+ "time": "2021-02-03T23:26:27+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.2",
+ "name": "psr/clock",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Clock\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
+ "keywords": [
+ "clock",
+ "now",
+ "psr",
+ "psr-20",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
+ },
+ "time": "2022-11-25T14:36:26+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -1126,9 +1180,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -1342,16 +1396,16 @@
},
{
"name": "psr/log",
- "version": "2.0.0",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
+ "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
+ "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
@@ -1360,7 +1414,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
@@ -1386,9 +1440,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/2.0.0"
+ "source": "https://github.com/php-fig/log/tree/3.0.2"
},
- "time": "2021-07-14T16:41:46+00:00"
+ "time": "2024-09-11T13:17:53+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -1733,33 +1787,28 @@
},
{
"name": "symfony/asset",
- "version": "v5.4.45",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset.git",
- "reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0"
+ "reference": "2466c17d61d14539cddf77e57ebb9cc971185302"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/b7a18eaff1d717c321b4f13403413f8815bf9cb0",
- "reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/2466c17d61d14539cddf77e57ebb9cc971185302",
+ "reference": "2466c17d61d14539cddf77e57ebb9cc971185302",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"conflict": {
- "symfony/http-foundation": "<5.3"
+ "symfony/http-foundation": "<5.4"
},
"require-dev": {
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/http-foundation": ""
+ "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"
},
"type": "library",
"autoload": {
@@ -1787,7 +1836,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/v5.4.45"
+ "source": "https://github.com/symfony/asset/tree/v6.4.13"
},
"funding": [
{
@@ -1803,62 +1852,61 @@
"type": "tidelift"
}
],
- "time": "2024-10-22T13:05:35+00:00"
+ "time": "2024-10-25T15:07:50+00:00"
},
{
"name": "symfony/cache",
- "version": "v5.4.46",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b"
+ "reference": "c88690befb8d4a85dc321fb78d677507f5eb141b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
- "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/c88690befb8d4a85dc321fb78d677507f5eb141b",
+ "reference": "c88690befb8d4a85dc321fb78d677507f5eb141b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/cache": "^1.0|^2.0",
+ "php": ">=8.1",
+ "psr/cache": "^2.0|^3.0",
"psr/log": "^1.1|^2|^3",
- "symfony/cache-contracts": "^1.1.7|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/cache-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/var-exporter": "^6.3.6|^7.0"
},
"conflict": {
"doctrine/dbal": "<2.13.1",
- "symfony/dependency-injection": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/var-dumper": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/var-dumper": "<5.4"
},
"provide": {
- "psr/cache-implementation": "1.0|2.0",
- "psr/simple-cache-implementation": "1.0|2.0",
- "symfony/cache-implementation": "1.0|2.0"
+ "psr/cache-implementation": "2.0|3.0",
+ "psr/simple-cache-implementation": "1.0|2.0|3.0",
+ "symfony/cache-implementation": "1.1|2.0|3.0"
},
"require-dev": {
"cache/integration-tests": "dev-master",
- "doctrine/cache": "^1.6|^2.0",
"doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1|^2.0",
- "psr/simple-cache": "^1.0|^2.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.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"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Cache\\": ""
},
+ "classmap": [
+ "Traits/ValueWrapper.php"
+ ],
"exclude-from-classmap": [
"/Tests/"
]
@@ -1884,7 +1932,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v5.4.46"
+ "source": "https://github.com/symfony/cache/tree/v6.4.23"
},
"funding": [
{
@@ -1900,28 +1948,25 @@
"type": "tidelift"
}
],
- "time": "2024-11-04T11:43:55+00:00"
+ "time": "2025-06-27T18:31:36+00:00"
},
{
"name": "symfony/cache-contracts",
- "version": "v2.5.4",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
- "reference": "517c3a3619dadfa6952c4651767fcadffb4df65e"
+ "reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/517c3a3619dadfa6952c4651767fcadffb4df65e",
- "reference": "517c3a3619dadfa6952c4651767fcadffb4df65e",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868",
+ "reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/cache": "^1.0|^2.0|^3.0"
- },
- "suggest": {
- "symfony/cache-implementation": ""
+ "php": ">=8.1",
+ "psr/cache": "^3.0"
},
"type": "library",
"extra": {
@@ -1930,7 +1975,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -1963,7 +2008,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v2.5.4"
+ "source": "https://github.com/symfony/cache-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -1979,42 +2024,112 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-03-13T15:25:07+00:00"
},
{
- "name": "symfony/config",
- "version": "v5.4.46",
+ "name": "symfony/clock",
+ "version": "v6.4.13",
"source": {
"type": "git",
- "url": "https://github.com/symfony/config.git",
- "reference": "977c88a02d7d3f16904a81907531b19666a08e78"
+ "url": "https://github.com/symfony/clock.git",
+ "reference": "b2bf55c4dd115003309eafa87ee7df9ed3dde81b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78",
- "reference": "977c88a02d7d3f16904a81907531b19666a08e78",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/b2bf55c4dd115003309eafa87ee7df9ed3dde81b",
+ "reference": "b2bf55c4dd115003309eafa87ee7df9ed3dde81b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22"
+ "php": ">=8.1",
+ "psr/clock": "^1.0",
+ "symfony/polyfill-php83": "^1.28"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/now.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Clock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "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": "Decouples applications from the system clock",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clock",
+ "psr20",
+ "time"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/clock/tree/v6.4.13"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-25T14:18:03+00:00"
+ },
+ {
+ "name": "symfony/config",
+ "version": "v6.4.22",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "af5917a3b1571f54689e56677a3f06440d2fe4c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/af5917a3b1571f54689e56677a3f06440d2fe4c7",
+ "reference": "af5917a3b1571f54689e56677a3f06440d2fe4c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/filesystem": "^5.4|^6.0|^7.0",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<4.4"
+ "symfony/finder": "<5.4",
+ "symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
+ "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/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -2042,7 +2157,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/v5.4.46"
+ "source": "https://github.com/symfony/config/tree/v6.4.22"
},
"funding": [
{
@@ -2058,56 +2173,51 @@
"type": "tidelift"
}
],
- "time": "2024-10-30T07:58:02+00:00"
+ "time": "2025-05-14T06:00:01+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.47",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed"
+ "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
- "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
+ "url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93",
+ "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/string": "^5.1|^6.0"
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^5.4|^6.0|^7.0"
},
"conflict": {
- "psr/log": ">=3",
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/log": "^1|^2",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
+ "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"
},
"type": "library",
"autoload": {
@@ -2141,7 +2251,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.47"
+ "source": "https://github.com/symfony/console/tree/v6.4.23"
},
"funding": [
{
@@ -2157,52 +2267,44 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T11:30:55+00:00"
+ "time": "2025-06-27T19:37:22+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.48",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92"
+ "reference": "0d9f24f3de0a83573fce5c9ed025d6306c6e166b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
- "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0d9f24f3de0a83573fce5c9ed025d6306c6e166b",
+ "reference": "0d9f24f3de0a83573fce5c9ed025d6306c6e166b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1.1",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/service-contracts": "^1.1.6|^2"
+ "php": ">=8.1",
+ "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"
},
"conflict": {
"ext-psr": "<1.1|>=2",
- "symfony/config": "<5.3",
- "symfony/finder": "<4.4",
- "symfony/proxy-manager-bridge": "<4.4",
- "symfony/yaml": "<4.4.26"
+ "symfony/config": "<6.1",
+ "symfony/finder": "<5.4",
+ "symfony/proxy-manager-bridge": "<6.3",
+ "symfony/yaml": "<5.4"
},
"provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0|2.0"
+ "psr/container-implementation": "1.1|2.0",
+ "symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4.26|^5.0|^6.0"
- },
- "suggest": {
- "symfony/config": "",
- "symfony/expression-language": "For using expressions in service container configuration",
- "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
- "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
- "symfony/yaml": ""
+ "symfony/config": "^6.1|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -2230,7 +2332,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/v5.4.48"
+ "source": "https://github.com/symfony/dependency-injection/tree/v6.4.23"
},
"funding": [
{
@@ -2246,20 +2348,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-20T10:51:57+00:00"
+ "time": "2025-06-23T06:49:06+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.5.1",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
- "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"shasum": ""
},
"require": {
@@ -2272,7 +2374,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -2297,7 +2399,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -2313,29 +2415,32 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/dotenv",
- "version": "v5.4.48",
+ "version": "v6.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
- "reference": "08013403089c8a126c968179179b817a552841ab"
+ "reference": "1ac5e7e7e862d4d574258daf08bd569ba926e4a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/08013403089c8a126c968179179b817a552841ab",
- "reference": "08013403089c8a126c968179179b817a552841ab",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/1ac5e7e7e862d4d574258daf08bd569ba926e4a5",
+ "reference": "1ac5e7e7e862d4d574258daf08bd569ba926e4a5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.1"
+ },
+ "conflict": {
+ "symfony/console": "<5.4",
+ "symfony/process": "<5.4"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0"
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -2368,7 +2473,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v5.4.48"
+ "source": "https://github.com/symfony/dotenv/tree/v6.4.16"
},
"funding": [
{
@@ -2384,31 +2489,35 @@
"type": "tidelift"
}
],
- "time": "2024-11-27T09:33:00+00:00"
+ "time": "2024-11-27T11:08:19+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v5.4.46",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363"
+ "reference": "b088e0b175c30b4e06d8085200fa465b586f44fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363",
- "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/b088e0b175c30b4e06d8085200fa465b586f44fa",
+ "reference": "b088e0b175c30b4e06d8085200fa465b586f44fa",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ },
+ "conflict": {
+ "symfony/deprecation-contracts": "<2.5",
+ "symfony/http-kernel": "<6.4"
},
"require-dev": {
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/serializer": "^5.4|^6.0|^7.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -2439,7 +2548,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/v5.4.46"
+ "source": "https://github.com/symfony/error-handler/tree/v6.4.23"
},
"funding": [
{
@@ -2455,48 +2564,43 @@
"type": "tidelift"
}
],
- "time": "2024-11-05T14:17:06+00:00"
+ "time": "2025-06-13T07:39:48+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.45",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9"
+ "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9",
- "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e",
+ "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^2|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/service-contracts": "<2.5"
},
"provide": {
"psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0"
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
+ "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/service-contracts": "^2.5|^3",
+ "symfony/stopwatch": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -2524,7 +2628,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/v5.4.45"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13"
},
"funding": [
{
@@ -2540,20 +2644,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-25T14:18:03+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.5.1",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
+ "reference": "59eb412e93815df44f05f342958efa9f46b1e586"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
- "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
+ "reference": "59eb412e93815df44f05f342958efa9f46b1e586",
"shasum": ""
},
"require": {
@@ -2567,7 +2671,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -2600,7 +2704,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -2616,26 +2720,27 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/expression-language",
- "version": "v5.4.45",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "a784b66edc4c151eb05076d04707906ee2c209a9"
+ "reference": "3524904fb026356a5230cd197f9a4e6a61e0e7df"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/a784b66edc4c151eb05076d04707906ee2c209a9",
- "reference": "a784b66edc4c151eb05076d04707906ee2c209a9",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/3524904fb026356a5230cd197f9a4e6a61e0e7df",
+ "reference": "3524904fb026356a5230cd197f9a4e6a61e0e7df",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "php": ">=8.1",
+ "symfony/cache": "^5.4|^6.0|^7.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^2.5|^3"
},
"type": "library",
"autoload": {
@@ -2663,7 +2768,7 @@
"description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/expression-language/tree/v5.4.45"
+ "source": "https://github.com/symfony/expression-language/tree/v6.4.13"
},
"funding": [
{
@@ -2679,30 +2784,29 @@
"type": "tidelift"
}
],
- "time": "2024-10-04T14:55:40+00:00"
+ "time": "2024-10-09T08:40:40+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.4.45",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "57c8294ed37d4a055b77057827c67f9558c95c54"
+ "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54",
- "reference": "57c8294ed37d4a055b77057827c67f9558c95c54",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3",
+ "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^5.4|^6.4"
+ "symfony/process": "^5.4|^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2730,7 +2834,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.45"
+ "source": "https://github.com/symfony/filesystem/tree/v6.4.13"
},
"funding": [
{
@@ -2746,26 +2850,27 @@
"type": "tidelift"
}
],
- "time": "2024-10-22T13:05:35+00:00"
+ "time": "2024-10-25T15:07:50+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.45",
+ "version": "v6.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "63741784cd7b9967975eec610b256eed3ede022b"
+ "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b",
- "reference": "63741784cd7b9967975eec610b256eed3ede022b",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7",
+ "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -2793,7 +2898,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.45"
+ "source": "https://github.com/symfony/finder/tree/v6.4.17"
},
"funding": [
{
@@ -2809,20 +2914,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-28T13:32:08+00:00"
+ "time": "2024-12-29T13:51:37+00:00"
},
{
"name": "symfony/flex",
- "version": "v2.5.0",
+ "version": "v2.8.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
- "reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018"
+ "reference": "423c36e369361003dc31ef11c5f15fb589e52c01"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/flex/zipball/8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
- "reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
+ "url": "https://api.github.com/repos/symfony/flex/zipball/423c36e369361003dc31ef11c5f15fb589e52c01",
+ "reference": "423c36e369361003dc31ef11c5f15fb589e52c01",
"shasum": ""
},
"require": {
@@ -2861,7 +2966,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
- "source": "https://github.com/symfony/flex/tree/v2.5.0"
+ "source": "https://github.com/symfony/flex/tree/v2.8.1"
},
"funding": [
{
@@ -2877,65 +2982,60 @@
"type": "tidelift"
}
],
- "time": "2025-03-03T07:50:46+00:00"
+ "time": "2025-07-05T07:45:19+00:00"
},
{
"name": "symfony/form",
- "version": "v5.4.45",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a"
+ "reference": "6f60a2a9031c49fe92b8703764defa46481db155"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/c1974a723cdee8a273cb49ce13fada5c1667706a",
- "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a",
+ "url": "https://api.github.com/repos/symfony/form/zipball/6f60a2a9031c49fe92b8703764defa46481db155",
+ "reference": "6f60a2a9031c49fe92b8703764defa46481db155",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/options-resolver": "^5.1|^6.0",
+ "php": ">=8.1",
+ "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/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.23",
- "symfony/property-access": "^5.0.8|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "symfony/property-access": "^5.4|^6.0|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<4.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
"symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7",
- "symfony/error-handler": "<4.4.5",
- "symfony/framework-bundle": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
- "symfony/translation-contracts": "<1.1.7",
- "symfony/twig-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/translation-contracts": "<2.5",
+ "symfony/twig-bridge": "<6.3"
},
"require-dev": {
"doctrine/collections": "^1.0|^2.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
- "symfony/uid": "^5.1|^6.0",
- "symfony/validator": "^4.4.17|^5.1.9|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/security-csrf": "For protecting forms against CSRF attacks.",
- "symfony/twig-bridge": "For templating with Twig.",
- "symfony/validator": "For form validation."
+ "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"
},
"type": "library",
"autoload": {
@@ -2963,7 +3063,7 @@
"description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/v5.4.45"
+ "source": "https://github.com/symfony/form/tree/v6.4.23"
},
"funding": [
{
@@ -2979,115 +3079,113 @@
"type": "tidelift"
}
],
- "time": "2024-10-08T07:27:17+00:00"
+ "time": "2025-06-05T16:22:31+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v5.4.45",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2"
+ "reference": "ff892d3ab4b8aa35921bc2120a4b31d57948fe22"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3d70f14176422d4d8ee400b6acae4e21f7c25ca2",
- "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ff892d3ab4b8aa35921bc2120a4b31d57948fe22",
+ "reference": "ff892d3ab4b8aa35921bc2120a4b31d57948fe22",
"shasum": ""
},
"require": {
+ "composer-runtime-api": ">=2.1",
"ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/cache": "^5.2|^6.0",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^5.4.44|^6.0.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
- "symfony/event-dispatcher": "^5.1|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.4.24|^6.2.11",
- "symfony/http-kernel": "^5.4|^6.0",
+ "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",
+ "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/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/routing": "^5.3|^6.0"
+ "symfony/routing": "^6.4|^7.0"
},
"conflict": {
"doctrine/annotations": "<1.13.1",
- "doctrine/cache": "<1.11",
"doctrine/persistence": "<1.3",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/asset": "<5.3",
- "symfony/console": "<5.2.5|>=7.0",
- "symfony/dom-crawler": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/form": "<5.2",
- "symfony/http-client": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/mailer": "<5.2",
- "symfony/messenger": "<5.4",
- "symfony/mime": "<4.4",
- "symfony/property-access": "<5.3",
- "symfony/property-info": "<4.4",
+ "symfony/asset": "<5.4",
+ "symfony/asset-mapper": "<6.4",
+ "symfony/clock": "<6.3",
+ "symfony/console": "<5.4|>=7.0",
+ "symfony/dom-crawler": "<6.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<6.3",
+ "symfony/lock": "<5.4",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<6.3",
+ "symfony/mime": "<6.4",
+ "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/security-csrf": "<5.3",
- "symfony/serializer": "<5.2",
- "symfony/service-contracts": ">=3.0",
- "symfony/stopwatch": "<4.4",
- "symfony/translation": "<5.3",
- "symfony/twig-bridge": "<4.4",
- "symfony/twig-bundle": "<4.4",
- "symfony/validator": "<5.3.11",
- "symfony/web-profiler-bundle": "<4.4",
- "symfony/workflow": "<5.2"
+ "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/validator": "<6.4",
+ "symfony/web-profiler-bundle": "<6.4",
+ "symfony/workflow": "<6.4"
},
"require-dev": {
"doctrine/annotations": "^1.13.1|^2",
- "doctrine/cache": "^1.11|^2.0",
"doctrine/persistence": "^1.3|^2|^3",
+ "dragonmantank/cron-expression": "^3.1",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^5.3|^6.0",
- "symfony/browser-kit": "^5.4|^6.0",
- "symfony/console": "^5.4.9|^6.0.9",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0",
- "symfony/dotenv": "^5.1|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.2|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/mailer": "^5.2|^6.0",
- "symfony/messenger": "^5.4|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/notifier": "^5.4|^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": "^5.4.9|^6.0.9|^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|^7.0",
+ "symfony/notifier": "^5.4|^6.0|^7.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/security-bundle": "^5.4|^6.0",
- "symfony/serializer": "^5.4|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/string": "^5.0|^6.0",
- "symfony/translation": "^5.3|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/validator": "^5.3.11|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/workflow": "^5.2|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.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"
},
- "suggest": {
- "ext-apcu": "For best performance of the system caches",
- "symfony/console": "For using the console commands",
- "symfony/form": "For using forms",
- "symfony/property-info": "For using the property_info service",
- "symfony/serializer": "For using the serializer service",
- "symfony/validator": "For using validation",
- "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
- "symfony/yaml": "For using the debug:config and lint:yaml commands"
- },
"type": "symfony-bundle",
"autoload": {
"psr-4": {
@@ -3114,7 +3212,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/v5.4.45"
+ "source": "https://github.com/symfony/framework-bundle/tree/v6.4.23"
},
"funding": [
{
@@ -3130,36 +3228,38 @@
"type": "tidelift"
}
],
- "time": "2024-10-22T13:05:35+00:00"
+ "time": "2025-06-26T21:24:02+00:00"
},
{
"name": "symfony/http-client",
- "version": "v5.4.49",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28"
+ "reference": "19f11e742b94dcfd968a54f5381bb9082a88cb57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/d77d8e212cde7b5c4a64142bf431522f19487c28",
- "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/19f11e742b94dcfd968a54f5381bb9082a88cb57",
+ "reference": "19f11e742b94dcfd968a54f5381bb9082a88cb57",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-client-contracts": "^2.5.4",
- "symfony/polyfill-php73": "^1.11",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.0|^2|^3"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-client-contracts": "~3.4.4|^3.5.2",
+ "symfony/service-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "php-http/discovery": "<1.15",
+ "symfony/http-foundation": "<6.3"
},
"provide": {
"php-http/async-client-implementation": "*",
"php-http/client-implementation": "*",
"psr/http-client-implementation": "1.0",
- "symfony/http-client-implementation": "2.4"
+ "symfony/http-client-implementation": "3.0"
},
"require-dev": {
"amphp/amp": "^2.5",
@@ -3169,12 +3269,12 @@
"guzzlehttp/promises": "^1.4|^2.0",
"nyholm/psr7": "^1.0",
"php-http/httplug": "^1.0|^2.0",
- "php-http/message-factory": "^1.0",
"psr/http-client": "^1.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.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"
},
"type": "library",
"autoload": {
@@ -3205,7 +3305,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v5.4.49"
+ "source": "https://github.com/symfony/http-client/tree/v6.4.23"
},
"funding": [
{
@@ -3221,27 +3321,24 @@
"type": "tidelift"
}
],
- "time": "2024-11-28T08:37:04+00:00"
+ "time": "2025-06-27T20:02:31+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v2.5.5",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "48ef1d0a082885877b664332b9427662065a360c"
+ "reference": "75d7043853a42837e68111812f4d964b01e5101c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/48ef1d0a082885877b664332b9427662065a360c",
- "reference": "48ef1d0a082885877b664332b9427662065a360c",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c",
+ "reference": "75d7043853a42837e68111812f4d964b01e5101c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
- },
- "suggest": {
- "symfony/http-client-implementation": ""
+ "php": ">=8.1"
},
"type": "library",
"extra": {
@@ -3250,13 +3347,16 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\HttpClient\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3283,7 +3383,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.5"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -3299,39 +3399,40 @@
"type": "tidelift"
}
],
- "time": "2024-11-28T08:37:04+00:00"
+ "time": "2025-04-29T11:18:49+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.48",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "3f38b8af283b830e1363acd79e5bc3412d055341"
+ "reference": "452d19f945ee41345fd8a50c18b60783546b7bd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3f38b8af283b830e1363acd79e5bc3412d055341",
- "reference": "3f38b8af283b830e1363acd79e5bc3412d055341",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/452d19f945ee41345fd8a50c18b60783546b7bd3",
+ "reference": "452d19f945ee41345fd8a50c18b60783546b7bd3",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-php83": "^1.27"
+ },
+ "conflict": {
+ "symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
- "predis/predis": "^1.0|^2.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0"
- },
- "suggest": {
- "symfony/mime": "To use the file extension guesser"
+ "doctrine/dbal": "^2.13.1|^3|^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"
},
"type": "library",
"autoload": {
@@ -3359,7 +3460,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.48"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.4.23"
},
"funding": [
{
@@ -3375,77 +3476,78 @@
"type": "tidelift"
}
],
- "time": "2024-11-13T18:58:02+00:00"
+ "time": "2025-05-26T09:17:58+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.4.48",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0"
+ "reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0",
- "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2bb2cba685aabd859f22cf6946554e8e7f3c329a",
+ "reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/log": "^1|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^5.0|^6.0",
- "symfony/http-foundation": "^5.4.21|^6.2.7",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "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/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.0",
- "symfony/config": "<5.0",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.3",
- "symfony/doctrine-bridge": "<5.0",
- "symfony/form": "<5.0",
- "symfony/http-client": "<5.0",
- "symfony/mailer": "<5.0",
- "symfony/messenger": "<5.0",
- "symfony/translation": "<5.0",
- "symfony/twig-bridge": "<5.0",
- "symfony/validator": "<5.0",
+ "symfony/cache": "<5.4",
+ "symfony/config": "<6.1",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/translation-contracts": "<2.5",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/validator": "<6.4",
+ "symfony/var-dumper": "<6.3",
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "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",
- "symfony/config": "^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client-contracts": "^1.1|^2|^3",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2|^3",
- "symfony/var-dumper": "^4.4.31|^5.4",
+ "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|^7.0",
+ "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/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/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"
},
- "suggest": {
- "symfony/browser-kit": "",
- "symfony/config": "",
- "symfony/console": "",
- "symfony/dependency-injection": ""
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -3472,7 +3574,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/v5.4.48"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.4.23"
},
"funding": [
{
@@ -3488,106 +3590,25 @@
"type": "tidelift"
}
],
- "time": "2024-11-27T12:43:17+00:00"
- },
- {
- "name": "symfony/lock",
- "version": "v5.4.45",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/lock.git",
- "reference": "f85ebc5346a2f0e4f9e347e9154922a6d4665c65"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/lock/zipball/f85ebc5346a2f0e4f9e347e9154922a6d4665c65",
- "reference": "f85ebc5346a2f0e4f9e347e9154922a6d4665c65",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
- },
- "conflict": {
- "doctrine/dbal": "<2.13"
- },
- "require-dev": {
- "doctrine/dbal": "^2.13|^3|^4",
- "predis/predis": "^1.0|^2.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Lock\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jérémy Derussé",
- "email": "jeremy@derusse.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Creates and manages locks, a mechanism to provide exclusive access to a shared resource",
- "homepage": "https://symfony.com",
- "keywords": [
- "cas",
- "flock",
- "locking",
- "mutex",
- "redlock",
- "semaphore"
- ],
- "support": {
- "source": "https://github.com/symfony/lock/tree/v5.4.45"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-10-21T20:36:41+00:00"
+ "time": "2025-06-28T08:14:51+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.4.45",
+ "version": "v6.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6"
+ "reference": "368128ad168f20e22c32159b9f761e456cec0c78"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
- "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78",
+ "reference": "368128ad168f20e22c32159b9f761e456cec0c78",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
"autoload": {
@@ -3620,7 +3641,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.45"
+ "source": "https://github.com/symfony/options-resolver/tree/v6.4.16"
},
"funding": [
{
@@ -3636,33 +3657,31 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-11-20T10:57:02+00:00"
},
{
"name": "symfony/password-hasher",
- "version": "v5.4.45",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/password-hasher.git",
- "reference": "6c5993b24505f98b90ca4896448012bbec54c7c8"
+ "reference": "e97a1b31f60b8bdfc1fdedab4398538da9441d47"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/password-hasher/zipball/6c5993b24505f98b90ca4896448012bbec54c7c8",
- "reference": "6c5993b24505f98b90ca4896448012bbec54c7c8",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/e97a1b31f60b8bdfc1fdedab4398538da9441d47",
+ "reference": "e97a1b31f60b8bdfc1fdedab4398538da9441d47",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.15"
+ "php": ">=8.1"
},
"conflict": {
- "symfony/security-core": "<5.3"
+ "symfony/security-core": "<5.4"
},
"require-dev": {
- "symfony/console": "^5.3|^6.0",
- "symfony/security-core": "^5.3|^6.0"
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/security-core": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -3694,7 +3713,7 @@
"password"
],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v5.4.45"
+ "source": "https://github.com/symfony/password-hasher/tree/v6.4.13"
},
"funding": [
{
@@ -3710,11 +3729,11 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-25T14:18:03+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.31.0",
+ "version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@@ -3772,7 +3791,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
},
"funding": [
{
@@ -3792,16 +3811,16 @@
},
{
"name": "symfony/polyfill-intl-icu",
- "version": "v1.31.0",
+ "version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git",
- "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78"
+ "reference": "763d2a91fea5681509ca01acbc1c5e450d127811"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
- "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/763d2a91fea5681509ca01acbc1c5e450d127811",
+ "reference": "763d2a91fea5681509ca01acbc1c5e450d127811",
"shasum": ""
},
"require": {
@@ -3856,7 +3875,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.32.0"
},
"funding": [
{
@@ -3872,11 +3891,11 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2024-12-21T18:38:29+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.31.0",
+ "version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -3937,7 +3956,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
},
"funding": [
{
@@ -3957,19 +3976,20 @@
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.31.0",
+ "version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
+ "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
+ "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
+ "ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@@ -4017,7 +4037,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
},
"funding": [
{
@@ -4033,96 +4053,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
- },
- {
- "name": "symfony/polyfill-php73",
- "version": "v1.31.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
- "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
- "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\\Php73\\": ""
- },
- "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 7.3+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.31.0",
+ "version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
+ "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
- "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
+ "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
@@ -4173,7 +4117,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0"
},
"funding": [
{
@@ -4189,20 +4133,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2025-01-02T08:10:11+00:00"
},
{
- "name": "symfony/polyfill-php81",
- "version": "v1.31.0",
+ "name": "symfony/polyfill-php83",
+ "version": "v1.32.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
- "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491",
+ "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491",
"shasum": ""
},
"require": {
@@ -4220,7 +4164,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php81\\": ""
+ "Symfony\\Polyfill\\Php83\\": ""
},
"classmap": [
"Resources/stubs"
@@ -4240,7 +4184,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -4249,7 +4193,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0"
},
"funding": [
{
@@ -4269,29 +4213,25 @@
},
{
"name": "symfony/property-access",
- "version": "v5.4.45",
+ "version": "v6.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "111e7ed617509f1a9139686055d234aad6e388e0"
+ "reference": "80e0378f2f058b60d87dedc3c760caec882e992c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0",
- "reference": "111e7ed617509f1a9139686055d234aad6e388e0",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/80e0378f2f058b60d87dedc3c760caec882e992c",
+ "reference": "80e0378f2f058b60d87dedc3c760caec882e992c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/property-info": "^5.2|^6.0"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/property-info": "^5.4|^6.0|^7.0"
},
"require-dev": {
- "symfony/cache": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "psr/cache-implementation": "To cache access methods."
+ "symfony/cache": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -4330,7 +4270,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v5.4.45"
+ "source": "https://github.com/symfony/property-access/tree/v6.4.18"
},
"funding": [
{
@@ -4346,46 +4286,41 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-12-16T14:42:05+00:00"
},
{
"name": "symfony/property-info",
- "version": "v5.4.48",
+ "version": "v6.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "a0396295ad585f95fccd690bc6a281e5bd303902"
+ "reference": "94d18e5cc11a37fd92856d38b61d9cdf72536a1e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/a0396295ad585f95fccd690bc6a281e5bd303902",
- "reference": "a0396295ad585f95fccd690bc6a281e5bd303902",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/94d18e5cc11a37fd92856d38b61d9cdf72536a1e",
+ "reference": "94d18e5cc11a37fd92856d38b61d9cdf72536a1e",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/string": "^5.1|^6.0"
+ "php": ">=8.1",
+ "symfony/string": "^5.4|^6.0|^7.0"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/dependency-injection": "<4.4"
+ "doctrine/annotations": "<1.12",
+ "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/type-resolver": "<1.5.1",
+ "symfony/cache": "<5.4",
+ "symfony/dependency-injection": "<5.4|>=6.0,<6.4",
+ "symfony/serializer": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "doctrine/annotations": "^1.12|^2",
+ "phpdocumentor/reflection-docblock": "^5.2",
"phpstan/phpdoc-parser": "^1.0|^2.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "phpdocumentor/reflection-docblock": "To use the PHPDoc",
- "psr/cache-implementation": "To cache results",
- "symfony/doctrine-bridge": "To use Doctrine metadata",
- "symfony/serializer": "To use Serializer metadata"
+ "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"
},
"type": "library",
"autoload": {
@@ -4421,7 +4356,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v5.4.48"
+ "source": "https://github.com/symfony/property-info/tree/v6.4.18"
},
"funding": [
{
@@ -4437,47 +4372,42 @@
"type": "tidelift"
}
],
- "time": "2024-11-25T16:14:41+00:00"
+ "time": "2025-01-21T10:52:27+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v2.3.1",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e"
+ "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e",
- "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9cf83326a1074f83a738fc5320945abf7fb7fec",
+ "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/http-message": "^1.0 || ^2.0",
- "symfony/deprecation-contracts": "^2.5 || ^3.0",
- "symfony/http-foundation": "^5.4 || ^6.0"
+ "php": ">=8.1",
+ "psr/http-message": "^1.0|^2.0",
+ "symfony/http-foundation": "^5.4|^6.0|^7.0"
+ },
+ "conflict": {
+ "php-http/discovery": "<1.15",
+ "symfony/http-kernel": "<6.2"
},
"require-dev": {
"nyholm/psr7": "^1.1",
- "psr/log": "^1.1 || ^2 || ^3",
- "symfony/browser-kit": "^5.4 || ^6.0",
- "symfony/config": "^5.4 || ^6.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0",
- "symfony/framework-bundle": "^5.4 || ^6.0",
- "symfony/http-kernel": "^5.4 || ^6.0",
- "symfony/phpunit-bridge": "^6.2"
- },
- "suggest": {
- "nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
+ "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"
},
"type": "symfony-bridge",
- "extra": {
- "branch-alias": {
- "dev-main": "2.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Bridge\\PsrHttpMessage\\": ""
@@ -4497,11 +4427,11 @@
},
{
"name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
+ "homepage": "https://symfony.com/contributors"
}
],
"description": "PSR HTTP message bridge",
- "homepage": "http://symfony.com",
+ "homepage": "https://symfony.com",
"keywords": [
"http",
"http-message",
@@ -4509,8 +4439,7 @@
"psr-7"
],
"support": {
- "issues": "https://github.com/symfony/psr-http-message-bridge/issues",
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1"
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.13"
},
"funding": [
{
@@ -4526,29 +4455,30 @@
"type": "tidelift"
}
],
- "time": "2023-07-26T11:53:26+00:00"
+ "time": "2024-09-25T14:18:03+00:00"
},
{
"name": "symfony/rate-limiter",
- "version": "v5.4.47",
+ "version": "v6.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/rate-limiter.git",
- "reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72"
+ "reference": "e250d82fc17b277b97cbce94efef5414aff29bf9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/c902bf796ca6c9656c3cc8185b53afb9acbb7c72",
- "reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72",
+ "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/e250d82fc17b277b97cbce94efef5414aff29bf9",
+ "reference": "e250d82fc17b277b97cbce94efef5414aff29bf9",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/lock": "^5.2|^6.0",
- "symfony/options-resolver": "^5.1|^6.0"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/options-resolver": "^5.4|^6.0|^7.0"
},
"require-dev": {
- "psr/cache": "^1.0|^2.0|^3.0"
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "symfony/lock": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -4580,7 +4510,7 @@
"rate-limiter"
],
"support": {
- "source": "https://github.com/symfony/rate-limiter/tree/v5.4.47"
+ "source": "https://github.com/symfony/rate-limiter/tree/v6.4.15"
},
"funding": [
{
@@ -4596,47 +4526,40 @@
"type": "tidelift"
}
],
- "time": "2024-11-07T11:51:21+00:00"
+ "time": "2024-11-09T07:19:24+00:00"
},
{
"name": "symfony/routing",
- "version": "v5.4.48",
+ "version": "v6.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1"
+ "reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/dd08c19879a9b37ff14fd30dcbdf99a4cf045db1",
- "reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/1f5234e8457164a3a0038a4c0a4ba27876a9c670",
+ "reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"doctrine/annotations": "<1.12",
- "symfony/config": "<5.3",
- "symfony/dependency-injection": "<4.4",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<6.2",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/yaml": "<5.4"
},
"require-dev": {
"doctrine/annotations": "^1.12|^2",
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/config": "For using the all-in-one router or any loader",
- "symfony/expression-language": "For using expression matching",
- "symfony/http-foundation": "For using a Symfony Request object",
- "symfony/yaml": "For using the YAML loader"
+ "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"
},
"type": "library",
"autoload": {
@@ -4670,7 +4593,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v5.4.48"
+ "source": "https://github.com/symfony/routing/tree/v6.4.22"
},
"funding": [
{
@@ -4686,36 +4609,35 @@
"type": "tidelift"
}
],
- "time": "2024-11-12T18:20:21+00:00"
+ "time": "2025-04-27T16:08:38+00:00"
},
{
"name": "symfony/runtime",
- "version": "v5.4.46",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/runtime.git",
- "reference": "242b4d773c004fa258e1b412f3f49fc2ac78353a"
+ "reference": "ef1f03c2ab1144ac4ef7744b9e026bdb06f2f88f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/runtime/zipball/242b4d773c004fa258e1b412f3f49fc2ac78353a",
- "reference": "242b4d773c004fa258e1b412f3f49fc2ac78353a",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/ef1f03c2ab1144ac4ef7744b9e026bdb06f2f88f",
+ "reference": "ef1f03c2ab1144ac4ef7744b9e026bdb06f2f88f",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0|^2.0",
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "php": ">=8.1"
},
"conflict": {
- "symfony/dotenv": "<5.1"
+ "symfony/dotenv": "<5.4"
},
"require-dev": {
"composer/composer": "^1.0.2|^2.0",
- "symfony/console": "^4.4.30|^5.4.9|^6.0.9",
- "symfony/dotenv": "^5.1|^6.0",
- "symfony/http-foundation": "^4.4.30|^5.3.7|^6.0",
- "symfony/http-kernel": "^4.4.30|^5.3.7|^6.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"
},
"type": "composer-plugin",
"extra": {
@@ -4750,7 +4672,7 @@
"runtime"
],
"support": {
- "source": "https://github.com/symfony/runtime/tree/v5.4.46"
+ "source": "https://github.com/symfony/runtime/tree/v6.4.23"
},
"funding": [
{
@@ -4766,66 +4688,75 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T08:58:41+00:00"
+ "time": "2025-06-13T07:44:14+00:00"
},
{
"name": "symfony/security-bundle",
- "version": "v5.4.45",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
- "reference": "d6081d1b9118f944df90bb77444a8617eba01542"
+ "reference": "3db1460f539b23e74a119981ea6b3002302250bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/d6081d1b9118f944df90bb77444a8617eba01542",
- "reference": "d6081d1b9118f944df90bb77444a8617eba01542",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/3db1460f539b23e74a119981ea6b3002302250bc",
+ "reference": "3db1460f539b23e74a119981ea6b3002302250bc",
"shasum": ""
},
"require": {
+ "composer-runtime-api": ">=2.1",
"ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.4.43|^6.4.11",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^5.1|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/password-hasher": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/security-core": "^5.4|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/security-guard": "^5.3",
- "symfony/security-http": "^5.4.30|^6.3.6",
- "symfony/service-contracts": "^1.10|^2|^3"
+ "php": ">=8.1",
+ "symfony/clock": "^6.3|^7.0",
+ "symfony/config": "^6.1|^7.0",
+ "symfony/dependency-injection": "^6.4.11|^7.1.4",
+ "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/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/browser-kit": "<4.4",
- "symfony/console": "<4.4",
- "symfony/framework-bundle": "<4.4",
- "symfony/ldap": "<5.1",
- "symfony/twig-bundle": "<4.4"
+ "symfony/browser-kit": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/framework-bundle": "<6.4",
+ "symfony/http-client": "<5.4",
+ "symfony/ldap": "<5.4",
+ "symfony/serializer": "<6.4",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/validator": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.3|^6.0",
- "symfony/ldap": "^5.3|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/twig-bridge": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/validator": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
- "twig/twig": "^2.13|^3.0.4"
+ "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",
+ "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"
},
"type": "symfony-bundle",
"autoload": {
@@ -4853,7 +4784,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/v5.4.45"
+ "source": "https://github.com/symfony/security-bundle/tree/v6.4.23"
},
"funding": [
{
@@ -4869,57 +4800,49 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-06-23T20:18:57+00:00"
},
{
"name": "symfony/security-core",
- "version": "v5.4.48",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "cca947b1a74bdbc21c4d6288a4abb938d9a7eaba"
+ "reference": "527780a0482e592530174ca90e6189f64cdf6569"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/cca947b1a74bdbc21c4d6288a4abb938d9a7eaba",
- "reference": "cca947b1a74bdbc21c4d6288a4abb938d9a7eaba",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/527780a0482e592530174ca90e6189f64cdf6569",
+ "reference": "527780a0482e592530174ca90e6189f64cdf6569",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^1.1|^2|^3",
- "symfony/password-hasher": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1.6|^2|^3"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/event-dispatcher-contracts": "^2.5|^3",
+ "symfony/password-hasher": "^5.4|^6.0|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/event-dispatcher": "<4.4",
- "symfony/http-foundation": "<5.3",
- "symfony/ldap": "<4.4",
- "symfony/security-guard": "<4.4",
- "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
- "symfony/validator": "<5.2"
+ "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"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "psr/container": "^1.0|^2.0",
+ "psr/container": "^1.1|^2.0",
"psr/log": "^1|^2|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/ldap": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
- "symfony/validator": "^5.2|^6.0"
- },
- "suggest": {
- "psr/container-implementation": "To instantiate the Security class",
- "symfony/event-dispatcher": "",
- "symfony/expression-language": "For using the expression voter",
- "symfony/http-foundation": "",
- "symfony/ldap": "For using LDAP integration",
- "symfony/validator": "For using the user password constraint"
+ "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/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"
},
"type": "library",
"autoload": {
@@ -4947,7 +4870,7 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v5.4.48"
+ "source": "https://github.com/symfony/security-core/tree/v6.4.23"
},
"funding": [
{
@@ -4963,36 +4886,31 @@
"type": "tidelift"
}
],
- "time": "2024-11-27T08:58:20+00:00"
+ "time": "2025-05-30T08:33:44+00:00"
},
{
"name": "symfony/security-csrf",
- "version": "v5.4.45",
+ "version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
- "reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4"
+ "reference": "c34421b7d34efbaef5d611ab2e646a0ec464ffe3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/28dcafc3220f12264bb2aabe2389a2163458c1f4",
- "reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/c34421b7d34efbaef5d611ab2e646a0ec464ffe3",
+ "reference": "c34421b7d34efbaef5d611ab2e646a0ec464ffe3",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/security-core": "^4.4|^5.0|^6.0"
+ "php": ">=8.1",
+ "symfony/security-core": "^5.4|^6.0|^7.0"
},
"conflict": {
- "symfony/http-foundation": "<5.3"
+ "symfony/http-foundation": "<5.4"
},
"require-dev": {
- "symfony/http-foundation": "^5.3|^6.0"
- },
- "suggest": {
- "symfony/http-foundation": "For using the class SessionTokenStorage."
+ "symfony/http-foundation": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -5020,7 +4938,7 @@
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v5.4.45"
+ "source": "https://github.com/symfony/security-csrf/tree/v6.4.13"
},
"funding": [
{
@@ -5036,117 +4954,51 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
- },
- {
- "name": "symfony/security-guard",
- "version": "v5.4.45",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/security-guard.git",
- "reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/security-guard/zipball/f3da3dbec38aaedaf287ffeb4e3a90994af37faa",
- "reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.15",
- "symfony/security-core": "^5.0",
- "symfony/security-http": "^5.3"
- },
- "require-dev": {
- "psr/log": "^1|^2|^3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Security\\Guard\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Security Component - Guard",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/security-guard/tree/v5.4.45"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-25T14:18:03+00:00"
},
{
"name": "symfony/security-http",
- "version": "v5.4.47",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "cde02b002e0447075430e6a84482e38f2fd9268d"
+ "reference": "815fcda8122a7850bf6d5d842ce03c20445295bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/cde02b002e0447075430e6a84482e38f2fd9268d",
- "reference": "cde02b002e0447075430e6a84482e38f2fd9268d",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/815fcda8122a7850bf6d5d842ce03c20445295bb",
+ "reference": "815fcda8122a7850bf6d5d842ce03c20445295bb",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-foundation": "^6.2|^7.0",
+ "symfony/http-kernel": "^6.3|^7.0",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5",
- "symfony/service-contracts": "^1.10|^2|^3"
+ "symfony/property-access": "^5.4|^6.0|^7.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/event-dispatcher": "<4.3",
- "symfony/security-bundle": "<5.3",
- "symfony/security-csrf": "<4.4"
+ "symfony/clock": "<6.3",
+ "symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9",
+ "symfony/http-client-contracts": "<3.0",
+ "symfony/security-bundle": "<5.4",
+ "symfony/security-csrf": "<5.4"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
- "symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
+ "symfony/cache": "^5.4|^6.0|^7.0",
+ "symfony/clock": "^6.3|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.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"
},
"type": "library",
"autoload": {
@@ -5174,7 +5026,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v5.4.47"
+ "source": "https://github.com/symfony/security-http/tree/v6.4.23"
},
"funding": [
{
@@ -5190,33 +5042,30 @@
"type": "tidelift"
}
],
- "time": "2024-11-07T14:12:41+00:00"
+ "time": "2025-06-23T20:18:57+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.4",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "f37b419f7aea2e9abf10abd261832cace12e3300"
+ "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300",
- "reference": "f37b419f7aea2e9abf10abd261832cace12e3300",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
+ "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
- "suggest": {
- "symfony/service-implementation": ""
- },
"type": "library",
"extra": {
"thanks": {
@@ -5224,13 +5073,16 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5257,7 +5109,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.4"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -5273,38 +5125,38 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-04-25T09:37:31+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.47",
+ "version": "v6.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "136ca7d72f72b599f2631aca474a4f8e26719799"
+ "reference": "73e2c6966a5aef1d4892873ed5322245295370c6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799",
- "reference": "136ca7d72f72b599f2631aca474a4f8e26719799",
+ "url": "https://api.github.com/repos/symfony/string/zipball/73e2c6966a5aef1d4892873ed5322245295370c6",
+ "reference": "73e2c6966a5aef1d4892873ed5322245295370c6",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/error-handler": "^5.4|^6.0|^7.0",
+ "symfony/http-client": "^5.4|^6.0|^7.0",
+ "symfony/intl": "^6.2|^7.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -5343,7 +5195,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.47"
+ "source": "https://github.com/symfony/string/tree/v6.4.21"
},
"funding": [
{
@@ -5359,57 +5211,55 @@
"type": "tidelift"
}
],
- "time": "2024-11-10T20:33:58+00:00"
+ "time": "2025-04-18T15:23:29+00:00"
},
{
"name": "symfony/translation",
- "version": "v5.4.45",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed"
+ "reference": "de8afa521e04a5220e9e58a1dc99971ab7cac643"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed",
- "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/de8afa521e04a5220e9e58a1dc99971ab7cac643",
+ "reference": "de8afa521e04a5220e9e58a1dc99971ab7cac643",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation-contracts": "^2.3"
+ "symfony/translation-contracts": "^2.5|^3.0"
},
"conflict": {
- "symfony/config": "<4.4",
- "symfony/console": "<5.3",
- "symfony/dependency-injection": "<5.0",
- "symfony/http-kernel": "<5.0",
- "symfony/twig-bundle": "<5.0",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/http-kernel": "<5.4",
+ "symfony/service-contracts": "<2.5",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/yaml": "<5.4"
},
"provide": {
- "symfony/translation-implementation": "2.3"
+ "symfony/translation-implementation": "2.3|3.0"
},
"require-dev": {
+ "nikic/php-parser": "^4.18|^5.0",
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.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/finder": "^5.4|^6.0|^7.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/polyfill-intl-icu": "^1.21",
- "symfony/service-contracts": "^1.1.2|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "psr/log-implementation": "To use logging capability in translator",
- "symfony/config": "",
- "symfony/yaml": ""
+ "symfony/routing": "^5.4|^6.0|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -5440,7 +5290,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v5.4.45"
+ "source": "https://github.com/symfony/translation/tree/v6.4.23"
},
"funding": [
{
@@ -5456,27 +5306,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-06-26T21:24:02+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v2.5.4",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "450d4172653f38818657022252f9d81be89ee9a8"
+ "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/450d4172653f38818657022252f9d81be89ee9a8",
- "reference": "450d4172653f38818657022252f9d81be89ee9a8",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
+ "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
- },
- "suggest": {
- "symfony/translation-implementation": ""
+ "php": ">=8.1"
},
"type": "library",
"extra": {
@@ -5485,13 +5332,16 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Translation\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5518,7 +5368,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v2.5.4"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -5534,85 +5384,73 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-27T08:32:26+00:00"
},
{
"name": "symfony/twig-bridge",
- "version": "v5.4.48",
+ "version": "v6.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "853a0c9aa40123a9feeb335c865b659d94e49e5d"
+ "reference": "04ab306a2f2c9dbd46f4363383812954f704af9d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/853a0c9aa40123a9feeb335c865b659d94e49e5d",
- "reference": "853a0c9aa40123a9feeb335c865b659d94e49e5d",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/04ab306a2f2c9dbd46f4363383812954f704af9d",
+ "reference": "04ab306a2f2c9dbd46f4363383812954f704af9d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation-contracts": "^1.1|^2|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/translation-contracts": "^2.5|^3",
"twig/twig": "^2.13|^3.0.4"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/console": "<5.3",
- "symfony/form": "<5.4.21|>=6,<6.2.7",
- "symfony/http-foundation": "<5.3",
- "symfony/http-kernel": "<4.4",
- "symfony/translation": "<5.2",
- "symfony/workflow": "<5.2"
+ "symfony/console": "<5.4",
+ "symfony/form": "<6.3",
+ "symfony/http-foundation": "<5.4",
+ "symfony/http-kernel": "<6.4",
+ "symfony/mime": "<6.2",
+ "symfony/serializer": "<6.4",
+ "symfony/translation": "<5.4",
+ "symfony/workflow": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.12|^2",
"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": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.4.21|^6.2.7",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/mime": "^5.2|^6.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.20|^7.2.5",
+ "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.2|^7.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/property-info": "^5.4|^6.0|^7.0",
+ "symfony/routing": "^5.4|^6.0|^7.0",
"symfony/security-acl": "^2.8|^3.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/security-http": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.2|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/workflow": "^5.2|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.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.3|^7.0.3",
+ "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"
},
- "suggest": {
- "symfony/asset": "For using the AssetExtension",
- "symfony/expression-language": "For using the ExpressionExtension",
- "symfony/finder": "",
- "symfony/form": "For using the FormExtension",
- "symfony/http-kernel": "For using the HttpKernelExtension",
- "symfony/routing": "For using the RoutingExtension",
- "symfony/security-core": "For using the SecurityExtension",
- "symfony/security-csrf": "For using the CsrfExtension",
- "symfony/security-http": "For using the LogoutUrlExtension",
- "symfony/stopwatch": "For using the StopwatchExtension",
- "symfony/translation": "For using the TranslationExtension",
- "symfony/var-dumper": "For using the DumpExtension",
- "symfony/web-link": "For using the WebLinkExtension",
- "symfony/yaml": "For using the YamlExtension"
- },
"type": "symfony-bridge",
"autoload": {
"psr-4": {
@@ -5639,7 +5477,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v5.4.48"
+ "source": "https://github.com/symfony/twig-bridge/tree/v6.4.22"
},
"funding": [
{
@@ -5655,53 +5493,47 @@
"type": "tidelift"
}
],
- "time": "2024-11-22T08:19:51+00:00"
+ "time": "2025-05-16T08:23:44+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v5.4.45",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9"
+ "reference": "ef970ed7eb9e547d21628e4c803de0943759cbcd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9",
- "reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/ef970ed7eb9e547d21628e4c803de0943759cbcd",
+ "reference": "ef970ed7eb9e547d21628e4c803de0943759cbcd",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/twig-bridge": "^5.3|^6.0",
+ "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"
},
"conflict": {
- "symfony/dependency-injection": "<5.3",
- "symfony/framework-bundle": "<5.0",
- "symfony/service-contracts": ">=3.0",
- "symfony/translation": "<5.0"
+ "symfony/framework-bundle": "<5.4",
+ "symfony/translation": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "doctrine/cache": "^1.0|^2.0",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.0|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "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"
},
"type": "symfony-bundle",
"autoload": {
@@ -5729,7 +5561,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/v5.4.45"
+ "source": "https://github.com/symfony/twig-bundle/tree/v6.4.23"
},
"funding": [
{
@@ -5745,75 +5577,59 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-06-20T20:02:07+00:00"
},
{
"name": "symfony/validator",
- "version": "v5.4.48",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "883667679d93d6c30f1b7490d669801712d3be2f"
+ "reference": "6506760ab57e7cda5bde9cdaed736526162284bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/883667679d93d6c30f1b7490d669801712d3be2f",
- "reference": "883667679d93d6c30f1b7490d669801712d3be2f",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/6506760ab57e7cda5bde9cdaed736526162284bc",
+ "reference": "6506760ab57e7cda5bde9cdaed736526162284bc",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/translation-contracts": "^1.1|^2|^3"
+ "symfony/polyfill-php83": "^1.27",
+ "symfony/translation-contracts": "^2.5|^3"
},
"conflict": {
"doctrine/annotations": "<1.13",
- "doctrine/cache": "<1.11",
"doctrine/lexer": "<1.1",
- "symfony/dependency-injection": "<4.4",
- "symfony/expression-language": "<5.1",
- "symfony/http-kernel": "<4.4",
- "symfony/intl": "<4.4",
- "symfony/property-info": "<5.3",
- "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
- "symfony/yaml": "<4.4"
+ "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"
},
"require-dev": {
"doctrine/annotations": "^1.13|^2",
- "doctrine/cache": "^1.11|^2.0",
"egulias/email-validator": "^2.1.10|^3|^4",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^5.1|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^5.4|^6.0",
- "symfony/property-info": "^5.3|^6.0",
- "symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "egulias/email-validator": "Strict (RFC compliant) email validation",
- "psr/cache-implementation": "For using the mapping cache.",
- "symfony/config": "",
- "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints",
- "symfony/http-foundation": "",
- "symfony/intl": "",
- "symfony/property-access": "For accessing properties within comparison constraints",
- "symfony/property-info": "To automatically add NotNull and Type constraints",
- "symfony/translation": "For translating validation errors.",
- "symfony/yaml": ""
+ "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"
},
"type": "library",
"autoload": {
@@ -5842,7 +5658,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v5.4.48"
+ "source": "https://github.com/symfony/validator/tree/v6.4.23"
},
"funding": [
{
@@ -5858,43 +5674,39 @@
"type": "tidelift"
}
],
- "time": "2024-11-27T08:58:20+00:00"
+ "time": "2025-06-26T07:25:45+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.4.48",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8"
+ "reference": "d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/42f18f170aa86d612c3559cfb3bd11a375df32c8",
- "reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600",
+ "reference": "d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/console": "<4.4"
+ "symfony/console": "<5.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
+ "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"
},
- "suggest": {
- "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
- "ext-intl": "To show region name in time zone dump",
- "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
- },
"bin": [
"Resources/bin/var-dump-server"
],
@@ -5931,7 +5743,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.48"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.4.23"
},
"funding": [
{
@@ -5947,20 +5759,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-08T15:21:10+00:00"
+ "time": "2025-06-27T15:05:27+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v6.4.20",
+ "version": "v6.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2"
+ "reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
- "reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f28cf841f5654955c9f88ceaf4b9dc29571988a9",
+ "reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9",
"shasum": ""
},
"require": {
@@ -6008,7 +5820,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v6.4.20"
+ "source": "https://github.com/symfony/var-exporter/tree/v6.4.22"
},
"funding": [
{
@@ -6024,43 +5836,42 @@
"type": "tidelift"
}
],
- "time": "2025-03-13T09:55:08+00:00"
+ "time": "2025-05-14T13:00:13+00:00"
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v5.4.48",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "4afb0399456b966be92410d2bbd6146cc3ce2174"
+ "reference": "7d1026a8e950d416cb5148ae88ac23db5d264839"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/4afb0399456b966be92410d2bbd6146cc3ce2174",
- "reference": "4afb0399456b966be92410d2bbd6146cc3ce2174",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/7d1026a8e950d416cb5148ae88ac23db5d264839",
+ "reference": "7d1026a8e950d416cb5148ae88ac23db5d264839",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.3|^6.0,<6.4",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "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"
},
"conflict": {
- "symfony/dependency-injection": "<5.2",
- "symfony/form": "<4.4",
+ "symfony/form": "<5.4",
"symfony/mailer": "<5.4",
- "symfony/messenger": "<4.4"
+ "symfony/messenger": "<5.4",
+ "symfony/twig-bundle": ">=7.0"
},
"require-dev": {
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.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/stopwatch": "^5.4|^6.0|^7.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -6087,8 +5898,11 @@
],
"description": "Provides a development tool that gives detailed information about the execution of any request",
"homepage": "https://symfony.com",
+ "keywords": [
+ "dev"
+ ],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.48"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.19"
},
"funding": [
{
@@ -6104,7 +5918,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-19T09:26:40+00:00"
+ "time": "2025-02-14T12:21:59+00:00"
},
{
"name": "symfony/webpack-encore-bundle",
@@ -6181,31 +5995,28 @@
},
{
"name": "symfony/yaml",
- "version": "v5.4.45",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "a454d47278cc16a5db371fe73ae66a78a633371e"
+ "reference": "93e29e0deb5f1b2e360adfb389a20d25eb81a27b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/a454d47278cc16a5db371fe73ae66a78a633371e",
- "reference": "a454d47278cc16a5db371fe73ae66a78a633371e",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/93e29e0deb5f1b2e360adfb389a20d25eb81a27b",
+ "reference": "93e29e0deb5f1b2e360adfb389a20d25eb81a27b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<5.3"
+ "symfony/console": "<5.4"
},
"require-dev": {
- "symfony/console": "^5.3|^6.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
+ "symfony/console": "^5.4|^6.0|^7.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -6236,7 +6047,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.4.45"
+ "source": "https://github.com/symfony/yaml/tree/v6.4.23"
},
"funding": [
{
@@ -6252,20 +6063,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-06-03T06:46:12+00:00"
},
{
"name": "twig/twig",
- "version": "v3.20.0",
+ "version": "v3.21.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "3468920399451a384bef53cf7996965f7cd40183"
+ "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
- "reference": "3468920399451a384bef53cf7996965f7cd40183",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
+ "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"shasum": ""
},
"require": {
@@ -6319,7 +6130,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.20.0"
+ "source": "https://github.com/twigphp/Twig/tree/v3.21.1"
},
"funding": [
{
@@ -6331,44 +6142,157 @@
"type": "tidelift"
}
],
- "time": "2025-02-13T08:34:43+00:00"
+ "time": "2025-05-03T07:21:55+00:00"
}
],
"packages-dev": [
{
- "name": "symfony/debug-bundle",
- "version": "v5.4.45",
+ "name": "phpstan/phpstan",
+ "version": "2.1.17",
"source": {
"type": "git",
- "url": "https://github.com/symfony/debug-bundle.git",
- "reference": "653c7629d036ef24ac5de54a157aecdc400d2570"
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/653c7629d036ef24ac5de54a157aecdc400d2570",
- "reference": "653c7629d036ef24ac5de54a157aecdc400d2570",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/89b5ef665716fa2a52ecd2633f21007a6a349053",
+ "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
+ "support": {
+ "docs": "https://phpstan.org/user-guide/getting-started",
+ "forum": "https://github.com/phpstan/phpstan/discussions",
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "security": "https://github.com/phpstan/phpstan/security/policy",
+ "source": "https://github.com/phpstan/phpstan-src"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ }
+ ],
+ "time": "2025-05-21T20:55:28+00:00"
+ },
+ {
+ "name": "rector/rector",
+ "version": "2.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/rectorphp/rector.git",
+ "reference": "d0917c069bb0d9bb06ed111cf052510f609015a4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/d0917c069bb0d9bb06ed111cf052510f609015a4",
+ "reference": "d0917c069bb0d9bb06ed111cf052510f609015a4",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4|^8.0",
+ "phpstan/phpstan": "^2.1.17"
+ },
+ "conflict": {
+ "rector/rector-doctrine": "*",
+ "rector/rector-downgrade-php": "*",
+ "rector/rector-phpunit": "*",
+ "rector/rector-symfony": "*"
+ },
+ "suggest": {
+ "ext-dom": "To manipulate phpunit.xml via the custom-rule command"
+ },
+ "bin": [
+ "bin/rector"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Instant Upgrade and Automated Refactoring of any PHP code",
+ "homepage": "https://getrector.com/",
+ "keywords": [
+ "automation",
+ "dev",
+ "migration",
+ "refactoring"
+ ],
+ "support": {
+ "issues": "https://github.com/rectorphp/rector/issues",
+ "source": "https://github.com/rectorphp/rector/tree/2.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/tomasvotruba",
+ "type": "github"
+ }
+ ],
+ "time": "2025-07-10T11:31:31+00:00"
+ },
+ {
+ "name": "symfony/debug-bundle",
+ "version": "v6.4.13",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/debug-bundle.git",
+ "reference": "7bcfaff39e094cc09455201916d016d9b2ae08ff"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/7bcfaff39e094cc09455201916d016d9b2ae08ff",
+ "reference": "7bcfaff39e094cc09455201916d016d9b2ae08ff",
"shasum": ""
},
"require": {
"ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/twig-bridge": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "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": "<4.4",
- "symfony/dependency-injection": "<5.2"
+ "symfony/config": "<5.4",
+ "symfony/dependency-injection": "<5.4"
},
"require-dev": {
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/config": "For service container configuration",
- "symfony/dependency-injection": "For using as a service from the container"
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -6396,7 +6320,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/v5.4.45"
+ "source": "https://github.com/symfony/debug-bundle/tree/v6.4.13"
},
"funding": [
{
@@ -6412,7 +6336,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-25T14:18:03+00:00"
}
],
"aliases": [],
@@ -6421,7 +6345,7 @@
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": ">=7.2.5",
+ "php": "^8.4",
"ext-ctype": "*",
"ext-iconv": "*"
},
diff --git a/config/packages/lock.yaml b/config/packages/lock.yaml
deleted file mode 100644
index 574879f..0000000
--- a/config/packages/lock.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-framework:
- lock: '%env(LOCK_DSN)%'
diff --git a/misc/compose/hydra-sql/000-default.conf b/misc/compose/hydra-sql/000-default.conf
index fab6d95..caa6850 100644
--- a/misc/compose/hydra-sql/000-default.conf
+++ b/misc/compose/hydra-sql/000-default.conf
@@ -8,7 +8,7 @@
# Using SetHandler avoids issues with using ProxyPassMatch in combination
# with mod_rewrite or mod_autoindex
- SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://127.0.0.1:9000"
+ SetHandler "proxy:unix:/run/php/php8.4-fpm.sock|fcgi://127.0.0.1:9000"
# for Unix sockets, Apache 2.4.10 or higher
# SetHandler proxy:unix:/path/to/fpm.sock|fcgi://dummy
diff --git a/misc/compose/hydra-sql/Dockerfile b/misc/compose/hydra-sql/Dockerfile
index b427365..5e33116 100644
--- a/misc/compose/hydra-sql/Dockerfile
+++ b/misc/compose/hydra-sql/Dockerfile
@@ -7,7 +7,7 @@ ARG https_proxy=
ENV WAITFORIT_VERSION="v2.4.1"
-ARG PHP_VERSION="8.1"
+ARG PHP_VERSION="8.4"
ENV PHP_VERSION $PHP_VERSION
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -68,14 +68,14 @@ RUN chmod +x /var/www/install-composer.sh &&\
# On active les mods d'apache nécessaires
RUN a2enmod rewrite
RUN a2enmod proxy_fcgi setenvif
-RUN a2enconf php8.1-fpm
+RUN a2enconf php8.4-fpm
RUN a2enmod proxy
RUN a2enmod expires
RUN a2enmod headers
# On injecte les bonnes configs apache et php-fpm
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
-COPY www.conf /etc/php/8.1/fpm/pool.d/www.conf
+COPY www.conf /etc/php/8.4/fpm/pool.d/www.conf
EXPOSE 5000
EXPOSE 80
@@ -83,8 +83,8 @@ EXPOSE 80
WORKDIR /var/www
# On démarre php-fpm une fois pour créer les sockets
-RUN service php8.1-fpm start
-RUN service php8.1-fpm stop
+RUN service php8.4-fpm start
+RUN service php8.4-fpm stop
COPY docker-entrypoint.sh /docker-entrypoint.sh
@@ -99,7 +99,7 @@ RUN sed -i '/imklog/s/^/#/' /etc/rsyslog.conf
COPY rsyslog.conf /etc/rsyslog.d/var/www.conf
COPY supervisor.ini /etc/supervisor/supervisor.ini
-COPY php.ini /etc/php/8.1/fpm/php.ini
+COPY php.ini /etc/php/8.4/fpm/php.ini
VOLUME /container-lifecycle
diff --git a/misc/compose/hydra-sql/supervisor.ini b/misc/compose/hydra-sql/supervisor.ini
index 0da959b..1049524 100644
--- a/misc/compose/hydra-sql/supervisor.ini
+++ b/misc/compose/hydra-sql/supervisor.ini
@@ -26,7 +26,7 @@ stderr_logfile_maxbytes=0
[program:php-fpm]
environment=HOSTNAME="%(ENV_HOSTNAME)s"
-command = /usr/sbin/php-fpm8.1 -F
+command = /usr/sbin/php-fpm8.4 -F
autostart = true
autorestart = true
directory = /var/www
diff --git a/misc/compose/hydra-sql/www.conf b/misc/compose/hydra-sql/www.conf
index c496690..6f70a60 100644
--- a/misc/compose/hydra-sql/www.conf
+++ b/misc/compose/hydra-sql/www.conf
@@ -6,7 +6,7 @@ error_log=/dev/stderr
user = www-data
group = www-data
-listen = /run/php/php8.1-fpm.sock
+listen = /run/php/php8.4-fpm.sock
listen.owner = www-data
listen.group = www-data
diff --git a/misc/images/hydra-sql-base/Dockerfile b/misc/images/hydra-sql-base/Dockerfile
index 3ef446a..dabca02 100644
--- a/misc/images/hydra-sql-base/Dockerfile
+++ b/misc/images/hydra-sql-base/Dockerfile
@@ -1,24 +1,23 @@
ARG NODE_OPTIONS="--openssl-legacy-provider" \
- PHP_PKG_VERSION="8.1.22-r0" \
+ PHP_PKG_VERSION="8.4.5-r0" \
ENCORE_MODE="production" \
APP_ENV="prod" \
BASE_PATH="" \
APP_LOCALES="fr,en" \
ADDITIONAL_PACKAGES=" \
- php81-gd=${PHP_PKG_VERSION} \
- php81-xsl=${PHP_PKG_VERSION} \
- php81-pdo=${PHP_PKG_VERSION} \
- php81-pgsql=${PHP_PKG_VERSION} \
- php81-pdo_pgsql=${PHP_PKG_VERSION} \
- php81-soap=${PHP_PKG_VERSION} \
- php81-ldap=${PHP_PKG_VERSION} \
- php81-pdo_mysql=${PHP_PKG_VERSION} \
- php81-bcmath=${PHP_PKG_VERSION} \
- php81-pecl-xdebug" \
+ php84-gd=${PHP_PKG_VERSION} \
+ php84-xsl=${PHP_PKG_VERSION} \
+ php84-pgsql=${PHP_PKG_VERSION} \
+ php84-pdo_pgsql=${PHP_PKG_VERSION} \
+ php84-soap=${PHP_PKG_VERSION} \
+ php84-ldap=${PHP_PKG_VERSION} \
+ php84-pdo_mysql=${PHP_PKG_VERSION} \
+ php84-bcmath=${PHP_PKG_VERSION} \
+ php84-xdebug" \
ADDITIONAL_ENV=" \
ENCORE_MODE=${ENCORE_MODE} \
APP_ENV=${APP_ENV} \
BASE_PATH=${BASE_PATH} \
APP_LOCALES=${APP_LOCALES}"
-FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2025.6.12-stable.1038.48ea3b9
+FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.4-base-2025.6.12-stable.1038.48ea3b9
diff --git a/misc/images/hydra-sql-standalone/Dockerfile b/misc/images/hydra-sql-standalone/Dockerfile
index 97a0ad8..9170363 100644
--- a/misc/images/hydra-sql-standalone/Dockerfile
+++ b/misc/images/hydra-sql-standalone/Dockerfile
@@ -1,25 +1,24 @@
ARG NODE_OPTIONS="--openssl-legacy-provider" \
- PHP_PKG_VERSION="8.1.22-r0" \
+ PHP_PKG_VERSION="8.4.5-r0" \
ENCORE_MODE="production" \
APP_ENV="prod" \
BASE_PATH="" \
APP_LOCALES="fr,en" \
ADDITIONAL_PACKAGES=" \
- php81-gd=${PHP_PKG_VERSION} \
- php81-xsl=${PHP_PKG_VERSION} \
- php81-pdo=${PHP_PKG_VERSION} \
- php81-pgsql=${PHP_PKG_VERSION} \
- php81-pdo_pgsql=${PHP_PKG_VERSION} \
- php81-soap=${PHP_PKG_VERSION} \
- php81-ldap=${PHP_PKG_VERSION} \
- php81-pdo_mysql=${PHP_PKG_VERSION} \
- php81-bcmath=${PHP_PKG_VERSION} \
- php81-pecl-xdebug" \
+ php84-gd=${PHP_PKG_VERSION} \
+ php84-xsl=${PHP_PKG_VERSION} \
+ php84-pgsql=${PHP_PKG_VERSION} \
+ php84-pdo_pgsql=${PHP_PKG_VERSION} \
+ php84-soap=${PHP_PKG_VERSION} \
+ php84-ldap=${PHP_PKG_VERSION} \
+ php84-pdo_mysql=${PHP_PKG_VERSION} \
+ php84-bcmath=${PHP_PKG_VERSION} \
+ php84-xdebug" \
ADDITIONAL_ENV=" \
ENCORE_MODE=${ENCORE_MODE} \
APP_ENV=${APP_ENV} \
BASE_PATH=${BASE_PATH} \
APP_LOCALES=${APP_LOCALES}"
-FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2025.6.12-stable.1038.48ea3b9
+FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.4-standalone-2025.6.12-stable.1038.48ea3b9
USER www-data
diff --git a/phpstan.dist.neon b/phpstan.dist.neon
new file mode 100644
index 0000000..e0de575
--- /dev/null
+++ b/phpstan.dist.neon
@@ -0,0 +1,8 @@
+parameters:
+ level: 6
+ paths:
+ - bin/
+ - config/
+ - public/
+ - src/
+ - tests/
diff --git a/rector.php b/rector.php
new file mode 100644
index 0000000..ad8e412
--- /dev/null
+++ b/rector.php
@@ -0,0 +1,28 @@
+paths([
+ __DIR__ . '/src',
+ ]);
+
+ $rectorConfig->sets([
+ SymfonySetList::SYMFONY_60,
+ SymfonySetList::SYMFONY_61,
+ SymfonySetList::SYMFONY_62,
+ SymfonySetList::SYMFONY_63,
+ SymfonySetList::SYMFONY_64,
+ SymfonySetList::SYMFONY_CODE_QUALITY,
+ SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION,
+ ]);
+
+ $rectorConfig->importShortClasses(false);
+ $rectorConfig->skip([
+ RenameAttributeRector::class
+ ]);
+};
\ No newline at end of file
diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php
index 30c84e4..bc7aeb3 100644
--- a/src/Controller/MainController.php
+++ b/src/Controller/MainController.php
@@ -11,21 +11,17 @@ use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
use Symfony\Component\Finder\Exception\AccessDeniedException;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Routing\Annotation\Route;
class MainController extends AbstractController
{
- private HydraService $hydra;
- private Client $client;
- private SessionInterface $session;
-
- public function __construct(SessionInterface $session, HydraService $hydra, Client $client)
- {
- $this->session = $session;
- $this->client = $client;
- $this->hydra = $hydra;
+ public function __construct(
+ private readonly RequestStack $requestStack,
+ private readonly HydraService $hydra,
+ private readonly Client $client
+ ){
}
#[Route('/', name: 'app_home')]
@@ -38,9 +34,9 @@ class MainController extends AbstractController
* Route de Healthcheck (notament pour kubernetes)
*/
#[Route('/health', name: 'health')]
- public function health(Request $request): Response
+ public function health(): Response
{
- return new Response('healthy', 200);
+ return new Response('healthy', Response::HTTP_OK);
}
#[Route('/connect/login-accept', name: 'app_login_accept', methods: ['GET'])]
@@ -51,7 +47,7 @@ class MainController extends AbstractController
if (!$user instanceof User) {
throw new AccessDeniedException();
}
- $challenge = $this->session->get('challenge');
+ $challenge = $this->requestStack->getSession()->get('challenge');
if (!$challenge) {
return new RedirectResponse($this->getParameter('issuer_url'));
}
diff --git a/src/Controller/SecurityController.php b/src/Controller/SecurityController.php
index 0aeb305..54c2e5e 100644
--- a/src/Controller/SecurityController.php
+++ b/src/Controller/SecurityController.php
@@ -39,12 +39,12 @@ class SecurityController extends AbstractController
}
return $this->render('login.html.twig', [
- 'loginForm' => $loginForm->createView(),
+ 'loginForm' => $loginForm,
]);
}
#[Route('/logout', name: 'logout')]
- public function logout(Request $request): void
+ public function logout(): void
{
}
}
diff --git a/src/DependencyInjection/SQLLoginConfiguration.php b/src/DependencyInjection/SQLLoginConfiguration.php
index 05cc7b0..79bea3f 100644
--- a/src/DependencyInjection/SQLLoginConfiguration.php
+++ b/src/DependencyInjection/SQLLoginConfiguration.php
@@ -8,7 +8,7 @@ use Symfony\Component\Config\Definition\ConfigurationInterface;
class SQLLoginConfiguration implements ConfigurationInterface
{
- public function getConfigTreeBuilder()
+ public function getConfigTreeBuilder(): TreeBuilder
{
$treeBuilder = new TreeBuilder('sql_login');
$treeBuilder->getRootNode()->children()
diff --git a/src/Entity/User.php b/src/Entity/User.php
index 92ffdaf..e7ac433 100644
--- a/src/Entity/User.php
+++ b/src/Entity/User.php
@@ -9,14 +9,12 @@ class User implements UserInterface
private array $attributes = [];
private string $login;
private string $password;
- private bool $rememberMe;
- public function __construct($login, $password, $attributes, $rememberMe = false)
+ public function __construct($login, $password, $attributes)
{
$this->password = $password;
$this->login = $login;
$this->attributes = $attributes;
- $this->rememberMe = $rememberMe;
}
public function getLogin(): ?string
@@ -34,11 +32,6 @@ class User implements UserInterface
return $this->attributes;
}
- public function getRememberMe(): bool
- {
- return $this->rememberMe;
- }
-
public function getRoles(): array
{
return ['ROLE_USER'];
diff --git a/src/Hydra/Client.php b/src/Hydra/Client.php
index 6da2e3c..8e00029 100644
--- a/src/Hydra/Client.php
+++ b/src/Hydra/Client.php
@@ -8,8 +8,8 @@ use Symfony\Contracts\HttpClient\ResponseInterface;
class Client
{
- private const MAX_RETRY = 3;
- private const SLEEP_TIME = [
+ private const int MAX_RETRY = 3;
+ private const array SLEEP_TIME = [
5,
500,
5000,
@@ -78,7 +78,7 @@ class Client
$status = $response->getStatusCode();
if (503 === $status) {
++$attempt;
- usleep(1000 * self::SLEEP_TIME[$attempt] + rand(1, 5) * 1000);
+ usleep(1000 * self::SLEEP_TIME[$attempt] + random_int(1, 5) * 1000);
continue;
}
switch ($status) {
diff --git a/src/Hydra/HydraService.php b/src/Hydra/HydraService.php
index 90e8f22..da86b95 100644
--- a/src/Hydra/HydraService.php
+++ b/src/Hydra/HydraService.php
@@ -8,23 +8,18 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Session\SessionInterface;
+use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
class HydraService extends AbstractController
{
- private SessionInterface $session;
- private Client $client;
- private TokenStorageInterface $tokenStorage;
- private string $baseUrl;
-
- public function __construct(Client $client, SessionInterface $session, TokenStorageInterface $tokenStorage, string $baseUrl)
- {
- $this->session = $session;
- $this->client = $client;
- $this->tokenStorage = $tokenStorage;
- $this->baseUrl = $baseUrl;
+ public function __construct(
+ private readonly Client $client,
+ private readonly RequestStack $requestStack,
+ private readonly TokenStorageInterface $tokenStorage,
+ private readonly string $baseUrl
+ ){
}
public function handleLoginRequest(Request $request): RedirectResponse
@@ -38,11 +33,11 @@ class HydraService extends AbstractController
$res = $this->client->fetchLoginRequestInfo($challenge);
$loginRequestInfo = $res->toArray();
if (200 !== $res->getStatusCode()) {
- $this->session->clear();
+ $this->requestStack->getSession()->clear();
throw new BadRequestException();
}
// si le challenge est validé par hydra, on le stocke en session pour l'utiliser par la suite et on redirige vers une route interne protégée qui va déclencher l'identification FranceConnect
- $this->session->set('challenge', $loginRequestInfo['challenge']);
+ $this->requestStack->getSession()->set('challenge', $loginRequestInfo['challenge']);
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
}
@@ -77,7 +72,7 @@ class HydraService extends AbstractController
}
$logoutRequestInfo = $this->client->fetchLogoutRequestInfo($logoutChallenge)->toArray();
$logoutAcceptRes = $this->client->acceptLogoutRequest($logoutRequestInfo['challenge'])->toArray();
- $this->session->clear();
+ $this->requestStack->getSession()->clear();
$this->tokenStorage->setToken(null);
return new RedirectResponse($logoutAcceptRes['redirect_to']);
diff --git a/src/Security/SQLLoginUserAuthenticator.php b/src/Security/SQLLoginUserAuthenticator.php
index 71848b2..649fc0e 100644
--- a/src/Security/SQLLoginUserAuthenticator.php
+++ b/src/Security/SQLLoginUserAuthenticator.php
@@ -10,16 +10,16 @@ use App\SQLLogin\Exception\EmptyResultException;
use App\SQLLogin\Exception\InvalidSQLPasswordException;
use App\SQLLogin\Exception\SecurityPatternConfigurationException;
use App\SQLLogin\SQLLoginRequest;
-use PDOException;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
-use Symfony\Component\Security\Core\Security;
+use Symfony\Component\Security\Core\Exception\UserNotFoundException;
+use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;
-use Symfony\Component\Security\Http\Authenticator\Passport\Badge\RememberMeBadge;
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge;
use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport;
+use Symfony\Component\Security\Http\SecurityRequestAttributes;
class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
{
@@ -27,18 +27,12 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
public const ERROR_LOGIN = 'error_login';
public const TECHNICAL_ERROR = 'technical_error';
- private string $baseUrl;
-
public function __construct(
- string $baseUrl,
- private SQLLoginService $sqlLoginService,
- private PasswordEncoder $passwordHasher,
- private SQLLoginRequest $sqlLoginRequest
- ) {
- $this->baseUrl = $baseUrl;
- $this->sqlLoginService = $sqlLoginService;
- $this->passwordHasher = $passwordHasher;
- $this->sqlLoginRequest = $sqlLoginRequest;
+ private readonly string $baseUrl,
+ private readonly SQLLoginService $sqlLoginService,
+ private readonly PasswordEncoder $passwordHasher,
+ private readonly SQLLoginRequest $sqlLoginRequest
+ ){
}
/**
@@ -58,24 +52,23 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
public function onAuthenticationFailure(Request $request, AuthenticationException $exception): RedirectResponse
{
- $request->getSession()->set(Security::AUTHENTICATION_ERROR, $exception);
+ $request->getSession()->set(SecurityRequestAttributes::AUTHENTICATION_ERROR, $exception);
return new RedirectResponse($this->baseUrl.'/login');
}
public function authenticate(Request $request): SelfValidatingPassport
{
- $form = $request->request->get('login');
+ $form = $request->request->all(key: 'login');
$login = $form['login'];
$plaintextPassword = $form['password'];
- $rememberMe = isset($form['_remember_me']) ? true : false;
$session = $request->getSession();
try {
$datas = $this->sqlLoginService->fetchPasswordAndDatas($login);
} catch (EmptyResultException $e) {
$session->set(self::ERROR_LOGIN, true);
throw new AuthenticationException();
- } catch (DataToFetchConfigurationException|PDOException $e) {
+ } catch (DataToFetchConfigurationException|\PDOException $e) {
\Sentry\captureException($e);
$session->set(self::TECHNICAL_ERROR, true);
throw new AuthenticationException();
@@ -101,14 +94,18 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
$session->set(self::TECHNICAL_ERROR, true);
throw new AuthenticationException();
}
- $user = new User($login, $remoteHashedPassword, $datas, $rememberMe);
- $loader = function (string $userIdentifier) use ($user) {
- return $user->getLogin() == $userIdentifier ? $user : null;
+
+ $user = new User($login, $remoteHashedPassword, $datas);
+
+ $loader = function (string $userIdentifier) use ($user): UserInterface {
+ if ($user->getLogin() !== $userIdentifier) {
+ throw new UserNotFoundException(sprintf('User "%s" not found.', $userIdentifier));
+ }
+
+ return $user;
};
+
$passport = new SelfValidatingPassport(new UserBadge($login, $loader));
- if ($rememberMe) {
- $passport->addBadge(new RememberMeBadge());
- }
$passport->setAttribute('attributes', $user->getAttributes());
return $passport;
diff --git a/src/Security/SQLLoginUserProvider.php b/src/Security/SQLLoginUserProvider.php
index 41e7375..24a5a19 100644
--- a/src/Security/SQLLoginUserProvider.php
+++ b/src/Security/SQLLoginUserProvider.php
@@ -3,45 +3,48 @@
namespace App\Security;
use App\Entity\User;
+use App\Service\SQLLoginService;
+use App\SQLLogin\SQLLoginRequest;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
+use Symfony\Component\Security\Core\Exception\UserNotFoundException;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\UserProviderInterface;
class SQLLoginUserProvider implements UserProviderInterface
{
- protected RequestStack $requestStack;
-
- public function __construct(RequestStack $requestStack)
- {
- $this->requestStack = $requestStack;
+ public function __construct(
+ private readonly RequestStack $requestStack,
+ private readonly SQLLoginService $sqlLoginService,
+ private readonly SQLLoginRequest $sqlLoginRequest
+ ){
}
- public function loadUserByIdentifier(string $identifier, ?User $user): ?UserInterface
+ public function loadUserByIdentifier(string $identifier): UserInterface
{
- if ($user->getUserIdentifier() === $identifier) {
- return $user;
+ $user = $this->sqlLoginService->fetchPasswordAndDatas($identifier);
+
+ $attributes = $user;
+ unset($attributes[$this->sqlLoginRequest->getPasswordColumnName()]);
+
+ if (empty($user[$this->sqlLoginRequest->getLoginColumnName()]) || empty($user[$this->sqlLoginRequest->getPasswordColumnName()])) {
+ throw new UserNotFoundException('email or password not found');
}
- return null;
+ return new User($user[$this->sqlLoginRequest->getLoginColumnName()], $user[$this->sqlLoginRequest->getPasswordColumnName()], $attributes);
}
- public function loadUserByUsername(string $username): ?UserInterface
- {
- return $this->loadUserByIdentifier($username, null);
- }
-
- public function refreshUser(UserInterface $user): UserInterface|null
+ public function refreshUser(UserInterface $user): UserInterface
{
if (!$user instanceof User) {
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
}
- return $this->loadUserByIdentifier($user->getUserIdentifier(), $user);
+ return $this->loadUserByIdentifier($user->getUserIdentifier());
}
public function supportsClass(string $class): bool
{
- return User::class === $class || is_subclass_of($class, User::class);
+ return User::class === $class || \is_subclass_of($class, User::class);
}
}
diff --git a/src/Service/SQLLoginService.php b/src/Service/SQLLoginService.php
index b8ccf1f..7e41ebf 100644
--- a/src/Service/SQLLoginService.php
+++ b/src/Service/SQLLoginService.php
@@ -8,6 +8,7 @@ use App\SQLLogin\SQLLoginRequest;
use PDO;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\Security\Core\User\UserInterface;
class SQLLoginService extends AbstractController
{
@@ -21,6 +22,9 @@ class SQLLoginService extends AbstractController
$this->loggerInterface = $loggerInterface;
}
+ /**
+ * @return array
+ */
public function fetchPasswordAndDatas(string $login): array
{
$dataRequest = $this->sqlLoginRequest->getDatasRequest();
@@ -30,6 +34,9 @@ class SQLLoginService extends AbstractController
return $datas;
}
+ /**
+ * @return array
+ */
private function executeRequestWithLogin(string $request, string $login): array
{
$attempt = 0;
diff --git a/symfony.lock b/symfony.lock
index 7447713..f17b7bf 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -11,6 +11,15 @@
"config/routes/annotations.yaml"
]
},
+ "doctrine/deprecations": {
+ "version": "1.1",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "1.0",
+ "ref": "87424683adc81d7dc305eefec1fced883084aab9"
+ }
+ },
"php-http/discovery": {
"version": "1.19",
"recipe": {
@@ -23,6 +32,18 @@
"config/packages/http_discovery.yaml"
]
},
+ "phpstan/phpstan": {
+ "version": "2.1",
+ "recipe": {
+ "repo": "github.com/symfony/recipes-contrib",
+ "branch": "main",
+ "version": "1.0",
+ "ref": "5e490cc197fb6bb1ae22e5abbc531ddc633b6767"
+ },
+ "files": [
+ "phpstan.dist.neon"
+ ]
+ },
"sentry/sentry-symfony": {
"version": "4.14",
"recipe": {
@@ -102,18 +123,6 @@
"src/Kernel.php"
]
},
- "symfony/lock": {
- "version": "5.4",
- "recipe": {
- "repo": "github.com/symfony/recipes",
- "branch": "main",
- "version": "5.2",
- "ref": "8e937ff2b4735d110af1770f242c1107fdab4c8e"
- },
- "files": [
- "config/packages/lock.yaml"
- ]
- },
"symfony/routing": {
"version": "5.4",
"recipe": {
diff --git a/translations/form.en.xlf b/translations/form.en.xlf
index b1ab7e2..942e245 100644
--- a/translations/form.en.xlf
+++ b/translations/form.en.xlf
@@ -13,10 +13,6 @@
form.label.password
Password *
-
- form.label.remember_me
- Remember me
-
altcha.validator.server_validation_error
Verification failed. Try again later.
diff --git a/translations/form.fr.xlf b/translations/form.fr.xlf
index 137fe4f..eae191b 100644
--- a/translations/form.fr.xlf
+++ b/translations/form.fr.xlf
@@ -13,10 +13,6 @@
form.label.password
Mot de passe *
-
- form.label.remember_me
- Se souvenir de moi
-
altcha.validator.server_validation_error
Échec de la vérification. Réessayez plus tard.