1 Commits

Author SHA1 Message Date
5c78cde200 fix (altcha) #4827 : correction traduction
Some checks failed
Cadoles/hydra-sql/pipeline/head There was a failure building this commit
Cadoles/hydra-sql/pipeline/pr-develop There was a failure building this commit
2025-06-26 14:30:23 +02:00
27 changed files with 1440 additions and 1387 deletions

6
.env
View File

@ -31,6 +31,12 @@ HYDRA_ADMIN_BASE_URL='http://hydra:4445'
APP_LOCALES="fr,en" APP_LOCALES="fr,en"
SECURITY_PATTERN= SECURITY_PATTERN=
HASH_ALGO_LEGACY="sha256,ssha" 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/sentry-symfony ###
SENTRY_DSN= SENTRY_DSN=
###< sentry/sentry-symfony ### ###< sentry/sentry-symfony ###

4
.gitignore vendored
View File

@ -39,7 +39,3 @@ composer.phar
npm-debug.log npm-debug.log
yarn-error.log yarn-error.log
###< symfony/webpack-encore-bundle ### ###< symfony/webpack-encore-bundle ###
###> phpstan/phpstan ###
phpstan.neon
###< phpstan/phpstan ###

2
Jenkinsfile vendored
View File

@ -4,7 +4,7 @@
// Utilisation du pipeline partagé pour les applications Symfony de Cadoles // 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 // Le nom de l'image Docker passée en paramètre vous permet de préciser l'environnement de test
// de votre application Symfony // de votre application Symfony
symfonyAppPipeline('ubuntu:25.04', [ symfonyAppPipeline('ubuntu:22.04', [
'hooks': [ 'hooks': [
// Run docker image build, verification and publication stages // Run docker image build, verification and publication stages
'postSymfonyAppPipeline': { 'postSymfonyAppPipeline': {

View File

@ -1,5 +1,5 @@
IMAGE_REPO ?= reg.cadoles.com/cadoles IMAGE_REPO ?= reg.cadoles.com/aardouin
IMAGES_DIR := misc/images IMAGES_DIR := misc/images
IMAGES := $(foreach file, $(wildcard $(IMAGES_DIR)/*), $(basename $(notdir $(file)))) IMAGES := $(foreach file, $(wildcard $(IMAGES_DIR)/*), $(basename $(notdir $(file))))

View File

@ -4,31 +4,31 @@
"minimum-stability": "stable", "minimum-stability": "stable",
"prefer-stable": true, "prefer-stable": true,
"require": { "require": {
"php": "^8.4", "php": ">=7.2.5",
"ext-ctype": "*", "ext-ctype": "*",
"ext-iconv": "*", "ext-iconv": "*",
"doctrine/annotations": "^1.13", "doctrine/annotations": "^1.13",
"predis/predis": "^2.1", "predis/predis": "^2.1",
"sentry/sentry-symfony": "^4.5", "sentry/sentry-symfony": "^4.5",
"symfony/apache-pack": "^1.0", "symfony/apache-pack": "^1.0",
"symfony/asset": "6.4.*", "symfony/asset": "5.4.*",
"symfony/console": "6.4.*", "symfony/console": "5.4.*",
"symfony/dependency-injection": "6.4.*", "symfony/dependency-injection": "5.4.*",
"symfony/dotenv": "6.4.*", "symfony/dotenv": "5.4.*",
"symfony/expression-language": "6.4.*", "symfony/expression-language": "5.4.*",
"symfony/flex": "^1.17|^2", "symfony/flex": "^1.17|^2",
"symfony/form": "6.4.*", "symfony/form": "5.4.*",
"symfony/framework-bundle": "6.4.*", "symfony/framework-bundle": "5.4.*",
"symfony/http-client": "6.4.*", "symfony/http-client": "5.4.*",
"symfony/rate-limiter": "6.4.*", "symfony/rate-limiter": "5.4.*",
"symfony/runtime": "6.4.*", "symfony/runtime": "5.4.*",
"symfony/security-bundle": "6.4.*", "symfony/security-bundle": "5.4.*",
"symfony/translation": "6.4.*", "symfony/translation": "5.4.*",
"symfony/twig-bundle": "6.4.*", "symfony/twig-bundle": "5.4.*",
"symfony/validator": "6.4.*", "symfony/validator": "5.4.*",
"symfony/web-profiler-bundle": "6.4.*", "symfony/web-profiler-bundle": "5.4.*",
"symfony/webpack-encore-bundle": "^1.16", "symfony/webpack-encore-bundle": "^1.16",
"symfony/yaml": "6.4.*" "symfony/yaml": "5.4.*"
}, },
"config": { "config": {
"allow-plugins": { "allow-plugins": {
@ -76,11 +76,10 @@
"extra": { "extra": {
"symfony": { "symfony": {
"allow-contrib": true, "allow-contrib": true,
"require": "6.4.*" "require": "5.4.*"
} }
}, },
"require-dev": { "require-dev": {
"rector/rector": "^2.1", "symfony/debug-bundle": "5.4.*"
"symfony/debug-bundle": "6.4.*"
} }
} }

2474
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "8b996df8de88651b1cb94dde643d615c", "content-hash": "203398b3a4f3ff689ff3341c02460f23",
"packages": [ "packages": [
{ {
"name": "clue/stream-filter", "name": "clue/stream-filter",
@ -974,16 +974,16 @@
}, },
{ {
"name": "predis/predis", "name": "predis/predis",
"version": "v2.4.0", "version": "v2.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/predis/predis.git", "url": "https://github.com/predis/predis.git",
"reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b" "reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/predis/predis/zipball/f49e13ee3a2a825631562aa0223ac922ec5d058b", "url": "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
"reference": "f49e13ee3a2a825631562aa0223ac922ec5d058b", "reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -992,7 +992,6 @@
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "^3.3", "friendsofphp/php-cs-fixer": "^3.3",
"phpstan/phpstan": "^1.9", "phpstan/phpstan": "^1.9",
"phpunit/phpcov": "^6.0 || ^8.0",
"phpunit/phpunit": "^8.0 || ^9.4" "phpunit/phpunit": "^8.0 || ^9.4"
}, },
"suggest": { "suggest": {
@ -1015,7 +1014,7 @@
"role": "Maintainer" "role": "Maintainer"
} }
], ],
"description": "A flexible and feature-complete Redis/Valkey client for PHP.", "description": "A flexible and feature-complete Redis client for PHP.",
"homepage": "http://github.com/predis/predis", "homepage": "http://github.com/predis/predis",
"keywords": [ "keywords": [
"nosql", "nosql",
@ -1024,7 +1023,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/predis/predis/issues", "issues": "https://github.com/predis/predis/issues",
"source": "https://github.com/predis/predis/tree/v2.4.0" "source": "https://github.com/predis/predis/tree/v2.3.0"
}, },
"funding": [ "funding": [
{ {
@ -1032,20 +1031,20 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-04-30T15:16:02+00:00" "time": "2024-11-21T20:00:02+00:00"
}, },
{ {
"name": "psr/cache", "name": "psr/cache",
"version": "3.0.0", "version": "2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/cache.git", "url": "https://github.com/php-fig/cache.git",
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1079,81 +1078,28 @@
"psr-6" "psr-6"
], ],
"support": { "support": {
"source": "https://github.com/php-fig/cache/tree/3.0.0" "source": "https://github.com/php-fig/cache/tree/2.0.0"
}, },
"time": "2021-02-03T23:26:27+00:00" "time": "2021-02-03T23:23:37+00:00"
},
{
"name": "psr/clock",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/clock.git",
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
"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", "name": "psr/container",
"version": "2.0.2", "version": "1.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/container.git", "url": "https://github.com/php-fig/container.git",
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.4.0" "php": ">=7.4.0"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Psr\\Container\\": "src/" "Psr\\Container\\": "src/"
@ -1180,9 +1126,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/php-fig/container/issues", "issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/2.0.2" "source": "https://github.com/php-fig/container/tree/1.1.2"
}, },
"time": "2021-11-05T16:47:00+00:00" "time": "2021-11-05T16:50:12+00:00"
}, },
{ {
"name": "psr/event-dispatcher", "name": "psr/event-dispatcher",
@ -1396,16 +1342,16 @@
}, },
{ {
"name": "psr/log", "name": "psr/log",
"version": "3.0.2", "version": "2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/log.git", "url": "https://github.com/php-fig/log.git",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1414,7 +1360,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.x-dev" "dev-master": "2.0.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -1440,9 +1386,9 @@
"psr-3" "psr-3"
], ],
"support": { "support": {
"source": "https://github.com/php-fig/log/tree/3.0.2" "source": "https://github.com/php-fig/log/tree/2.0.0"
}, },
"time": "2024-09-11T13:17:53+00:00" "time": "2021-07-14T16:41:46+00:00"
}, },
{ {
"name": "ralouphie/getallheaders", "name": "ralouphie/getallheaders",
@ -1787,28 +1733,33 @@
}, },
{ {
"name": "symfony/asset", "name": "symfony/asset",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/asset.git", "url": "https://github.com/symfony/asset.git",
"reference": "2466c17d61d14539cddf77e57ebb9cc971185302" "reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/asset/zipball/2466c17d61d14539cddf77e57ebb9cc971185302", "url": "https://api.github.com/repos/symfony/asset/zipball/b7a18eaff1d717c321b4f13403413f8815bf9cb0",
"reference": "2466c17d61d14539cddf77e57ebb9cc971185302", "reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1" "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.16"
}, },
"conflict": { "conflict": {
"symfony/http-foundation": "<5.4" "symfony/http-foundation": "<5.3"
}, },
"require-dev": { "require-dev": {
"symfony/http-client": "^5.4|^6.0|^7.0", "symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^5.3|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0" "symfony/http-kernel": "^4.4|^5.0|^6.0"
},
"suggest": {
"symfony/http-foundation": ""
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -1836,7 +1787,7 @@
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/asset/tree/v6.4.13" "source": "https://github.com/symfony/asset/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -1852,61 +1803,62 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-10-25T15:07:50+00:00" "time": "2024-10-22T13:05:35+00:00"
}, },
{ {
"name": "symfony/cache", "name": "symfony/cache",
"version": "v6.4.23", "version": "v5.4.46",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache.git", "url": "https://github.com/symfony/cache.git",
"reference": "c88690befb8d4a85dc321fb78d677507f5eb141b" "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/c88690befb8d4a85dc321fb78d677507f5eb141b", "url": "https://api.github.com/repos/symfony/cache/zipball/0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
"reference": "c88690befb8d4a85dc321fb78d677507f5eb141b", "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/cache": "^2.0|^3.0", "psr/cache": "^1.0|^2.0",
"psr/log": "^1.1|^2|^3", "psr/log": "^1.1|^2|^3",
"symfony/cache-contracts": "^2.5|^3", "symfony/cache-contracts": "^1.1.7|^2",
"symfony/service-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/var-exporter": "^6.3.6|^7.0" "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"
}, },
"conflict": { "conflict": {
"doctrine/dbal": "<2.13.1", "doctrine/dbal": "<2.13.1",
"symfony/dependency-injection": "<5.4", "symfony/dependency-injection": "<4.4",
"symfony/http-kernel": "<5.4", "symfony/http-kernel": "<4.4",
"symfony/var-dumper": "<5.4" "symfony/var-dumper": "<4.4"
}, },
"provide": { "provide": {
"psr/cache-implementation": "2.0|3.0", "psr/cache-implementation": "1.0|2.0",
"psr/simple-cache-implementation": "1.0|2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0",
"symfony/cache-implementation": "1.1|2.0|3.0" "symfony/cache-implementation": "1.0|2.0"
}, },
"require-dev": { "require-dev": {
"cache/integration-tests": "dev-master", "cache/integration-tests": "dev-master",
"doctrine/cache": "^1.6|^2.0",
"doctrine/dbal": "^2.13.1|^3|^4", "doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1|^2.0", "predis/predis": "^1.1|^2.0",
"psr/simple-cache": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/filesystem": "^5.4|^6.0|^7.0", "symfony/filesystem": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/messenger": "^5.4|^6.0|^7.0", "symfony/messenger": "^4.4|^5.0|^6.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0" "symfony/var-dumper": "^4.4|^5.0|^6.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Symfony\\Component\\Cache\\": "" "Symfony\\Component\\Cache\\": ""
}, },
"classmap": [
"Traits/ValueWrapper.php"
],
"exclude-from-classmap": [ "exclude-from-classmap": [
"/Tests/" "/Tests/"
] ]
@ -1932,7 +1884,7 @@
"psr6" "psr6"
], ],
"support": { "support": {
"source": "https://github.com/symfony/cache/tree/v6.4.23" "source": "https://github.com/symfony/cache/tree/v5.4.46"
}, },
"funding": [ "funding": [
{ {
@ -1948,25 +1900,28 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-27T18:31:36+00:00" "time": "2024-11-04T11:43:55+00:00"
}, },
{ {
"name": "symfony/cache-contracts", "name": "symfony/cache-contracts",
"version": "v3.6.0", "version": "v2.5.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache-contracts.git", "url": "https://github.com/symfony/cache-contracts.git",
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868" "reference": "517c3a3619dadfa6952c4651767fcadffb4df65e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/5d68a57d66910405e5c0b63d6f0af941e66fc868", "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/517c3a3619dadfa6952c4651767fcadffb4df65e",
"reference": "5d68a57d66910405e5c0b63d6f0af941e66fc868", "reference": "517c3a3619dadfa6952c4651767fcadffb4df65e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/cache": "^3.0" "psr/cache": "^1.0|^2.0|^3.0"
},
"suggest": {
"symfony/cache-implementation": ""
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -1975,7 +1930,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "2.5-dev"
} }
}, },
"autoload": { "autoload": {
@ -2008,7 +1963,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/cache-contracts/tree/v3.6.0" "source": "https://github.com/symfony/cache-contracts/tree/v2.5.4"
}, },
"funding": [ "funding": [
{ {
@ -2024,112 +1979,42 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-03-13T15:25:07+00:00" "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/clock",
"version": "v6.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
"reference": "b2bf55c4dd115003309eafa87ee7df9ed3dde81b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/clock/zipball/b2bf55c4dd115003309eafa87ee7df9ed3dde81b",
"reference": "b2bf55c4dd115003309eafa87ee7df9ed3dde81b",
"shasum": ""
},
"require": {
"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", "name": "symfony/config",
"version": "v6.4.22", "version": "v5.4.46",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/config.git", "url": "https://github.com/symfony/config.git",
"reference": "af5917a3b1571f54689e56677a3f06440d2fe4c7" "reference": "977c88a02d7d3f16904a81907531b19666a08e78"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/af5917a3b1571f54689e56677a3f06440d2fe4c7", "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78",
"reference": "af5917a3b1571f54689e56677a3f06440d2fe4c7", "reference": "977c88a02d7d3f16904a81907531b19666a08e78",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/filesystem": "^5.4|^6.0|^7.0", "symfony/filesystem": "^4.4|^5.0|^6.0",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-php80": "^1.16",
"symfony/polyfill-php81": "^1.22"
}, },
"conflict": { "conflict": {
"symfony/finder": "<5.4", "symfony/finder": "<4.4"
"symfony/service-contracts": "<2.5"
}, },
"require-dev": { "require-dev": {
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/messenger": "^5.4|^6.0|^7.0", "symfony/messenger": "^4.4|^5.0|^6.0",
"symfony/service-contracts": "^2.5|^3", "symfony/service-contracts": "^1.1|^2|^3",
"symfony/yaml": "^5.4|^6.0|^7.0" "symfony/yaml": "^4.4|^5.0|^6.0"
},
"suggest": {
"symfony/yaml": "To use the yaml reference dumper"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2157,7 +2042,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/config/tree/v6.4.22" "source": "https://github.com/symfony/config/tree/v5.4.46"
}, },
"funding": [ "funding": [
{ {
@ -2173,51 +2058,56 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-05-14T06:00:01+00:00" "time": "2024-10-30T07:58:02+00:00"
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v6.4.23", "version": "v5.4.47",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93" "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93", "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93", "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3", "symfony/polyfill-php73": "^1.9",
"symfony/string": "^5.4|^6.0|^7.0" "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2|^3",
"symfony/string": "^5.1|^6.0"
}, },
"conflict": { "conflict": {
"symfony/dependency-injection": "<5.4", "psr/log": ">=3",
"symfony/dotenv": "<5.4", "symfony/dependency-injection": "<4.4",
"symfony/event-dispatcher": "<5.4", "symfony/dotenv": "<5.1",
"symfony/lock": "<5.4", "symfony/event-dispatcher": "<4.4",
"symfony/process": "<5.4" "symfony/lock": "<4.4",
"symfony/process": "<4.4"
}, },
"provide": { "provide": {
"psr/log-implementation": "1.0|2.0|3.0" "psr/log-implementation": "1.0|2.0"
}, },
"require-dev": { "require-dev": {
"psr/log": "^1|^2|^3", "psr/log": "^1|^2",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^6.4|^7.0", "symfony/lock": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^6.4|^7.0", "symfony/process": "^4.4|^5.0|^6.0",
"symfony/lock": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^4.4|^5.0|^6.0"
"symfony/messenger": "^5.4|^6.0|^7.0", },
"symfony/process": "^5.4|^6.0|^7.0", "suggest": {
"symfony/stopwatch": "^5.4|^6.0|^7.0", "psr/log": "For using the console logger",
"symfony/var-dumper": "^5.4|^6.0|^7.0" "symfony/event-dispatcher": "",
"symfony/lock": "",
"symfony/process": ""
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2251,7 +2141,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v6.4.23" "source": "https://github.com/symfony/console/tree/v5.4.47"
}, },
"funding": [ "funding": [
{ {
@ -2267,44 +2157,52 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-27T19:37:22+00:00" "time": "2024-11-06T11:30:55+00:00"
}, },
{ {
"name": "symfony/dependency-injection", "name": "symfony/dependency-injection",
"version": "v6.4.23", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dependency-injection.git", "url": "https://github.com/symfony/dependency-injection.git",
"reference": "0d9f24f3de0a83573fce5c9ed025d6306c6e166b" "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0d9f24f3de0a83573fce5c9ed025d6306c6e166b", "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
"reference": "0d9f24f3de0a83573fce5c9ed025d6306c6e166b", "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/container": "^1.1|^2.0", "psr/container": "^1.1.1",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/service-contracts": "^2.5|^3.0", "symfony/polyfill-php80": "^1.16",
"symfony/var-exporter": "^6.4.20|^7.2.5" "symfony/polyfill-php81": "^1.22",
"symfony/service-contracts": "^1.1.6|^2"
}, },
"conflict": { "conflict": {
"ext-psr": "<1.1|>=2", "ext-psr": "<1.1|>=2",
"symfony/config": "<6.1", "symfony/config": "<5.3",
"symfony/finder": "<5.4", "symfony/finder": "<4.4",
"symfony/proxy-manager-bridge": "<6.3", "symfony/proxy-manager-bridge": "<4.4",
"symfony/yaml": "<5.4" "symfony/yaml": "<4.4.26"
}, },
"provide": { "provide": {
"psr/container-implementation": "1.1|2.0", "psr/container-implementation": "1.0",
"symfony/service-implementation": "1.1|2.0|3.0" "symfony/service-implementation": "1.0|2.0"
}, },
"require-dev": { "require-dev": {
"symfony/config": "^6.1|^7.0", "symfony/config": "^5.3|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/yaml": "^5.4|^6.0|^7.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": ""
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2332,7 +2230,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application", "description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/dependency-injection/tree/v6.4.23" "source": "https://github.com/symfony/dependency-injection/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -2348,20 +2246,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-23T06:49:06+00:00" "time": "2024-11-20T10:51:57+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
"version": "v3.6.0", "version": "v3.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git", "url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2374,7 +2272,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "3.5-dev"
} }
}, },
"autoload": { "autoload": {
@ -2399,7 +2297,7 @@
"description": "A generic function and convention to trigger deprecation notices", "description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
}, },
"funding": [ "funding": [
{ {
@ -2415,32 +2313,29 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:21:43+00:00" "time": "2024-09-25T14:20:29+00:00"
}, },
{ {
"name": "symfony/dotenv", "name": "symfony/dotenv",
"version": "v6.4.16", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dotenv.git", "url": "https://github.com/symfony/dotenv.git",
"reference": "1ac5e7e7e862d4d574258daf08bd569ba926e4a5" "reference": "08013403089c8a126c968179179b817a552841ab"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dotenv/zipball/1ac5e7e7e862d4d574258daf08bd569ba926e4a5", "url": "https://api.github.com/repos/symfony/dotenv/zipball/08013403089c8a126c968179179b817a552841ab",
"reference": "1ac5e7e7e862d4d574258daf08bd569ba926e4a5", "reference": "08013403089c8a126c968179179b817a552841ab",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1" "php": ">=7.2.5",
}, "symfony/deprecation-contracts": "^2.1|^3"
"conflict": {
"symfony/console": "<5.4",
"symfony/process": "<5.4"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.0|^6.0",
"symfony/process": "^5.4|^6.0|^7.0" "symfony/process": "^4.4|^5.0|^6.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2473,7 +2368,7 @@
"environment" "environment"
], ],
"support": { "support": {
"source": "https://github.com/symfony/dotenv/tree/v6.4.16" "source": "https://github.com/symfony/dotenv/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -2489,35 +2384,31 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-11-27T11:08:19+00:00" "time": "2024-11-27T09:33:00+00:00"
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
"version": "v6.4.23", "version": "v5.4.46",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/error-handler.git", "url": "https://github.com/symfony/error-handler.git",
"reference": "b088e0b175c30b4e06d8085200fa465b586f44fa" "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/b088e0b175c30b4e06d8085200fa465b586f44fa", "url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363",
"reference": "b088e0b175c30b4e06d8085200fa465b586f44fa", "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/var-dumper": "^5.4|^6.0|^7.0" "symfony/var-dumper": "^4.4|^5.0|^6.0"
},
"conflict": {
"symfony/deprecation-contracts": "<2.5",
"symfony/http-kernel": "<6.4"
}, },
"require-dev": { "require-dev": {
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/http-kernel": "^6.4|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/serializer": "^5.4|^6.0|^7.0" "symfony/serializer": "^4.4|^5.0|^6.0"
}, },
"bin": [ "bin": [
"Resources/bin/patch-type-declarations" "Resources/bin/patch-type-declarations"
@ -2548,7 +2439,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code", "description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/error-handler/tree/v6.4.23" "source": "https://github.com/symfony/error-handler/tree/v5.4.46"
}, },
"funding": [ "funding": [
{ {
@ -2564,43 +2455,48 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-13T07:39:48+00:00" "time": "2024-11-05T14:17:06+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher.git", "url": "https://github.com/symfony/event-dispatcher.git",
"reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e" "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9",
"reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/event-dispatcher-contracts": "^2.5|^3" "symfony/deprecation-contracts": "^2.1|^3",
"symfony/event-dispatcher-contracts": "^2|^3",
"symfony/polyfill-php80": "^1.16"
}, },
"conflict": { "conflict": {
"symfony/dependency-injection": "<5.4", "symfony/dependency-injection": "<4.4"
"symfony/service-contracts": "<2.5"
}, },
"provide": { "provide": {
"psr/event-dispatcher-implementation": "1.0", "psr/event-dispatcher-implementation": "1.0",
"symfony/event-dispatcher-implementation": "2.0|3.0" "symfony/event-dispatcher-implementation": "2.0"
}, },
"require-dev": { "require-dev": {
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/error-handler": "^5.4|^6.0|^7.0", "symfony/error-handler": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^4.4|^5.0|^6.0",
"symfony/service-contracts": "^2.5|^3", "symfony/service-contracts": "^1.1|^2|^3",
"symfony/stopwatch": "^5.4|^6.0|^7.0" "symfony/stopwatch": "^4.4|^5.0|^6.0"
},
"suggest": {
"symfony/dependency-injection": "",
"symfony/http-kernel": ""
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2628,7 +2524,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13" "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -2644,20 +2540,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:18:03+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/event-dispatcher-contracts", "name": "symfony/event-dispatcher-contracts",
"version": "v3.6.0", "version": "v3.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git", "url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "59eb412e93815df44f05f342958efa9f46b1e586" "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
"reference": "59eb412e93815df44f05f342958efa9f46b1e586", "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2671,7 +2567,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "3.5-dev"
} }
}, },
"autoload": { "autoload": {
@ -2704,7 +2600,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
}, },
"funding": [ "funding": [
{ {
@ -2720,27 +2616,26 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:21:43+00:00" "time": "2024-09-25T14:20:29+00:00"
}, },
{ {
"name": "symfony/expression-language", "name": "symfony/expression-language",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/expression-language.git", "url": "https://github.com/symfony/expression-language.git",
"reference": "3524904fb026356a5230cd197f9a4e6a61e0e7df" "reference": "a784b66edc4c151eb05076d04707906ee2c209a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/expression-language/zipball/3524904fb026356a5230cd197f9a4e6a61e0e7df", "url": "https://api.github.com/repos/symfony/expression-language/zipball/a784b66edc4c151eb05076d04707906ee2c209a9",
"reference": "3524904fb026356a5230cd197f9a4e6a61e0e7df", "reference": "a784b66edc4c151eb05076d04707906ee2c209a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/cache": "^5.4|^6.0|^7.0", "symfony/cache": "^4.4|^5.0|^6.0",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^1.1|^2|^3"
"symfony/service-contracts": "^2.5|^3"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2768,7 +2663,7 @@
"description": "Provides an engine that can compile and evaluate expressions", "description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/expression-language/tree/v6.4.13" "source": "https://github.com/symfony/expression-language/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -2784,29 +2679,30 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-10-09T08:40:40+00:00" "time": "2024-10-04T14:55:40+00:00"
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/filesystem.git", "url": "https://github.com/symfony/filesystem.git",
"reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" "reference": "57c8294ed37d4a055b77057827c67f9558c95c54"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54",
"reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", "reference": "57c8294ed37d4a055b77057827c67f9558c95c54",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8" "symfony/polyfill-mbstring": "~1.8",
"symfony/polyfill-php80": "^1.16"
}, },
"require-dev": { "require-dev": {
"symfony/process": "^5.4|^6.4|^7.0" "symfony/process": "^5.4|^6.4"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2834,7 +2730,7 @@
"description": "Provides basic utilities for the filesystem", "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/filesystem/tree/v6.4.13" "source": "https://github.com/symfony/filesystem/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -2850,27 +2746,26 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-10-25T15:07:50+00:00" "time": "2024-10-22T13:05:35+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
"version": "v6.4.17", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/finder.git", "url": "https://github.com/symfony/finder.git",
"reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" "reference": "63741784cd7b9967975eec610b256eed3ede022b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b",
"reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "reference": "63741784cd7b9967975eec610b256eed3ede022b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1" "php": ">=7.2.5",
}, "symfony/deprecation-contracts": "^2.1|^3",
"require-dev": { "symfony/polyfill-php80": "^1.16"
"symfony/filesystem": "^6.0|^7.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2898,7 +2793,7 @@
"description": "Finds files and directories via an intuitive fluent interface", "description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/finder/tree/v6.4.17" "source": "https://github.com/symfony/finder/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -2914,20 +2809,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-29T13:51:37+00:00" "time": "2024-09-28T13:32:08+00:00"
}, },
{ {
"name": "symfony/flex", "name": "symfony/flex",
"version": "v2.8.1", "version": "v2.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/flex.git", "url": "https://github.com/symfony/flex.git",
"reference": "423c36e369361003dc31ef11c5f15fb589e52c01" "reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/flex/zipball/423c36e369361003dc31ef11c5f15fb589e52c01", "url": "https://api.github.com/repos/symfony/flex/zipball/8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
"reference": "423c36e369361003dc31ef11c5f15fb589e52c01", "reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2966,7 +2861,7 @@
"description": "Composer plugin for Symfony", "description": "Composer plugin for Symfony",
"support": { "support": {
"issues": "https://github.com/symfony/flex/issues", "issues": "https://github.com/symfony/flex/issues",
"source": "https://github.com/symfony/flex/tree/v2.8.1" "source": "https://github.com/symfony/flex/tree/v2.5.0"
}, },
"funding": [ "funding": [
{ {
@ -2982,60 +2877,65 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-07-05T07:45:19+00:00" "time": "2025-03-03T07:50:46+00:00"
}, },
{ {
"name": "symfony/form", "name": "symfony/form",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/form.git", "url": "https://github.com/symfony/form.git",
"reference": "6f60a2a9031c49fe92b8703764defa46481db155" "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/form/zipball/6f60a2a9031c49fe92b8703764defa46481db155", "url": "https://api.github.com/repos/symfony/form/zipball/c1974a723cdee8a273cb49ce13fada5c1667706a",
"reference": "6f60a2a9031c49fe92b8703764defa46481db155", "reference": "c1974a723cdee8a273cb49ce13fada5c1667706a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
"symfony/options-resolver": "^5.4|^6.0|^7.0", "symfony/options-resolver": "^5.1|^6.0",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-icu": "^1.21", "symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/property-access": "^5.4|^6.0|^7.0", "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^2.5|^3" "symfony/polyfill-php81": "^1.23",
"symfony/property-access": "^5.0.8|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
}, },
"conflict": { "conflict": {
"symfony/console": "<5.4", "symfony/console": "<4.4",
"symfony/dependency-injection": "<5.4", "symfony/dependency-injection": "<4.4",
"symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7",
"symfony/error-handler": "<5.4", "symfony/error-handler": "<4.4.5",
"symfony/framework-bundle": "<5.4", "symfony/framework-bundle": "<4.4",
"symfony/http-kernel": "<5.4", "symfony/http-kernel": "<4.4",
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
"symfony/translation-contracts": "<2.5", "symfony/translation-contracts": "<1.1.7",
"symfony/twig-bridge": "<6.3" "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7"
}, },
"require-dev": { "require-dev": {
"doctrine/collections": "^1.0|^2.0", "doctrine/collections": "^1.0|^2.0",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/html-sanitizer": "^6.1|^7.0", "symfony/http-foundation": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/intl": "^4.4|^5.0|^6.0",
"symfony/intl": "^5.4|^6.0|^7.0", "symfony/security-csrf": "^4.4|^5.0|^6.0",
"symfony/security-core": "^6.2|^7.0", "symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
"symfony/security-csrf": "^5.4|^6.0|^7.0", "symfony/uid": "^5.1|^6.0",
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", "symfony/validator": "^4.4.17|^5.1.9|^6.0",
"symfony/uid": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^4.4|^5.0|^6.0"
"symfony/validator": "^5.4|^6.0|^7.0", },
"symfony/var-dumper": "^5.4|^6.0|^7.0" "suggest": {
"symfony/security-csrf": "For protecting forms against CSRF attacks.",
"symfony/twig-bridge": "For templating with Twig.",
"symfony/validator": "For form validation."
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -3063,7 +2963,7 @@
"description": "Allows to easily create, process and reuse HTML forms", "description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/form/tree/v6.4.23" "source": "https://github.com/symfony/form/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -3079,113 +2979,115 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-05T16:22:31+00:00" "time": "2024-10-08T07:27:17+00:00"
}, },
{ {
"name": "symfony/framework-bundle", "name": "symfony/framework-bundle",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/framework-bundle.git", "url": "https://github.com/symfony/framework-bundle.git",
"reference": "ff892d3ab4b8aa35921bc2120a4b31d57948fe22" "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ff892d3ab4b8aa35921bc2120a4b31d57948fe22", "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3d70f14176422d4d8ee400b6acae4e21f7c25ca2",
"reference": "ff892d3ab4b8aa35921bc2120a4b31d57948fe22", "reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*", "ext-xml": "*",
"php": ">=8.1", "php": ">=7.2.5",
"symfony/cache": "^5.4|^6.0|^7.0", "symfony/cache": "^5.2|^6.0",
"symfony/config": "^6.1|^7.0", "symfony/config": "^5.3|^6.0",
"symfony/dependency-injection": "^6.4.12|^7.0", "symfony/dependency-injection": "^5.4.44|^6.0.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/error-handler": "^6.1|^7.0", "symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^5.1|^6.0",
"symfony/filesystem": "^5.4|^6.0|^7.0", "symfony/filesystem": "^4.4|^5.0|^6.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^6.4|^7.0", "symfony/http-foundation": "^5.4.24|^6.2.11",
"symfony/http-kernel": "^6.4", "symfony/http-kernel": "^5.4|^6.0",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/routing": "^6.4|^7.0" "symfony/polyfill-php80": "^1.16",
"symfony/polyfill-php81": "^1.22",
"symfony/routing": "^5.3|^6.0"
}, },
"conflict": { "conflict": {
"doctrine/annotations": "<1.13.1", "doctrine/annotations": "<1.13.1",
"doctrine/cache": "<1.11",
"doctrine/persistence": "<1.3", "doctrine/persistence": "<1.3",
"phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0", "phpdocumentor/type-resolver": "<1.4.0",
"symfony/asset": "<5.4", "symfony/asset": "<5.3",
"symfony/asset-mapper": "<6.4", "symfony/console": "<5.2.5|>=7.0",
"symfony/clock": "<6.3", "symfony/dom-crawler": "<4.4",
"symfony/console": "<5.4|>=7.0", "symfony/dotenv": "<5.1",
"symfony/dom-crawler": "<6.4", "symfony/form": "<5.2",
"symfony/dotenv": "<5.4", "symfony/http-client": "<4.4",
"symfony/form": "<5.4", "symfony/lock": "<4.4",
"symfony/http-client": "<6.3", "symfony/mailer": "<5.2",
"symfony/lock": "<5.4", "symfony/messenger": "<5.4",
"symfony/mailer": "<5.4", "symfony/mime": "<4.4",
"symfony/messenger": "<6.3", "symfony/property-access": "<5.3",
"symfony/mime": "<6.4", "symfony/property-info": "<4.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/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6",
"symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4", "symfony/security-csrf": "<5.3",
"symfony/security-core": "<5.4", "symfony/serializer": "<5.2",
"symfony/security-csrf": "<5.4", "symfony/service-contracts": ">=3.0",
"symfony/serializer": "<6.4", "symfony/stopwatch": "<4.4",
"symfony/stopwatch": "<5.4", "symfony/translation": "<5.3",
"symfony/translation": "<6.4", "symfony/twig-bridge": "<4.4",
"symfony/twig-bridge": "<5.4", "symfony/twig-bundle": "<4.4",
"symfony/twig-bundle": "<5.4", "symfony/validator": "<5.3.11",
"symfony/validator": "<6.4", "symfony/web-profiler-bundle": "<4.4",
"symfony/web-profiler-bundle": "<6.4", "symfony/workflow": "<5.2"
"symfony/workflow": "<6.4"
}, },
"require-dev": { "require-dev": {
"doctrine/annotations": "^1.13.1|^2", "doctrine/annotations": "^1.13.1|^2",
"doctrine/cache": "^1.11|^2.0",
"doctrine/persistence": "^1.3|^2|^3", "doctrine/persistence": "^1.3|^2|^3",
"dragonmantank/cron-expression": "^3.1",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"seld/jsonlint": "^1.10", "symfony/asset": "^5.3|^6.0",
"symfony/asset": "^5.4|^6.0|^7.0", "symfony/browser-kit": "^5.4|^6.0",
"symfony/asset-mapper": "^6.4|^7.0", "symfony/console": "^5.4.9|^6.0.9",
"symfony/browser-kit": "^5.4|^6.0|^7.0", "symfony/css-selector": "^4.4|^5.0|^6.0",
"symfony/clock": "^6.2|^7.0", "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0",
"symfony/console": "^5.4.9|^6.0.9|^7.0", "symfony/dotenv": "^5.1|^6.0",
"symfony/css-selector": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/dom-crawler": "^6.4|^7.0", "symfony/form": "^5.2|^6.0",
"symfony/dotenv": "^5.4|^6.0|^7.0", "symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/lock": "^4.4|^5.0|^6.0",
"symfony/form": "^5.4|^6.0|^7.0", "symfony/mailer": "^5.2|^6.0",
"symfony/html-sanitizer": "^6.1|^7.0", "symfony/messenger": "^5.4|^6.0",
"symfony/http-client": "^6.3|^7.0", "symfony/mime": "^4.4|^5.0|^6.0",
"symfony/lock": "^5.4|^6.0|^7.0", "symfony/notifier": "^5.4|^6.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/polyfill-intl-icu": "~1.0",
"symfony/process": "^5.4|^6.0|^7.0", "symfony/process": "^4.4|^5.0|^6.0",
"symfony/property-info": "^5.4|^6.0|^7.0", "symfony/property-info": "^4.4|^5.0|^6.0",
"symfony/rate-limiter": "^5.4|^6.0|^7.0", "symfony/rate-limiter": "^5.2|^6.0",
"symfony/scheduler": "^6.4.4|^7.0.4", "symfony/security-bundle": "^5.4|^6.0",
"symfony/security-bundle": "^5.4|^6.0|^7.0", "symfony/serializer": "^5.4|^6.0",
"symfony/semaphore": "^5.4|^6.0|^7.0", "symfony/stopwatch": "^4.4|^5.0|^6.0",
"symfony/serializer": "^6.4|^7.0", "symfony/string": "^5.0|^6.0",
"symfony/stopwatch": "^5.4|^6.0|^7.0", "symfony/translation": "^5.3|^6.0",
"symfony/string": "^5.4|^6.0|^7.0", "symfony/twig-bundle": "^4.4|^5.0|^6.0",
"symfony/translation": "^6.4|^7.0", "symfony/validator": "^5.3.11|^6.0",
"symfony/twig-bundle": "^5.4|^6.0|^7.0", "symfony/web-link": "^4.4|^5.0|^6.0",
"symfony/uid": "^5.4|^6.0|^7.0", "symfony/workflow": "^5.2|^6.0",
"symfony/validator": "^6.4|^7.0", "symfony/yaml": "^4.4|^5.0|^6.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" "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", "type": "symfony-bundle",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@ -3212,7 +3114,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/framework-bundle/tree/v6.4.23" "source": "https://github.com/symfony/framework-bundle/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -3228,38 +3130,36 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-26T21:24:02+00:00" "time": "2024-10-22T13:05:35+00:00"
}, },
{ {
"name": "symfony/http-client", "name": "symfony/http-client",
"version": "v6.4.23", "version": "v5.4.49",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-client.git", "url": "https://github.com/symfony/http-client.git",
"reference": "19f11e742b94dcfd968a54f5381bb9082a88cb57" "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-client/zipball/19f11e742b94dcfd968a54f5381bb9082a88cb57", "url": "https://api.github.com/repos/symfony/http-client/zipball/d77d8e212cde7b5c4a64142bf431522f19487c28",
"reference": "19f11e742b94dcfd968a54f5381bb9082a88cb57", "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/http-client-contracts": "~3.4.4|^3.5.2", "symfony/http-client-contracts": "^2.5.4",
"symfony/service-contracts": "^2.5|^3" "symfony/polyfill-php73": "^1.11",
}, "symfony/polyfill-php80": "^1.16",
"conflict": { "symfony/service-contracts": "^1.0|^2|^3"
"php-http/discovery": "<1.15",
"symfony/http-foundation": "<6.3"
}, },
"provide": { "provide": {
"php-http/async-client-implementation": "*", "php-http/async-client-implementation": "*",
"php-http/client-implementation": "*", "php-http/client-implementation": "*",
"psr/http-client-implementation": "1.0", "psr/http-client-implementation": "1.0",
"symfony/http-client-implementation": "3.0" "symfony/http-client-implementation": "2.4"
}, },
"require-dev": { "require-dev": {
"amphp/amp": "^2.5", "amphp/amp": "^2.5",
@ -3269,12 +3169,12 @@
"guzzlehttp/promises": "^1.4|^2.0", "guzzlehttp/promises": "^1.4|^2.0",
"nyholm/psr7": "^1.0", "nyholm/psr7": "^1.0",
"php-http/httplug": "^1.0|^2.0", "php-http/httplug": "^1.0|^2.0",
"php-http/message-factory": "^1.0",
"psr/http-client": "^1.0", "psr/http-client": "^1.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
"symfony/messenger": "^5.4|^6.0|^7.0", "symfony/process": "^4.4|^5.0|^6.0",
"symfony/process": "^5.4|^6.0|^7.0", "symfony/stopwatch": "^4.4|^5.0|^6.0"
"symfony/stopwatch": "^5.4|^6.0|^7.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -3305,7 +3205,7 @@
"http" "http"
], ],
"support": { "support": {
"source": "https://github.com/symfony/http-client/tree/v6.4.23" "source": "https://github.com/symfony/http-client/tree/v5.4.49"
}, },
"funding": [ "funding": [
{ {
@ -3321,24 +3221,27 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-27T20:02:31+00:00" "time": "2024-11-28T08:37:04+00:00"
}, },
{ {
"name": "symfony/http-client-contracts", "name": "symfony/http-client-contracts",
"version": "v3.6.0", "version": "v2.5.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-client-contracts.git", "url": "https://github.com/symfony/http-client-contracts.git",
"reference": "75d7043853a42837e68111812f4d964b01e5101c" "reference": "48ef1d0a082885877b664332b9427662065a360c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/48ef1d0a082885877b664332b9427662065a360c",
"reference": "75d7043853a42837e68111812f4d964b01e5101c", "reference": "48ef1d0a082885877b664332b9427662065a360c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1" "php": ">=7.2.5"
},
"suggest": {
"symfony/http-client-implementation": ""
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -3347,16 +3250,13 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "2.5-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Symfony\\Contracts\\HttpClient\\": "" "Symfony\\Contracts\\HttpClient\\": ""
}, }
"exclude-from-classmap": [
"/Test/"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@ -3383,7 +3283,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.5"
}, },
"funding": [ "funding": [
{ {
@ -3399,40 +3299,39 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-04-29T11:18:49+00:00" "time": "2024-11-28T08:37:04+00:00"
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v6.4.23", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "452d19f945ee41345fd8a50c18b60783546b7bd3" "reference": "3f38b8af283b830e1363acd79e5bc3412d055341"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/452d19f945ee41345fd8a50c18b60783546b7bd3", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3f38b8af283b830e1363acd79e5bc3412d055341",
"reference": "452d19f945ee41345fd8a50c18b60783546b7bd3", "reference": "3f38b8af283b830e1363acd79e5bc3412d055341",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-mbstring": "~1.1",
"symfony/polyfill-php83": "^1.27" "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.0|^2.0",
"predis/predis": "^1.1|^2.0", "symfony/cache": "^4.4|^5.0|^6.0",
"symfony/cache": "^6.4.12|^7.1.5", "symfony/dependency-injection": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", "symfony/mime": "^4.4|^5.0|^6.0",
"symfony/mime": "^5.4|^6.0|^7.0", "symfony/rate-limiter": "^5.2|^6.0"
"symfony/rate-limiter": "^5.4|^6.0|^7.0" },
"suggest": {
"symfony/mime": "To use the file extension guesser"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -3460,7 +3359,7 @@
"description": "Defines an object-oriented layer for the HTTP specification", "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-foundation/tree/v6.4.23" "source": "https://github.com/symfony/http-foundation/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -3476,78 +3375,77 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-05-26T09:17:58+00:00" "time": "2024-11-13T18:58:02+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v6.4.23", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a" "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/2bb2cba685aabd859f22cf6946554e8e7f3c329a", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0",
"reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a", "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/log": "^1|^2|^3", "psr/log": "^1|^2",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/error-handler": "^6.4|^7.0", "symfony/error-handler": "^4.4|^5.0|^6.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^5.0|^6.0",
"symfony/http-foundation": "^6.4|^7.0", "symfony/http-foundation": "^5.4.21|^6.2.7",
"symfony/polyfill-ctype": "^1.8" "symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-php73": "^1.9",
"symfony/polyfill-php80": "^1.16"
}, },
"conflict": { "conflict": {
"symfony/browser-kit": "<5.4", "symfony/browser-kit": "<5.4",
"symfony/cache": "<5.4", "symfony/cache": "<5.0",
"symfony/config": "<6.1", "symfony/config": "<5.0",
"symfony/console": "<5.4", "symfony/console": "<4.4",
"symfony/dependency-injection": "<6.4", "symfony/dependency-injection": "<5.3",
"symfony/doctrine-bridge": "<5.4", "symfony/doctrine-bridge": "<5.0",
"symfony/form": "<5.4", "symfony/form": "<5.0",
"symfony/http-client": "<5.4", "symfony/http-client": "<5.0",
"symfony/http-client-contracts": "<2.5", "symfony/mailer": "<5.0",
"symfony/mailer": "<5.4", "symfony/messenger": "<5.0",
"symfony/messenger": "<5.4", "symfony/translation": "<5.0",
"symfony/translation": "<5.4", "symfony/twig-bridge": "<5.0",
"symfony/translation-contracts": "<2.5", "symfony/validator": "<5.0",
"symfony/twig-bridge": "<5.4",
"symfony/validator": "<6.4",
"symfony/var-dumper": "<6.3",
"twig/twig": "<2.13" "twig/twig": "<2.13"
}, },
"provide": { "provide": {
"psr/log-implementation": "1.0|2.0|3.0" "psr/log-implementation": "1.0|2.0"
}, },
"require-dev": { "require-dev": {
"psr/cache": "^1.0|^2.0|^3.0", "psr/cache": "^1.0|^2.0|^3.0",
"symfony/browser-kit": "^5.4|^6.0|^7.0", "symfony/browser-kit": "^5.4|^6.0",
"symfony/clock": "^6.2|^7.0", "symfony/config": "^5.0|^6.0",
"symfony/config": "^6.1|^7.0", "symfony/console": "^4.4|^5.0|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/css-selector": "^4.4|^5.0|^6.0",
"symfony/css-selector": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^5.3|^6.0",
"symfony/dependency-injection": "^6.4|^7.0", "symfony/dom-crawler": "^4.4|^5.0|^6.0",
"symfony/dom-crawler": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/http-client-contracts": "^1.1|^2|^3",
"symfony/http-client-contracts": "^2.5|^3", "symfony/process": "^4.4|^5.0|^6.0",
"symfony/process": "^5.4|^6.0|^7.0", "symfony/routing": "^4.4|^5.0|^6.0",
"symfony/property-access": "^5.4.5|^6.0.5|^7.0", "symfony/stopwatch": "^4.4|^5.0|^6.0",
"symfony/routing": "^5.4|^6.0|^7.0", "symfony/translation": "^4.4|^5.0|^6.0",
"symfony/serializer": "^6.4.4|^7.0.4", "symfony/translation-contracts": "^1.1|^2|^3",
"symfony/stopwatch": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^4.4.31|^5.4",
"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" "twig/twig": "^2.13|^3.0.4"
}, },
"suggest": {
"symfony/browser-kit": "",
"symfony/config": "",
"symfony/console": "",
"symfony/dependency-injection": ""
},
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@ -3574,7 +3472,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v6.4.23" "source": "https://github.com/symfony/http-kernel/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -3590,25 +3488,106 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-28T08:14:51+00:00" "time": "2024-11-27T12:43:17+00:00"
}, },
{ {
"name": "symfony/options-resolver", "name": "symfony/lock",
"version": "v6.4.16", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/options-resolver.git", "url": "https://github.com/symfony/lock.git",
"reference": "368128ad168f20e22c32159b9f761e456cec0c78" "reference": "f85ebc5346a2f0e4f9e347e9154922a6d4665c65"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78", "url": "https://api.github.com/repos/symfony/lock/zipball/f85ebc5346a2f0e4f9e347e9154922a6d4665c65",
"reference": "368128ad168f20e22c32159b9f761e456cec0c78", "reference": "f85ebc5346a2f0e4f9e347e9154922a6d4665c65",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3" "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"
},
{
"name": "symfony/options-resolver",
"version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
"reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
"reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php73": "~1.0",
"symfony/polyfill-php80": "^1.16"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -3641,7 +3620,7 @@
"options" "options"
], ],
"support": { "support": {
"source": "https://github.com/symfony/options-resolver/tree/v6.4.16" "source": "https://github.com/symfony/options-resolver/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -3657,31 +3636,33 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-11-20T10:57:02+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/password-hasher", "name": "symfony/password-hasher",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/password-hasher.git", "url": "https://github.com/symfony/password-hasher.git",
"reference": "e97a1b31f60b8bdfc1fdedab4398538da9441d47" "reference": "6c5993b24505f98b90ca4896448012bbec54c7c8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/e97a1b31f60b8bdfc1fdedab4398538da9441d47", "url": "https://api.github.com/repos/symfony/password-hasher/zipball/6c5993b24505f98b90ca4896448012bbec54c7c8",
"reference": "e97a1b31f60b8bdfc1fdedab4398538da9441d47", "reference": "6c5993b24505f98b90ca4896448012bbec54c7c8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1" "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.15"
}, },
"conflict": { "conflict": {
"symfony/security-core": "<5.4" "symfony/security-core": "<5.3"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^5.3|^6.0",
"symfony/security-core": "^5.4|^6.0|^7.0" "symfony/security-core": "^5.3|^6.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -3713,7 +3694,7 @@
"password" "password"
], ],
"support": { "support": {
"source": "https://github.com/symfony/password-hasher/tree/v6.4.13" "source": "https://github.com/symfony/password-hasher/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -3729,11 +3710,11 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:18:03+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-grapheme", "name": "symfony/polyfill-intl-grapheme",
"version": "v1.32.0", "version": "v1.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@ -3791,7 +3772,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
}, },
"funding": [ "funding": [
{ {
@ -3811,16 +3792,16 @@
}, },
{ {
"name": "symfony/polyfill-intl-icu", "name": "symfony/polyfill-intl-icu",
"version": "v1.32.0", "version": "v1.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git", "url": "https://github.com/symfony/polyfill-intl-icu.git",
"reference": "763d2a91fea5681509ca01acbc1c5e450d127811" "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/763d2a91fea5681509ca01acbc1c5e450d127811", "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
"reference": "763d2a91fea5681509ca01acbc1c5e450d127811", "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3875,7 +3856,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.32.0" "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0"
}, },
"funding": [ "funding": [
{ {
@ -3891,11 +3872,11 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-21T18:38:29+00:00" "time": "2024-09-09T11:45:10+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-normalizer", "name": "symfony/polyfill-intl-normalizer",
"version": "v1.32.0", "version": "v1.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@ -3956,7 +3937,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
}, },
"funding": [ "funding": [
{ {
@ -3976,20 +3957,19 @@
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-mbstring",
"version": "v1.32.0", "version": "v1.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git", "url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-iconv": "*",
"php": ">=7.2" "php": ">=7.2"
}, },
"provide": { "provide": {
@ -4037,7 +4017,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
}, },
"funding": [ "funding": [
{ {
@ -4053,20 +4033,96 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-23T08:48:59+00:00" "time": "2024-09-09T11:45:10+00:00"
}, },
{ {
"name": "symfony/polyfill-php80", "name": "symfony/polyfill-php73",
"version": "v1.32.0", "version": "v1.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php80.git", "url": "https://github.com/symfony/polyfill-php73.git",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "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"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4117,7 +4173,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
}, },
"funding": [ "funding": [
{ {
@ -4133,20 +4189,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-02T08:10:11+00:00" "time": "2024-09-09T11:45:10+00:00"
}, },
{ {
"name": "symfony/polyfill-php83", "name": "symfony/polyfill-php81",
"version": "v1.32.0", "version": "v1.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php83.git", "url": "https://github.com/symfony/polyfill-php81.git",
"reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4164,7 +4220,7 @@
"bootstrap.php" "bootstrap.php"
], ],
"psr-4": { "psr-4": {
"Symfony\\Polyfill\\Php83\\": "" "Symfony\\Polyfill\\Php81\\": ""
}, },
"classmap": [ "classmap": [
"Resources/stubs" "Resources/stubs"
@ -4184,7 +4240,7 @@
"homepage": "https://symfony.com/contributors" "homepage": "https://symfony.com/contributors"
} }
], ],
"description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"keywords": [ "keywords": [
"compatibility", "compatibility",
@ -4193,7 +4249,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
}, },
"funding": [ "funding": [
{ {
@ -4213,25 +4269,29 @@
}, },
{ {
"name": "symfony/property-access", "name": "symfony/property-access",
"version": "v6.4.18", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/property-access.git", "url": "https://github.com/symfony/property-access.git",
"reference": "80e0378f2f058b60d87dedc3c760caec882e992c" "reference": "111e7ed617509f1a9139686055d234aad6e388e0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/property-access/zipball/80e0378f2f058b60d87dedc3c760caec882e992c", "url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0",
"reference": "80e0378f2f058b60d87dedc3c760caec882e992c", "reference": "111e7ed617509f1a9139686055d234aad6e388e0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/property-info": "^5.4|^6.0|^7.0" "symfony/polyfill-php80": "^1.16",
"symfony/property-info": "^5.2|^6.0"
}, },
"require-dev": { "require-dev": {
"symfony/cache": "^5.4|^6.0|^7.0" "symfony/cache": "^4.4|^5.0|^6.0"
},
"suggest": {
"psr/cache-implementation": "To cache access methods."
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4270,7 +4330,7 @@
"reflection" "reflection"
], ],
"support": { "support": {
"source": "https://github.com/symfony/property-access/tree/v6.4.18" "source": "https://github.com/symfony/property-access/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -4286,41 +4346,46 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-16T14:42:05+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/property-info", "name": "symfony/property-info",
"version": "v6.4.18", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/property-info.git", "url": "https://github.com/symfony/property-info.git",
"reference": "94d18e5cc11a37fd92856d38b61d9cdf72536a1e" "reference": "a0396295ad585f95fccd690bc6a281e5bd303902"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/property-info/zipball/94d18e5cc11a37fd92856d38b61d9cdf72536a1e", "url": "https://api.github.com/repos/symfony/property-info/zipball/a0396295ad585f95fccd690bc6a281e5bd303902",
"reference": "94d18e5cc11a37fd92856d38b61d9cdf72536a1e", "reference": "a0396295ad585f95fccd690bc6a281e5bd303902",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/string": "^5.4|^6.0|^7.0" "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.16",
"symfony/string": "^5.1|^6.0"
}, },
"conflict": { "conflict": {
"doctrine/annotations": "<1.12", "phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/reflection-docblock": "<5.2", "phpdocumentor/type-resolver": "<1.4.0",
"phpdocumentor/type-resolver": "<1.5.1", "symfony/dependency-injection": "<4.4"
"symfony/cache": "<5.4",
"symfony/dependency-injection": "<5.4|>=6.0,<6.4",
"symfony/serializer": "<5.4"
}, },
"require-dev": { "require-dev": {
"doctrine/annotations": "^1.12|^2", "doctrine/annotations": "^1.10.4|^2",
"phpdocumentor/reflection-docblock": "^5.2", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"phpstan/phpdoc-parser": "^1.0|^2.0", "phpstan/phpdoc-parser": "^1.0|^2.0",
"symfony/cache": "^5.4|^6.0|^7.0", "symfony/cache": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/serializer": "^5.4|^6.4|^7.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"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4356,7 +4421,7 @@
"validator" "validator"
], ],
"support": { "support": {
"source": "https://github.com/symfony/property-info/tree/v6.4.18" "source": "https://github.com/symfony/property-info/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -4372,42 +4437,47 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-21T10:52:27+00:00" "time": "2024-11-25T16:14:41+00:00"
}, },
{ {
"name": "symfony/psr-http-message-bridge", "name": "symfony/psr-http-message-bridge",
"version": "v6.4.13", "version": "v2.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git", "url": "https://github.com/symfony/psr-http-message-bridge.git",
"reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec" "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9cf83326a1074f83a738fc5320945abf7fb7fec", "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e",
"reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec", "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/http-message": "^1.0|^2.0", "psr/http-message": "^1.0 || ^2.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0" "symfony/deprecation-contracts": "^2.5 || ^3.0",
}, "symfony/http-foundation": "^5.4 || ^6.0"
"conflict": {
"php-http/discovery": "<1.15",
"symfony/http-kernel": "<6.2"
}, },
"require-dev": { "require-dev": {
"nyholm/psr7": "^1.1", "nyholm/psr7": "^1.1",
"php-http/discovery": "^1.15", "psr/log": "^1.1 || ^2 || ^3",
"psr/log": "^1.1.4|^2|^3", "symfony/browser-kit": "^5.4 || ^6.0",
"symfony/browser-kit": "^5.4|^6.0|^7.0", "symfony/config": "^5.4 || ^6.0",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^5.4 || ^6.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/framework-bundle": "^5.4 || ^6.0",
"symfony/framework-bundle": "^6.2|^7.0", "symfony/http-kernel": "^5.4 || ^6.0",
"symfony/http-kernel": "^6.2|^7.0" "symfony/phpunit-bridge": "^6.2"
},
"suggest": {
"nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
}, },
"type": "symfony-bridge", "type": "symfony-bridge",
"extra": {
"branch-alias": {
"dev-main": "2.3-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Symfony\\Bridge\\PsrHttpMessage\\": "" "Symfony\\Bridge\\PsrHttpMessage\\": ""
@ -4427,11 +4497,11 @@
}, },
{ {
"name": "Symfony Community", "name": "Symfony Community",
"homepage": "https://symfony.com/contributors" "homepage": "http://symfony.com/contributors"
} }
], ],
"description": "PSR HTTP message bridge", "description": "PSR HTTP message bridge",
"homepage": "https://symfony.com", "homepage": "http://symfony.com",
"keywords": [ "keywords": [
"http", "http",
"http-message", "http-message",
@ -4439,7 +4509,8 @@
"psr-7" "psr-7"
], ],
"support": { "support": {
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.13" "issues": "https://github.com/symfony/psr-http-message-bridge/issues",
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1"
}, },
"funding": [ "funding": [
{ {
@ -4455,30 +4526,29 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:18:03+00:00" "time": "2023-07-26T11:53:26+00:00"
}, },
{ {
"name": "symfony/rate-limiter", "name": "symfony/rate-limiter",
"version": "v6.4.15", "version": "v5.4.47",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/rate-limiter.git", "url": "https://github.com/symfony/rate-limiter.git",
"reference": "e250d82fc17b277b97cbce94efef5414aff29bf9" "reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/e250d82fc17b277b97cbce94efef5414aff29bf9", "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/c902bf796ca6c9656c3cc8185b53afb9acbb7c72",
"reference": "e250d82fc17b277b97cbce94efef5414aff29bf9", "reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/lock": "^5.2|^6.0",
"symfony/options-resolver": "^5.4|^6.0|^7.0" "symfony/options-resolver": "^5.1|^6.0"
}, },
"require-dev": { "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", "type": "library",
"autoload": { "autoload": {
@ -4510,7 +4580,7 @@
"rate-limiter" "rate-limiter"
], ],
"support": { "support": {
"source": "https://github.com/symfony/rate-limiter/tree/v6.4.15" "source": "https://github.com/symfony/rate-limiter/tree/v5.4.47"
}, },
"funding": [ "funding": [
{ {
@ -4526,40 +4596,47 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-11-09T07:19:24+00:00" "time": "2024-11-07T11:51:21+00:00"
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v6.4.22", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670" "reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/1f5234e8457164a3a0038a4c0a4ba27876a9c670", "url": "https://api.github.com/repos/symfony/routing/zipball/dd08c19879a9b37ff14fd30dcbdf99a4cf045db1",
"reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670", "reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3" "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.16"
}, },
"conflict": { "conflict": {
"doctrine/annotations": "<1.12", "doctrine/annotations": "<1.12",
"symfony/config": "<6.2", "symfony/config": "<5.3",
"symfony/dependency-injection": "<5.4", "symfony/dependency-injection": "<4.4",
"symfony/yaml": "<5.4" "symfony/yaml": "<4.4"
}, },
"require-dev": { "require-dev": {
"doctrine/annotations": "^1.12|^2", "doctrine/annotations": "^1.12|^2",
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/config": "^6.2|^7.0", "symfony/config": "^5.3|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^4.4|^5.0|^6.0",
"symfony/yaml": "^5.4|^6.0|^7.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"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4593,7 +4670,7 @@
"url" "url"
], ],
"support": { "support": {
"source": "https://github.com/symfony/routing/tree/v6.4.22" "source": "https://github.com/symfony/routing/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -4609,35 +4686,36 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-04-27T16:08:38+00:00" "time": "2024-11-12T18:20:21+00:00"
}, },
{ {
"name": "symfony/runtime", "name": "symfony/runtime",
"version": "v6.4.23", "version": "v5.4.46",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/runtime.git", "url": "https://github.com/symfony/runtime.git",
"reference": "ef1f03c2ab1144ac4ef7744b9e026bdb06f2f88f" "reference": "242b4d773c004fa258e1b412f3f49fc2ac78353a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/runtime/zipball/ef1f03c2ab1144ac4ef7744b9e026bdb06f2f88f", "url": "https://api.github.com/repos/symfony/runtime/zipball/242b4d773c004fa258e1b412f3f49fc2ac78353a",
"reference": "ef1f03c2ab1144ac4ef7744b9e026bdb06f2f88f", "reference": "242b4d773c004fa258e1b412f3f49fc2ac78353a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-plugin-api": "^1.0|^2.0", "composer-plugin-api": "^1.0|^2.0",
"php": ">=8.1" "php": ">=7.2.5",
"symfony/polyfill-php80": "^1.15"
}, },
"conflict": { "conflict": {
"symfony/dotenv": "<5.4" "symfony/dotenv": "<5.1"
}, },
"require-dev": { "require-dev": {
"composer/composer": "^1.0.2|^2.0", "composer/composer": "^1.0.2|^2.0",
"symfony/console": "^5.4.9|^6.0.9|^7.0", "symfony/console": "^4.4.30|^5.4.9|^6.0.9",
"symfony/dotenv": "^5.4|^6.0|^7.0", "symfony/dotenv": "^5.1|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^4.4.30|^5.3.7|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0" "symfony/http-kernel": "^4.4.30|^5.3.7|^6.0"
}, },
"type": "composer-plugin", "type": "composer-plugin",
"extra": { "extra": {
@ -4672,7 +4750,7 @@
"runtime" "runtime"
], ],
"support": { "support": {
"source": "https://github.com/symfony/runtime/tree/v6.4.23" "source": "https://github.com/symfony/runtime/tree/v5.4.46"
}, },
"funding": [ "funding": [
{ {
@ -4688,75 +4766,66 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-13T07:44:14+00:00" "time": "2024-11-06T08:58:41+00:00"
}, },
{ {
"name": "symfony/security-bundle", "name": "symfony/security-bundle",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-bundle.git", "url": "https://github.com/symfony/security-bundle.git",
"reference": "3db1460f539b23e74a119981ea6b3002302250bc" "reference": "d6081d1b9118f944df90bb77444a8617eba01542"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/3db1460f539b23e74a119981ea6b3002302250bc", "url": "https://api.github.com/repos/symfony/security-bundle/zipball/d6081d1b9118f944df90bb77444a8617eba01542",
"reference": "3db1460f539b23e74a119981ea6b3002302250bc", "reference": "d6081d1b9118f944df90bb77444a8617eba01542",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*", "ext-xml": "*",
"php": ">=8.1", "php": ">=7.2.5",
"symfony/clock": "^6.3|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/config": "^6.1|^7.0", "symfony/dependency-injection": "^5.4.43|^6.4.11",
"symfony/dependency-injection": "^6.4.11|^7.1.4", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/event-dispatcher": "^5.1|^6.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^5.3|^6.0",
"symfony/http-foundation": "^6.2|^7.0", "symfony/http-kernel": "^5.3|^6.0",
"symfony/http-kernel": "^6.2", "symfony/password-hasher": "^5.3|^6.0",
"symfony/password-hasher": "^5.4|^6.0|^7.0", "symfony/polyfill-php80": "^1.16",
"symfony/security-core": "^6.2|^7.0", "symfony/security-core": "^5.4|^6.0",
"symfony/security-csrf": "^5.4|^6.0|^7.0", "symfony/security-csrf": "^4.4|^5.0|^6.0",
"symfony/security-http": "^6.3.6|^7.0", "symfony/security-guard": "^5.3",
"symfony/service-contracts": "^2.5|^3" "symfony/security-http": "^5.4.30|^6.3.6",
"symfony/service-contracts": "^1.10|^2|^3"
}, },
"conflict": { "conflict": {
"symfony/browser-kit": "<5.4", "symfony/browser-kit": "<4.4",
"symfony/console": "<5.4", "symfony/console": "<4.4",
"symfony/framework-bundle": "<6.4", "symfony/framework-bundle": "<4.4",
"symfony/http-client": "<5.4", "symfony/ldap": "<5.1",
"symfony/ldap": "<5.4", "symfony/twig-bundle": "<4.4"
"symfony/serializer": "<6.4",
"symfony/twig-bundle": "<5.4",
"symfony/validator": "<6.4"
}, },
"require-dev": { "require-dev": {
"symfony/asset": "^5.4|^6.0|^7.0", "doctrine/annotations": "^1.10.4|^2",
"symfony/browser-kit": "^5.4|^6.0|^7.0", "symfony/asset": "^4.4|^5.0|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/browser-kit": "^4.4|^5.0|^6.0",
"symfony/css-selector": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.0|^6.0",
"symfony/dom-crawler": "^5.4|^6.0|^7.0", "symfony/css-selector": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/dom-crawler": "^4.4|^5.0|^6.0",
"symfony/form": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/framework-bundle": "^6.4|^7.0", "symfony/form": "^4.4|^5.0|^6.0",
"symfony/http-client": "^5.4|^6.0|^7.0", "symfony/framework-bundle": "^5.3|^6.0",
"symfony/ldap": "^5.4|^6.0|^7.0", "symfony/ldap": "^5.3|^6.0",
"symfony/process": "^5.4|^6.0|^7.0", "symfony/process": "^4.4|^5.0|^6.0",
"symfony/rate-limiter": "^5.4|^6.0|^7.0", "symfony/rate-limiter": "^5.2|^6.0",
"symfony/serializer": "^6.4|^7.0", "symfony/serializer": "^4.4|^5.0|^6.0",
"symfony/translation": "^5.4|^6.0|^7.0", "symfony/translation": "^4.4|^5.0|^6.0",
"symfony/twig-bridge": "^5.4|^6.0|^7.0", "symfony/twig-bridge": "^4.4|^5.0|^6.0",
"symfony/twig-bundle": "^5.4|^6.0|^7.0", "symfony/twig-bundle": "^4.4|^5.0|^6.0",
"symfony/validator": "^6.4|^7.0", "symfony/validator": "^4.4|^5.0|^6.0",
"symfony/yaml": "^5.4|^6.0|^7.0", "symfony/yaml": "^4.4|^5.0|^6.0",
"twig/twig": "^2.13|^3.0.4", "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", "type": "symfony-bundle",
"autoload": { "autoload": {
@ -4784,7 +4853,7 @@
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/security-bundle/tree/v6.4.23" "source": "https://github.com/symfony/security-bundle/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -4800,49 +4869,57 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-23T20:18:57+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/security-core", "name": "symfony/security-core",
"version": "v6.4.23", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-core.git", "url": "https://github.com/symfony/security-core.git",
"reference": "527780a0482e592530174ca90e6189f64cdf6569" "reference": "cca947b1a74bdbc21c4d6288a4abb938d9a7eaba"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-core/zipball/527780a0482e592530174ca90e6189f64cdf6569", "url": "https://api.github.com/repos/symfony/security-core/zipball/cca947b1a74bdbc21c4d6288a4abb938d9a7eaba",
"reference": "527780a0482e592530174ca90e6189f64cdf6569", "reference": "cca947b1a74bdbc21c4d6288a4abb938d9a7eaba",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/event-dispatcher-contracts": "^2.5|^3", "symfony/event-dispatcher-contracts": "^1.1|^2|^3",
"symfony/password-hasher": "^5.4|^6.0|^7.0", "symfony/password-hasher": "^5.3|^6.0",
"symfony/service-contracts": "^2.5|^3" "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1.6|^2|^3"
}, },
"conflict": { "conflict": {
"symfony/event-dispatcher": "<5.4", "symfony/event-dispatcher": "<4.4",
"symfony/http-foundation": "<5.4", "symfony/http-foundation": "<5.3",
"symfony/ldap": "<5.4", "symfony/ldap": "<4.4",
"symfony/security-guard": "<5.4", "symfony/security-guard": "<4.4",
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
"symfony/validator": "<5.4" "symfony/validator": "<5.2"
}, },
"require-dev": { "require-dev": {
"psr/cache": "^1.0|^2.0|^3.0", "psr/cache": "^1.0|^2.0|^3.0",
"psr/container": "^1.1|^2.0", "psr/container": "^1.0|^2.0",
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/cache": "^5.4|^6.0|^7.0", "symfony/cache": "^4.4|^5.0|^6.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^5.3|^6.0",
"symfony/ldap": "^5.4|^6.0|^7.0", "symfony/ldap": "^4.4|^5.0|^6.0",
"symfony/string": "^5.4|^6.0|^7.0", "symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", "symfony/validator": "^5.2|^6.0"
"symfony/validator": "^6.4|^7.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"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4870,7 +4947,7 @@
"description": "Symfony Security Component - Core Library", "description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/security-core/tree/v6.4.23" "source": "https://github.com/symfony/security-core/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -4886,31 +4963,36 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-05-30T08:33:44+00:00" "time": "2024-11-27T08:58:20+00:00"
}, },
{ {
"name": "symfony/security-csrf", "name": "symfony/security-csrf",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-csrf.git", "url": "https://github.com/symfony/security-csrf.git",
"reference": "c34421b7d34efbaef5d611ab2e646a0ec464ffe3" "reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/c34421b7d34efbaef5d611ab2e646a0ec464ffe3", "url": "https://api.github.com/repos/symfony/security-csrf/zipball/28dcafc3220f12264bb2aabe2389a2163458c1f4",
"reference": "c34421b7d34efbaef5d611ab2e646a0ec464ffe3", "reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/security-core": "^5.4|^6.0|^7.0" "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.16",
"symfony/security-core": "^4.4|^5.0|^6.0"
}, },
"conflict": { "conflict": {
"symfony/http-foundation": "<5.4" "symfony/http-foundation": "<5.3"
}, },
"require-dev": { "require-dev": {
"symfony/http-foundation": "^5.4|^6.0|^7.0" "symfony/http-foundation": "^5.3|^6.0"
},
"suggest": {
"symfony/http-foundation": "For using the class SessionTokenStorage."
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4938,7 +5020,7 @@
"description": "Symfony Security Component - CSRF Library", "description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/security-csrf/tree/v6.4.13" "source": "https://github.com/symfony/security-csrf/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -4954,51 +5036,117 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:18:03+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/security-http", "name": "symfony/security-guard",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-http.git", "url": "https://github.com/symfony/security-guard.git",
"reference": "815fcda8122a7850bf6d5d842ce03c20445295bb" "reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-http/zipball/815fcda8122a7850bf6d5d842ce03c20445295bb", "url": "https://api.github.com/repos/symfony/security-guard/zipball/f3da3dbec38aaedaf287ffeb4e3a90994af37faa",
"reference": "815fcda8122a7850bf6d5d842ce03c20445295bb", "reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/http-foundation": "^6.2|^7.0", "symfony/polyfill-php80": "^1.15",
"symfony/http-kernel": "^6.3|^7.0", "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"
},
{
"name": "symfony/security-http",
"version": "v5.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
"reference": "cde02b002e0447075430e6a84482e38f2fd9268d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-http/zipball/cde02b002e0447075430e6a84482e38f2fd9268d",
"reference": "cde02b002e0447075430e6a84482e38f2fd9268d",
"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",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/property-access": "^5.4|^6.0|^7.0", "symfony/polyfill-php80": "^1.16",
"symfony/security-core": "^6.4|^7.0", "symfony/property-access": "^4.4|^5.0|^6.0",
"symfony/service-contracts": "^2.5|^3" "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5",
"symfony/service-contracts": "^1.10|^2|^3"
}, },
"conflict": { "conflict": {
"symfony/clock": "<6.3", "symfony/event-dispatcher": "<4.3",
"symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9", "symfony/security-bundle": "<5.3",
"symfony/http-client-contracts": "<3.0", "symfony/security-csrf": "<4.4"
"symfony/security-bundle": "<5.4",
"symfony/security-csrf": "<5.4"
}, },
"require-dev": { "require-dev": {
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/cache": "^5.4|^6.0|^7.0", "symfony/cache": "^4.4|^5.0|^6.0",
"symfony/clock": "^6.3|^7.0", "symfony/rate-limiter": "^5.2|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/routing": "^4.4|^5.0|^6.0",
"symfony/http-client-contracts": "^3.0", "symfony/security-csrf": "^4.4|^5.0|^6.0",
"symfony/rate-limiter": "^5.4|^6.0|^7.0", "symfony/translation": "^4.4|^5.0|^6.0"
"symfony/routing": "^5.4|^6.0|^7.0", },
"symfony/security-csrf": "^5.4|^6.0|^7.0", "suggest": {
"symfony/translation": "^5.4|^6.0|^7.0", "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
"web-token/jwt-checker": "^3.1", "symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
"web-token/jwt-signature-algorithm-ecdsa": "^3.1"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -5026,7 +5174,7 @@
"description": "Symfony Security Component - HTTP Integration", "description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/security-http/tree/v6.4.23" "source": "https://github.com/symfony/security-http/tree/v5.4.47"
}, },
"funding": [ "funding": [
{ {
@ -5042,30 +5190,33 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-23T20:18:57+00:00" "time": "2024-11-07T14:12:41+00:00"
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
"version": "v3.6.0", "version": "v2.5.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/service-contracts.git", "url": "https://github.com/symfony/service-contracts.git",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" "reference": "f37b419f7aea2e9abf10abd261832cace12e3300"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "reference": "f37b419f7aea2e9abf10abd261832cace12e3300",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"psr/container": "^1.1|^2.0", "psr/container": "^1.1",
"symfony/deprecation-contracts": "^2.5|^3" "symfony/deprecation-contracts": "^2.1|^3"
}, },
"conflict": { "conflict": {
"ext-psr": "<1.1|>=2" "ext-psr": "<1.1|>=2"
}, },
"suggest": {
"symfony/service-implementation": ""
},
"type": "library", "type": "library",
"extra": { "extra": {
"thanks": { "thanks": {
@ -5073,16 +5224,13 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "2.5-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Symfony\\Contracts\\Service\\": "" "Symfony\\Contracts\\Service\\": ""
}, }
"exclude-from-classmap": [
"/Test/"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@ -5109,7 +5257,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0" "source": "https://github.com/symfony/service-contracts/tree/v2.5.4"
}, },
"funding": [ "funding": [
{ {
@ -5125,38 +5273,38 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-04-25T09:37:31+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v6.4.21", "version": "v5.4.47",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "73e2c6966a5aef1d4892873ed5322245295370c6" "reference": "136ca7d72f72b599f2631aca474a4f8e26719799"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/73e2c6966a5aef1d4892873ed5322245295370c6", "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799",
"reference": "73e2c6966a5aef1d4892873ed5322245295370c6", "reference": "136ca7d72f72b599f2631aca474a4f8e26719799",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0" "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "~1.15"
}, },
"conflict": { "conflict": {
"symfony/translation-contracts": "<2.5" "symfony/translation-contracts": ">=3.0"
}, },
"require-dev": { "require-dev": {
"symfony/error-handler": "^5.4|^6.0|^7.0", "symfony/error-handler": "^4.4|^5.0|^6.0",
"symfony/http-client": "^5.4|^6.0|^7.0", "symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/intl": "^6.2|^7.0", "symfony/translation-contracts": "^1.1|^2",
"symfony/translation-contracts": "^2.5|^3.0", "symfony/var-exporter": "^4.4|^5.0|^6.0"
"symfony/var-exporter": "^5.4|^6.0|^7.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -5195,7 +5343,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v6.4.21" "source": "https://github.com/symfony/string/tree/v5.4.47"
}, },
"funding": [ "funding": [
{ {
@ -5211,55 +5359,57 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-04-18T15:23:29+00:00" "time": "2024-11-10T20:33:58+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "de8afa521e04a5220e9e58a1dc99971ab7cac643" "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/de8afa521e04a5220e9e58a1dc99971ab7cac643", "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed",
"reference": "de8afa521e04a5220e9e58a1dc99971ab7cac643", "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^2.5|^3.0" "symfony/polyfill-php80": "^1.16",
"symfony/translation-contracts": "^2.3"
}, },
"conflict": { "conflict": {
"symfony/config": "<5.4", "symfony/config": "<4.4",
"symfony/console": "<5.4", "symfony/console": "<5.3",
"symfony/dependency-injection": "<5.4", "symfony/dependency-injection": "<5.0",
"symfony/http-client-contracts": "<2.5", "symfony/http-kernel": "<5.0",
"symfony/http-kernel": "<5.4", "symfony/twig-bundle": "<5.0",
"symfony/service-contracts": "<2.5", "symfony/yaml": "<4.4"
"symfony/twig-bundle": "<5.4",
"symfony/yaml": "<5.4"
}, },
"provide": { "provide": {
"symfony/translation-implementation": "2.3|3.0" "symfony/translation-implementation": "2.3"
}, },
"require-dev": { "require-dev": {
"nikic/php-parser": "^4.18|^5.0",
"psr/log": "^1|^2|^3", "psr/log": "^1|^2|^3",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^5.0|^6.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/http-client-contracts": "^2.5|^3.0", "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^5.0|^6.0",
"symfony/intl": "^5.4|^6.0|^7.0", "symfony/intl": "^4.4|^5.0|^6.0",
"symfony/polyfill-intl-icu": "^1.21", "symfony/polyfill-intl-icu": "^1.21",
"symfony/routing": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^1.1.2|^2|^3",
"symfony/service-contracts": "^2.5|^3", "symfony/yaml": "^4.4|^5.0|^6.0"
"symfony/yaml": "^5.4|^6.0|^7.0" },
"suggest": {
"psr/log-implementation": "To use logging capability in translator",
"symfony/config": "",
"symfony/yaml": ""
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -5290,7 +5440,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v6.4.23" "source": "https://github.com/symfony/translation/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -5306,24 +5456,27 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-26T21:24:02+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
"version": "v3.6.0", "version": "v2.5.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation-contracts.git", "url": "https://github.com/symfony/translation-contracts.git",
"reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" "reference": "450d4172653f38818657022252f9d81be89ee9a8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/450d4172653f38818657022252f9d81be89ee9a8",
"reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", "reference": "450d4172653f38818657022252f9d81be89ee9a8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1" "php": ">=7.2.5"
},
"suggest": {
"symfony/translation-implementation": ""
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -5332,16 +5485,13 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "2.5-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Symfony\\Contracts\\Translation\\": "" "Symfony\\Contracts\\Translation\\": ""
}, }
"exclude-from-classmap": [
"/Test/"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@ -5368,7 +5518,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" "source": "https://github.com/symfony/translation-contracts/tree/v2.5.4"
}, },
"funding": [ "funding": [
{ {
@ -5384,73 +5534,85 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-27T08:32:26+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/twig-bridge", "name": "symfony/twig-bridge",
"version": "v6.4.22", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bridge.git", "url": "https://github.com/symfony/twig-bridge.git",
"reference": "04ab306a2f2c9dbd46f4363383812954f704af9d" "reference": "853a0c9aa40123a9feeb335c865b659d94e49e5d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/04ab306a2f2c9dbd46f4363383812954f704af9d", "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/853a0c9aa40123a9feeb335c865b659d94e49e5d",
"reference": "04ab306a2f2c9dbd46f4363383812954f704af9d", "reference": "853a0c9aa40123a9feeb335c865b659d94e49e5d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-php80": "^1.16",
"symfony/translation-contracts": "^2.5|^3", "symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^2.13|^3.0.4" "twig/twig": "^2.13|^3.0.4"
}, },
"conflict": { "conflict": {
"phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0", "phpdocumentor/type-resolver": "<1.4.0",
"symfony/console": "<5.4", "symfony/console": "<5.3",
"symfony/form": "<6.3", "symfony/form": "<5.4.21|>=6,<6.2.7",
"symfony/http-foundation": "<5.4", "symfony/http-foundation": "<5.3",
"symfony/http-kernel": "<6.4", "symfony/http-kernel": "<4.4",
"symfony/mime": "<6.2", "symfony/translation": "<5.2",
"symfony/serializer": "<6.4", "symfony/workflow": "<5.2"
"symfony/translation": "<5.4",
"symfony/workflow": "<5.4"
}, },
"require-dev": { "require-dev": {
"doctrine/annotations": "^1.12|^2",
"egulias/email-validator": "^2.1.10|^3|^4", "egulias/email-validator": "^2.1.10|^3|^4",
"league/html-to-markdown": "^5.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/asset": "^5.4|^6.0|^7.0", "symfony/asset": "^4.4|^5.0|^6.0",
"symfony/asset-mapper": "^6.3|^7.0", "symfony/console": "^5.3|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/form": "^5.4.21|^6.2.7",
"symfony/form": "^6.4.20|^7.2.5", "symfony/http-foundation": "^5.3|^6.0",
"symfony/html-sanitizer": "^6.1|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/intl": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^6.4|^7.0", "symfony/mime": "^5.2|^6.0",
"symfony/intl": "^5.4|^6.0|^7.0",
"symfony/mime": "^6.2|^7.0",
"symfony/polyfill-intl-icu": "~1.0", "symfony/polyfill-intl-icu": "~1.0",
"symfony/property-info": "^5.4|^6.0|^7.0", "symfony/property-info": "^4.4|^5.1|^6.0",
"symfony/routing": "^5.4|^6.0|^7.0", "symfony/routing": "^4.4|^5.0|^6.0",
"symfony/security-acl": "^2.8|^3.0", "symfony/security-acl": "^2.8|^3.0",
"symfony/security-core": "^5.4|^6.0|^7.0", "symfony/security-core": "^4.4|^5.0|^6.0",
"symfony/security-csrf": "^5.4|^6.0|^7.0", "symfony/security-csrf": "^4.4|^5.0|^6.0",
"symfony/security-http": "^5.4|^6.0|^7.0", "symfony/security-http": "^4.4|^5.0|^6.0",
"symfony/serializer": "^6.4.3|^7.0.3", "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3",
"symfony/stopwatch": "^5.4|^6.0|^7.0", "symfony/stopwatch": "^4.4|^5.0|^6.0",
"symfony/translation": "^6.1|^7.0", "symfony/translation": "^5.2|^6.0",
"symfony/web-link": "^5.4|^6.0|^7.0", "symfony/web-link": "^4.4|^5.0|^6.0",
"symfony/workflow": "^5.4|^6.0|^7.0", "symfony/workflow": "^5.2|^6.0",
"symfony/yaml": "^5.4|^6.0|^7.0", "symfony/yaml": "^4.4|^5.0|^6.0",
"twig/cssinliner-extra": "^2.12|^3", "twig/cssinliner-extra": "^2.12|^3",
"twig/inky-extra": "^2.12|^3", "twig/inky-extra": "^2.12|^3",
"twig/markdown-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", "type": "symfony-bridge",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
@ -5477,7 +5639,7 @@
"description": "Provides integration for Twig with various Symfony components", "description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/twig-bridge/tree/v6.4.22" "source": "https://github.com/symfony/twig-bridge/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -5493,47 +5655,53 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-05-16T08:23:44+00:00" "time": "2024-11-22T08:19:51+00:00"
}, },
{ {
"name": "symfony/twig-bundle", "name": "symfony/twig-bundle",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bundle.git", "url": "https://github.com/symfony/twig-bundle.git",
"reference": "ef970ed7eb9e547d21628e4c803de0943759cbcd" "reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/ef970ed7eb9e547d21628e4c803de0943759cbcd", "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9",
"reference": "ef970ed7eb9e547d21628e4c803de0943759cbcd", "reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-runtime-api": ">=2.1", "php": ">=7.2.5",
"php": ">=8.1", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/config": "^6.1|^7.0", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/dependency-injection": "^6.1|^7.0", "symfony/http-foundation": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^5.0|^6.0",
"symfony/http-kernel": "^6.2", "symfony/polyfill-ctype": "~1.8",
"symfony/twig-bridge": "^6.4", "symfony/polyfill-php80": "^1.16",
"symfony/twig-bridge": "^5.3|^6.0",
"twig/twig": "^2.13|^3.0.4" "twig/twig": "^2.13|^3.0.4"
}, },
"conflict": { "conflict": {
"symfony/framework-bundle": "<5.4", "symfony/dependency-injection": "<5.3",
"symfony/translation": "<5.4" "symfony/framework-bundle": "<5.0",
"symfony/service-contracts": ">=3.0",
"symfony/translation": "<5.0"
}, },
"require-dev": { "require-dev": {
"symfony/asset": "^5.4|^6.0|^7.0", "doctrine/annotations": "^1.10.4|^2",
"symfony/expression-language": "^5.4|^6.0|^7.0", "doctrine/cache": "^1.0|^2.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/asset": "^4.4|^5.0|^6.0",
"symfony/form": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^5.3|^6.0",
"symfony/framework-bundle": "^5.4|^6.0|^7.0", "symfony/expression-language": "^4.4|^5.0|^6.0",
"symfony/routing": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/stopwatch": "^5.4|^6.0|^7.0", "symfony/form": "^4.4|^5.0|^6.0",
"symfony/translation": "^5.4|^6.0|^7.0", "symfony/framework-bundle": "^5.0|^6.0",
"symfony/web-link": "^5.4|^6.0|^7.0", "symfony/routing": "^4.4|^5.0|^6.0",
"symfony/yaml": "^5.4|^6.0|^7.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"
}, },
"type": "symfony-bundle", "type": "symfony-bundle",
"autoload": { "autoload": {
@ -5561,7 +5729,7 @@
"description": "Provides a tight integration of Twig into the Symfony full-stack framework", "description": "Provides a tight integration of Twig into the Symfony full-stack framework",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/twig-bundle/tree/v6.4.23" "source": "https://github.com/symfony/twig-bundle/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -5577,59 +5745,75 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-20T20:02:07+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "symfony/validator", "name": "symfony/validator",
"version": "v6.4.23", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/validator.git", "url": "https://github.com/symfony/validator.git",
"reference": "6506760ab57e7cda5bde9cdaed736526162284bc" "reference": "883667679d93d6c30f1b7490d669801712d3be2f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/validator/zipball/6506760ab57e7cda5bde9cdaed736526162284bc", "url": "https://api.github.com/repos/symfony/validator/zipball/883667679d93d6c30f1b7490d669801712d3be2f",
"reference": "6506760ab57e7cda5bde9cdaed736526162284bc", "reference": "883667679d93d6c30f1b7490d669801712d3be2f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php83": "^1.27", "symfony/polyfill-php73": "~1.0",
"symfony/translation-contracts": "^2.5|^3" "symfony/polyfill-php80": "^1.16",
"symfony/polyfill-php81": "^1.22",
"symfony/translation-contracts": "^1.1|^2|^3"
}, },
"conflict": { "conflict": {
"doctrine/annotations": "<1.13", "doctrine/annotations": "<1.13",
"doctrine/cache": "<1.11",
"doctrine/lexer": "<1.1", "doctrine/lexer": "<1.1",
"symfony/dependency-injection": "<5.4", "symfony/dependency-injection": "<4.4",
"symfony/expression-language": "<5.4", "symfony/expression-language": "<5.1",
"symfony/http-kernel": "<5.4", "symfony/http-kernel": "<4.4",
"symfony/intl": "<5.4", "symfony/intl": "<4.4",
"symfony/property-info": "<5.4", "symfony/property-info": "<5.3",
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
"symfony/yaml": "<5.4" "symfony/yaml": "<4.4"
}, },
"require-dev": { "require-dev": {
"doctrine/annotations": "^1.13|^2", "doctrine/annotations": "^1.13|^2",
"doctrine/cache": "^1.11|^2.0",
"egulias/email-validator": "^2.1.10|^3|^4", "egulias/email-validator": "^2.1.10|^3|^4",
"symfony/cache": "^5.4|^6.0|^7.0", "symfony/cache": "^4.4|^5.0|^6.0",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/expression-language": "^5.1|^6.0",
"symfony/finder": "^5.4|^6.0|^7.0", "symfony/finder": "^4.4|^5.0|^6.0",
"symfony/http-client": "^5.4|^6.0|^7.0", "symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/intl": "^5.4|^6.0|^7.0", "symfony/intl": "^4.4|^5.0|^6.0",
"symfony/mime": "^5.4|^6.0|^7.0", "symfony/mime": "^4.4|^5.0|^6.0",
"symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-access": "^5.4|^6.0",
"symfony/property-info": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.3|^6.0",
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", "symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
"symfony/yaml": "^5.4|^6.0|^7.0" "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": ""
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -5658,7 +5842,7 @@
"description": "Provides tools to validate values", "description": "Provides tools to validate values",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/validator/tree/v6.4.23" "source": "https://github.com/symfony/validator/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -5674,39 +5858,43 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-26T07:25:45+00:00" "time": "2024-11-27T08:58:20+00:00"
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v6.4.23", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600" "reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/42f18f170aa86d612c3559cfb3bd11a375df32c8",
"reference": "d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600", "reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-mbstring": "~1.0" "symfony/polyfill-php80": "^1.16"
}, },
"conflict": { "conflict": {
"symfony/console": "<5.4" "symfony/console": "<4.4"
}, },
"require-dev": { "require-dev": {
"ext-iconv": "*", "ext-iconv": "*",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.0|^6.0",
"symfony/error-handler": "^6.3|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/process": "^4.4|^5.0|^6.0",
"symfony/process": "^5.4|^6.0|^7.0", "symfony/uid": "^5.1|^6.0",
"symfony/uid": "^5.4|^6.0|^7.0",
"twig/twig": "^2.13|^3.0.4" "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": [ "bin": [
"Resources/bin/var-dump-server" "Resources/bin/var-dump-server"
], ],
@ -5743,7 +5931,7 @@
"dump" "dump"
], ],
"support": { "support": {
"source": "https://github.com/symfony/var-dumper/tree/v6.4.23" "source": "https://github.com/symfony/var-dumper/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -5759,20 +5947,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-27T15:05:27+00:00" "time": "2024-11-08T15:21:10+00:00"
}, },
{ {
"name": "symfony/var-exporter", "name": "symfony/var-exporter",
"version": "v6.4.22", "version": "v6.4.20",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-exporter.git", "url": "https://github.com/symfony/var-exporter.git",
"reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9" "reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/f28cf841f5654955c9f88ceaf4b9dc29571988a9", "url": "https://api.github.com/repos/symfony/var-exporter/zipball/998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
"reference": "f28cf841f5654955c9f88ceaf4b9dc29571988a9", "reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5820,7 +6008,7 @@
"serialize" "serialize"
], ],
"support": { "support": {
"source": "https://github.com/symfony/var-exporter/tree/v6.4.22" "source": "https://github.com/symfony/var-exporter/tree/v6.4.20"
}, },
"funding": [ "funding": [
{ {
@ -5836,42 +6024,43 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-05-14T13:00:13+00:00" "time": "2025-03-13T09:55:08+00:00"
}, },
{ {
"name": "symfony/web-profiler-bundle", "name": "symfony/web-profiler-bundle",
"version": "v6.4.19", "version": "v5.4.48",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git", "url": "https://github.com/symfony/web-profiler-bundle.git",
"reference": "7d1026a8e950d416cb5148ae88ac23db5d264839" "reference": "4afb0399456b966be92410d2bbd6146cc3ce2174"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/7d1026a8e950d416cb5148ae88ac23db5d264839", "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/4afb0399456b966be92410d2bbd6146cc3ce2174",
"reference": "7d1026a8e950d416cb5148ae88ac23db5d264839", "reference": "4afb0399456b966be92410d2bbd6146cc3ce2174",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/framework-bundle": "^6.4|^7.0", "symfony/framework-bundle": "^5.3|^6.0,<6.4",
"symfony/http-kernel": "^6.4|^7.0", "symfony/http-kernel": "^5.3|^6.0",
"symfony/routing": "^5.4|^6.0|^7.0", "symfony/polyfill-php80": "^1.16",
"symfony/twig-bundle": "^5.4|^6.0", "symfony/routing": "^4.4|^5.0|^6.0",
"symfony/twig-bundle": "^4.4|^5.0|^6.0",
"twig/twig": "^2.13|^3.0.4" "twig/twig": "^2.13|^3.0.4"
}, },
"conflict": { "conflict": {
"symfony/form": "<5.4", "symfony/dependency-injection": "<5.2",
"symfony/form": "<4.4",
"symfony/mailer": "<5.4", "symfony/mailer": "<5.4",
"symfony/messenger": "<5.4", "symfony/messenger": "<4.4"
"symfony/twig-bundle": ">=7.0"
}, },
"require-dev": { "require-dev": {
"symfony/browser-kit": "^5.4|^6.0|^7.0", "symfony/browser-kit": "^4.4|^5.0|^6.0",
"symfony/console": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.0|^6.0",
"symfony/css-selector": "^5.4|^6.0|^7.0", "symfony/css-selector": "^4.4|^5.0|^6.0",
"symfony/stopwatch": "^5.4|^6.0|^7.0" "symfony/stopwatch": "^4.4|^5.0|^6.0"
}, },
"type": "symfony-bundle", "type": "symfony-bundle",
"autoload": { "autoload": {
@ -5898,11 +6087,8 @@
], ],
"description": "Provides a development tool that gives detailed information about the execution of any request", "description": "Provides a development tool that gives detailed information about the execution of any request",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"keywords": [
"dev"
],
"support": { "support": {
"source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.19" "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.48"
}, },
"funding": [ "funding": [
{ {
@ -5918,7 +6104,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-02-14T12:21:59+00:00" "time": "2024-11-19T09:26:40+00:00"
}, },
{ {
"name": "symfony/webpack-encore-bundle", "name": "symfony/webpack-encore-bundle",
@ -5995,28 +6181,31 @@
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v6.4.23", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "93e29e0deb5f1b2e360adfb389a20d25eb81a27b" "reference": "a454d47278cc16a5db371fe73ae66a78a633371e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/93e29e0deb5f1b2e360adfb389a20d25eb81a27b", "url": "https://api.github.com/repos/symfony/yaml/zipball/a454d47278cc16a5db371fe73ae66a78a633371e",
"reference": "93e29e0deb5f1b2e360adfb389a20d25eb81a27b", "reference": "a454d47278cc16a5db371fe73ae66a78a633371e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.1", "php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-ctype": "^1.8" "symfony/polyfill-ctype": "^1.8"
}, },
"conflict": { "conflict": {
"symfony/console": "<5.4" "symfony/console": "<5.3"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^5.4|^6.0|^7.0" "symfony/console": "^5.3|^6.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
}, },
"bin": [ "bin": [
"Resources/bin/yaml-lint" "Resources/bin/yaml-lint"
@ -6047,7 +6236,7 @@
"description": "Loads and dumps YAML files", "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/yaml/tree/v6.4.23" "source": "https://github.com/symfony/yaml/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -6063,20 +6252,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-06-03T06:46:12+00:00" "time": "2024-09-25T14:11:13+00:00"
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
"version": "v3.21.1", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/Twig.git", "url": "https://github.com/twigphp/Twig.git",
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d" "reference": "3468920399451a384bef53cf7996965f7cd40183"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d", "url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d", "reference": "3468920399451a384bef53cf7996965f7cd40183",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6130,7 +6319,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/twigphp/Twig/issues", "issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.21.1" "source": "https://github.com/twigphp/Twig/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -6142,157 +6331,44 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-05-03T07:21:55+00:00" "time": "2025-02-13T08:34:43+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [
{
"name": "phpstan/phpstan",
"version": "2.1.17",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "89b5ef665716fa2a52ecd2633f21007a6a349053"
},
"dist": {
"type": "zip",
"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", "name": "symfony/debug-bundle",
"version": "v6.4.13", "version": "v5.4.45",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug-bundle.git", "url": "https://github.com/symfony/debug-bundle.git",
"reference": "7bcfaff39e094cc09455201916d016d9b2ae08ff" "reference": "653c7629d036ef24ac5de54a157aecdc400d2570"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/7bcfaff39e094cc09455201916d016d9b2ae08ff", "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/653c7629d036ef24ac5de54a157aecdc400d2570",
"reference": "7bcfaff39e094cc09455201916d016d9b2ae08ff", "reference": "653c7629d036ef24ac5de54a157aecdc400d2570",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-xml": "*", "ext-xml": "*",
"php": ">=8.1", "php": ">=7.2.5",
"symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/polyfill-php80": "^1.16",
"symfony/twig-bridge": "^5.4|^6.0|^7.0", "symfony/twig-bridge": "^4.4|^5.0|^6.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0" "symfony/var-dumper": "^4.4|^5.0|^6.0"
}, },
"conflict": { "conflict": {
"symfony/config": "<5.4", "symfony/config": "<4.4",
"symfony/dependency-injection": "<5.4" "symfony/dependency-injection": "<5.2"
}, },
"require-dev": { "require-dev": {
"symfony/config": "^5.4|^6.0|^7.0", "symfony/config": "^4.4|^5.0|^6.0",
"symfony/web-profiler-bundle": "^5.4|^6.0|^7.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"
}, },
"type": "symfony-bundle", "type": "symfony-bundle",
"autoload": { "autoload": {
@ -6320,7 +6396,7 @@
"description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", "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", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/debug-bundle/tree/v6.4.13" "source": "https://github.com/symfony/debug-bundle/tree/v5.4.45"
}, },
"funding": [ "funding": [
{ {
@ -6336,7 +6412,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:18:03+00:00" "time": "2024-09-25T14:11:13+00:00"
} }
], ],
"aliases": [], "aliases": [],
@ -6345,7 +6421,7 @@
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.4", "php": ">=7.2.5",
"ext-ctype": "*", "ext-ctype": "*",
"ext-iconv": "*" "ext-iconv": "*"
}, },

View File

@ -0,0 +1,2 @@
framework:
lock: '%env(LOCK_DSN)%'

View File

@ -8,7 +8,7 @@
# Using SetHandler avoids issues with using ProxyPassMatch in combination # Using SetHandler avoids issues with using ProxyPassMatch in combination
# with mod_rewrite or mod_autoindex # with mod_rewrite or mod_autoindex
<FilesMatch \.php$> <FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.4-fpm.sock|fcgi://127.0.0.1:9000" SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://127.0.0.1:9000"
# for Unix sockets, Apache 2.4.10 or higher # for Unix sockets, Apache 2.4.10 or higher
# SetHandler proxy:unix:/path/to/fpm.sock|fcgi://dummy # SetHandler proxy:unix:/path/to/fpm.sock|fcgi://dummy
</FilesMatch> </FilesMatch>

View File

@ -7,7 +7,7 @@ ARG https_proxy=
ENV WAITFORIT_VERSION="v2.4.1" ENV WAITFORIT_VERSION="v2.4.1"
ARG PHP_VERSION="8.4" ARG PHP_VERSION="8.1"
ENV PHP_VERSION $PHP_VERSION ENV PHP_VERSION $PHP_VERSION
RUN export DEBIAN_FRONTEND=noninteractive && \ 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 # On active les mods d'apache nécessaires
RUN a2enmod rewrite RUN a2enmod rewrite
RUN a2enmod proxy_fcgi setenvif RUN a2enmod proxy_fcgi setenvif
RUN a2enconf php8.4-fpm RUN a2enconf php8.1-fpm
RUN a2enmod proxy RUN a2enmod proxy
RUN a2enmod expires RUN a2enmod expires
RUN a2enmod headers RUN a2enmod headers
# On injecte les bonnes configs apache et php-fpm # On injecte les bonnes configs apache et php-fpm
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
COPY www.conf /etc/php/8.4/fpm/pool.d/www.conf COPY www.conf /etc/php/8.1/fpm/pool.d/www.conf
EXPOSE 5000 EXPOSE 5000
EXPOSE 80 EXPOSE 80
@ -83,8 +83,8 @@ EXPOSE 80
WORKDIR /var/www WORKDIR /var/www
# On démarre php-fpm une fois pour créer les sockets # On démarre php-fpm une fois pour créer les sockets
RUN service php8.4-fpm start RUN service php8.1-fpm start
RUN service php8.4-fpm stop RUN service php8.1-fpm stop
COPY docker-entrypoint.sh /docker-entrypoint.sh 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 rsyslog.conf /etc/rsyslog.d/var/www.conf
COPY supervisor.ini /etc/supervisor/supervisor.ini COPY supervisor.ini /etc/supervisor/supervisor.ini
COPY php.ini /etc/php/8.4/fpm/php.ini COPY php.ini /etc/php/8.1/fpm/php.ini
VOLUME /container-lifecycle VOLUME /container-lifecycle

View File

@ -26,7 +26,7 @@ stderr_logfile_maxbytes=0
[program:php-fpm] [program:php-fpm]
environment=HOSTNAME="%(ENV_HOSTNAME)s" environment=HOSTNAME="%(ENV_HOSTNAME)s"
command = /usr/sbin/php-fpm8.4 -F command = /usr/sbin/php-fpm8.1 -F
autostart = true autostart = true
autorestart = true autorestart = true
directory = /var/www directory = /var/www

View File

@ -6,7 +6,7 @@ error_log=/dev/stderr
user = www-data user = www-data
group = www-data group = www-data
listen = /run/php/php8.4-fpm.sock listen = /run/php/php8.1-fpm.sock
listen.owner = www-data listen.owner = www-data
listen.group = www-data listen.group = www-data

View File

@ -1,23 +1,24 @@
ARG NODE_OPTIONS="--openssl-legacy-provider" \ ARG NODE_OPTIONS="--openssl-legacy-provider" \
PHP_PKG_VERSION="8.4.5-r0" \ PHP_PKG_VERSION="8.1.22-r0" \
ENCORE_MODE="production" \ ENCORE_MODE="production" \
APP_ENV="prod" \ APP_ENV="prod" \
BASE_PATH="" \ BASE_PATH="" \
APP_LOCALES="fr,en" \ APP_LOCALES="fr,en" \
ADDITIONAL_PACKAGES=" \ ADDITIONAL_PACKAGES=" \
php84-gd=${PHP_PKG_VERSION} \ php81-gd=${PHP_PKG_VERSION} \
php84-xsl=${PHP_PKG_VERSION} \ php81-xsl=${PHP_PKG_VERSION} \
php84-pgsql=${PHP_PKG_VERSION} \ php81-pdo=${PHP_PKG_VERSION} \
php84-pdo_pgsql=${PHP_PKG_VERSION} \ php81-pgsql=${PHP_PKG_VERSION} \
php84-soap=${PHP_PKG_VERSION} \ php81-pdo_pgsql=${PHP_PKG_VERSION} \
php84-ldap=${PHP_PKG_VERSION} \ php81-soap=${PHP_PKG_VERSION} \
php84-pdo_mysql=${PHP_PKG_VERSION} \ php81-ldap=${PHP_PKG_VERSION} \
php84-bcmath=${PHP_PKG_VERSION} \ php81-pdo_mysql=${PHP_PKG_VERSION} \
php84-xdebug" \ php81-bcmath=${PHP_PKG_VERSION} \
php81-pecl-xdebug" \
ADDITIONAL_ENV=" \ ADDITIONAL_ENV=" \
ENCORE_MODE=${ENCORE_MODE} \ ENCORE_MODE=${ENCORE_MODE} \
APP_ENV=${APP_ENV} \ APP_ENV=${APP_ENV} \
BASE_PATH=${BASE_PATH} \ BASE_PATH=${BASE_PATH} \
APP_LOCALES=${APP_LOCALES}" APP_LOCALES=${APP_LOCALES}"
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.4-base-2025.6.12-stable.1038.48ea3b9 FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2025.6.12-stable.1038.48ea3b9

View File

@ -1,24 +1,25 @@
ARG NODE_OPTIONS="--openssl-legacy-provider" \ ARG NODE_OPTIONS="--openssl-legacy-provider" \
PHP_PKG_VERSION="8.4.5-r0" \ PHP_PKG_VERSION="8.1.22-r0" \
ENCORE_MODE="production" \ ENCORE_MODE="production" \
APP_ENV="prod" \ APP_ENV="prod" \
BASE_PATH="" \ BASE_PATH="" \
APP_LOCALES="fr,en" \ APP_LOCALES="fr,en" \
ADDITIONAL_PACKAGES=" \ ADDITIONAL_PACKAGES=" \
php84-gd=${PHP_PKG_VERSION} \ php81-gd=${PHP_PKG_VERSION} \
php84-xsl=${PHP_PKG_VERSION} \ php81-xsl=${PHP_PKG_VERSION} \
php84-pgsql=${PHP_PKG_VERSION} \ php81-pdo=${PHP_PKG_VERSION} \
php84-pdo_pgsql=${PHP_PKG_VERSION} \ php81-pgsql=${PHP_PKG_VERSION} \
php84-soap=${PHP_PKG_VERSION} \ php81-pdo_pgsql=${PHP_PKG_VERSION} \
php84-ldap=${PHP_PKG_VERSION} \ php81-soap=${PHP_PKG_VERSION} \
php84-pdo_mysql=${PHP_PKG_VERSION} \ php81-ldap=${PHP_PKG_VERSION} \
php84-bcmath=${PHP_PKG_VERSION} \ php81-pdo_mysql=${PHP_PKG_VERSION} \
php84-xdebug" \ php81-bcmath=${PHP_PKG_VERSION} \
php81-pecl-xdebug" \
ADDITIONAL_ENV=" \ ADDITIONAL_ENV=" \
ENCORE_MODE=${ENCORE_MODE} \ ENCORE_MODE=${ENCORE_MODE} \
APP_ENV=${APP_ENV} \ APP_ENV=${APP_ENV} \
BASE_PATH=${BASE_PATH} \ BASE_PATH=${BASE_PATH} \
APP_LOCALES=${APP_LOCALES}" APP_LOCALES=${APP_LOCALES}"
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.4-standalone-2025.6.12-stable.1038.48ea3b9 FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2025.6.12-stable.1038.48ea3b9
USER www-data USER www-data

View File

@ -1,8 +0,0 @@
parameters:
level: 6
paths:
- bin/
- config/
- public/
- src/
- tests/

View File

@ -1,28 +0,0 @@
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Renaming\Rector\Class_\RenameAttributeRector;
use Rector\Symfony\Set\SymfonySetList;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->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
]);
};

View File

@ -11,17 +11,21 @@ use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
use Symfony\Component\Finder\Exception\AccessDeniedException; use Symfony\Component\Finder\Exception\AccessDeniedException;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
class MainController extends AbstractController class MainController extends AbstractController
{ {
public function __construct( private HydraService $hydra;
private readonly RequestStack $requestStack, private Client $client;
private readonly HydraService $hydra, private SessionInterface $session;
private readonly Client $client
){ public function __construct(SessionInterface $session, HydraService $hydra, Client $client)
{
$this->session = $session;
$this->client = $client;
$this->hydra = $hydra;
} }
#[Route('/', name: 'app_home')] #[Route('/', name: 'app_home')]
@ -34,9 +38,9 @@ class MainController extends AbstractController
* Route de Healthcheck (notament pour kubernetes) * Route de Healthcheck (notament pour kubernetes)
*/ */
#[Route('/health', name: 'health')] #[Route('/health', name: 'health')]
public function health(): Response public function health(Request $request): Response
{ {
return new Response('healthy', Response::HTTP_OK); return new Response('healthy', 200);
} }
#[Route('/connect/login-accept', name: 'app_login_accept', methods: ['GET'])] #[Route('/connect/login-accept', name: 'app_login_accept', methods: ['GET'])]
@ -47,7 +51,7 @@ class MainController extends AbstractController
if (!$user instanceof User) { if (!$user instanceof User) {
throw new AccessDeniedException(); throw new AccessDeniedException();
} }
$challenge = $this->requestStack->getSession()->get('challenge'); $challenge = $this->session->get('challenge');
if (!$challenge) { if (!$challenge) {
return new RedirectResponse($this->getParameter('issuer_url')); return new RedirectResponse($this->getParameter('issuer_url'));
} }

View File

@ -39,12 +39,12 @@ class SecurityController extends AbstractController
} }
return $this->render('login.html.twig', [ return $this->render('login.html.twig', [
'loginForm' => $loginForm, 'loginForm' => $loginForm->createView(),
]); ]);
} }
#[Route('/logout', name: 'logout')] #[Route('/logout', name: 'logout')]
public function logout(): void public function logout(Request $request): void
{ {
} }
} }

View File

@ -8,7 +8,7 @@ use Symfony\Component\Config\Definition\ConfigurationInterface;
class SQLLoginConfiguration implements ConfigurationInterface class SQLLoginConfiguration implements ConfigurationInterface
{ {
public function getConfigTreeBuilder(): TreeBuilder public function getConfigTreeBuilder()
{ {
$treeBuilder = new TreeBuilder('sql_login'); $treeBuilder = new TreeBuilder('sql_login');
$treeBuilder->getRootNode()->children() $treeBuilder->getRootNode()->children()

View File

@ -9,12 +9,14 @@ class User implements UserInterface
private array $attributes = []; private array $attributes = [];
private string $login; private string $login;
private string $password; private string $password;
private bool $rememberMe;
public function __construct($login, $password, $attributes) public function __construct($login, $password, $attributes, $rememberMe = false)
{ {
$this->password = $password; $this->password = $password;
$this->login = $login; $this->login = $login;
$this->attributes = $attributes; $this->attributes = $attributes;
$this->rememberMe = $rememberMe;
} }
public function getLogin(): ?string public function getLogin(): ?string
@ -32,6 +34,11 @@ class User implements UserInterface
return $this->attributes; return $this->attributes;
} }
public function getRememberMe(): bool
{
return $this->rememberMe;
}
public function getRoles(): array public function getRoles(): array
{ {
return ['ROLE_USER']; return ['ROLE_USER'];

View File

@ -8,8 +8,8 @@ use Symfony\Contracts\HttpClient\ResponseInterface;
class Client class Client
{ {
private const int MAX_RETRY = 3; private const MAX_RETRY = 3;
private const array SLEEP_TIME = [ private const SLEEP_TIME = [
5, 5,
500, 500,
5000, 5000,
@ -78,7 +78,7 @@ class Client
$status = $response->getStatusCode(); $status = $response->getStatusCode();
if (503 === $status) { if (503 === $status) {
++$attempt; ++$attempt;
usleep(1000 * self::SLEEP_TIME[$attempt] + random_int(1, 5) * 1000); usleep(1000 * self::SLEEP_TIME[$attempt] + rand(1, 5) * 1000);
continue; continue;
} }
switch ($status) { switch ($status) {

View File

@ -8,18 +8,23 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Exception\BadRequestException; use Symfony\Component\HttpFoundation\Exception\BadRequestException;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Component\Security\Core\Exception\AccessDeniedException; use Symfony\Component\Security\Core\Exception\AccessDeniedException;
class HydraService extends AbstractController class HydraService extends AbstractController
{ {
public function __construct( private SessionInterface $session;
private readonly Client $client, private Client $client;
private readonly RequestStack $requestStack, private TokenStorageInterface $tokenStorage;
private readonly TokenStorageInterface $tokenStorage, private string $baseUrl;
private readonly 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 handleLoginRequest(Request $request): RedirectResponse public function handleLoginRequest(Request $request): RedirectResponse
@ -33,11 +38,11 @@ class HydraService extends AbstractController
$res = $this->client->fetchLoginRequestInfo($challenge); $res = $this->client->fetchLoginRequestInfo($challenge);
$loginRequestInfo = $res->toArray(); $loginRequestInfo = $res->toArray();
if (200 !== $res->getStatusCode()) { if (200 !== $res->getStatusCode()) {
$this->requestStack->getSession()->clear(); $this->session->clear();
throw new BadRequestException(); 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 // 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->requestStack->getSession()->set('challenge', $loginRequestInfo['challenge']); $this->session->set('challenge', $loginRequestInfo['challenge']);
return new RedirectResponse($this->baseUrl.'/connect/login-accept'); return new RedirectResponse($this->baseUrl.'/connect/login-accept');
} }
@ -72,7 +77,7 @@ class HydraService extends AbstractController
} }
$logoutRequestInfo = $this->client->fetchLogoutRequestInfo($logoutChallenge)->toArray(); $logoutRequestInfo = $this->client->fetchLogoutRequestInfo($logoutChallenge)->toArray();
$logoutAcceptRes = $this->client->acceptLogoutRequest($logoutRequestInfo['challenge'])->toArray(); $logoutAcceptRes = $this->client->acceptLogoutRequest($logoutRequestInfo['challenge'])->toArray();
$this->requestStack->getSession()->clear(); $this->session->clear();
$this->tokenStorage->setToken(null); $this->tokenStorage->setToken(null);
return new RedirectResponse($logoutAcceptRes['redirect_to']); return new RedirectResponse($logoutAcceptRes['redirect_to']);

View File

@ -10,16 +10,16 @@ use App\SQLLogin\Exception\EmptyResultException;
use App\SQLLogin\Exception\InvalidSQLPasswordException; use App\SQLLogin\Exception\InvalidSQLPasswordException;
use App\SQLLogin\Exception\SecurityPatternConfigurationException; use App\SQLLogin\Exception\SecurityPatternConfigurationException;
use App\SQLLogin\SQLLoginRequest; use App\SQLLogin\SQLLoginRequest;
use PDOException;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Exception\AuthenticationException; use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Core\Exception\UserNotFoundException; use Symfony\Component\Security\Core\Security;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator; 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\Badge\UserBadge;
use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport; use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport;
use Symfony\Component\Security\Http\SecurityRequestAttributes;
class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
{ {
@ -27,12 +27,18 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
public const ERROR_LOGIN = 'error_login'; public const ERROR_LOGIN = 'error_login';
public const TECHNICAL_ERROR = 'technical_error'; public const TECHNICAL_ERROR = 'technical_error';
private string $baseUrl;
public function __construct( public function __construct(
private readonly string $baseUrl, string $baseUrl,
private readonly SQLLoginService $sqlLoginService, private SQLLoginService $sqlLoginService,
private readonly PasswordEncoder $passwordHasher, private PasswordEncoder $passwordHasher,
private readonly SQLLoginRequest $sqlLoginRequest private SQLLoginRequest $sqlLoginRequest
) { ) {
$this->baseUrl = $baseUrl;
$this->sqlLoginService = $sqlLoginService;
$this->passwordHasher = $passwordHasher;
$this->sqlLoginRequest = $sqlLoginRequest;
} }
/** /**
@ -52,23 +58,24 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
public function onAuthenticationFailure(Request $request, AuthenticationException $exception): RedirectResponse public function onAuthenticationFailure(Request $request, AuthenticationException $exception): RedirectResponse
{ {
$request->getSession()->set(SecurityRequestAttributes::AUTHENTICATION_ERROR, $exception); $request->getSession()->set(Security::AUTHENTICATION_ERROR, $exception);
return new RedirectResponse($this->baseUrl.'/login'); return new RedirectResponse($this->baseUrl.'/login');
} }
public function authenticate(Request $request): SelfValidatingPassport public function authenticate(Request $request): SelfValidatingPassport
{ {
$form = $request->request->all(key: 'login'); $form = $request->request->get('login');
$login = $form['login']; $login = $form['login'];
$plaintextPassword = $form['password']; $plaintextPassword = $form['password'];
$rememberMe = isset($form['_remember_me']) ? true : false;
$session = $request->getSession(); $session = $request->getSession();
try { try {
$datas = $this->sqlLoginService->fetchPasswordAndDatas($login); $datas = $this->sqlLoginService->fetchPasswordAndDatas($login);
} catch (EmptyResultException $e) { } catch (EmptyResultException $e) {
$session->set(self::ERROR_LOGIN, true); $session->set(self::ERROR_LOGIN, true);
throw new AuthenticationException(); throw new AuthenticationException();
} catch (DataToFetchConfigurationException|\PDOException $e) { } catch (DataToFetchConfigurationException|PDOException $e) {
\Sentry\captureException($e); \Sentry\captureException($e);
$session->set(self::TECHNICAL_ERROR, true); $session->set(self::TECHNICAL_ERROR, true);
throw new AuthenticationException(); throw new AuthenticationException();
@ -94,18 +101,14 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
$session->set(self::TECHNICAL_ERROR, true); $session->set(self::TECHNICAL_ERROR, true);
throw new AuthenticationException(); throw new AuthenticationException();
} }
$user = new User($login, $remoteHashedPassword, $datas, $rememberMe);
$user = new User($login, $remoteHashedPassword, $datas); $loader = function (string $userIdentifier) use ($user) {
return $user->getLogin() == $userIdentifier ? $user : null;
$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)); $passport = new SelfValidatingPassport(new UserBadge($login, $loader));
if ($rememberMe) {
$passport->addBadge(new RememberMeBadge());
}
$passport->setAttribute('attributes', $user->getAttributes()); $passport->setAttribute('attributes', $user->getAttributes());
return $passport; return $passport;

View File

@ -3,48 +3,45 @@
namespace App\Security; namespace App\Security;
use App\Entity\User; use App\Entity\User;
use App\Service\SQLLoginService;
use App\SQLLogin\SQLLoginRequest;
use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException; 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\UserInterface;
use Symfony\Component\Security\Core\User\UserProviderInterface; use Symfony\Component\Security\Core\User\UserProviderInterface;
class SQLLoginUserProvider implements UserProviderInterface class SQLLoginUserProvider implements UserProviderInterface
{ {
public function __construct( protected RequestStack $requestStack;
private readonly RequestStack $requestStack,
private readonly SQLLoginService $sqlLoginService,
private readonly SQLLoginRequest $sqlLoginRequest
){
}
public function loadUserByIdentifier(string $identifier): UserInterface public function __construct(RequestStack $requestStack)
{ {
$user = $this->sqlLoginService->fetchPasswordAndDatas($identifier); $this->requestStack = $requestStack;
$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 new User($user[$this->sqlLoginRequest->getLoginColumnName()], $user[$this->sqlLoginRequest->getPasswordColumnName()], $attributes); public function loadUserByIdentifier(string $identifier, ?User $user): ?UserInterface
{
if ($user->getUserIdentifier() === $identifier) {
return $user;
} }
public function refreshUser(UserInterface $user): UserInterface return null;
}
public function loadUserByUsername(string $username): ?UserInterface
{
return $this->loadUserByIdentifier($username, null);
}
public function refreshUser(UserInterface $user): UserInterface|null
{ {
if (!$user instanceof User) { if (!$user instanceof User) {
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user))); throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
} }
return $this->loadUserByIdentifier($user->getUserIdentifier()); return $this->loadUserByIdentifier($user->getUserIdentifier(), $user);
} }
public function supportsClass(string $class): bool 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);
} }
} }

View File

@ -8,7 +8,6 @@ use App\SQLLogin\SQLLoginRequest;
use PDO; use PDO;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Security\Core\User\UserInterface;
class SQLLoginService extends AbstractController class SQLLoginService extends AbstractController
{ {
@ -22,9 +21,6 @@ class SQLLoginService extends AbstractController
$this->loggerInterface = $loggerInterface; $this->loggerInterface = $loggerInterface;
} }
/**
* @return array<string,string>
*/
public function fetchPasswordAndDatas(string $login): array public function fetchPasswordAndDatas(string $login): array
{ {
$dataRequest = $this->sqlLoginRequest->getDatasRequest(); $dataRequest = $this->sqlLoginRequest->getDatasRequest();
@ -34,9 +30,6 @@ class SQLLoginService extends AbstractController
return $datas; return $datas;
} }
/**
* @return array<string,string>
*/
private function executeRequestWithLogin(string $request, string $login): array private function executeRequestWithLogin(string $request, string $login): array
{ {
$attempt = 0; $attempt = 0;

View File

@ -11,15 +11,6 @@
"config/routes/annotations.yaml" "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": { "php-http/discovery": {
"version": "1.19", "version": "1.19",
"recipe": { "recipe": {
@ -32,18 +23,6 @@
"config/packages/http_discovery.yaml" "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": { "sentry/sentry-symfony": {
"version": "4.14", "version": "4.14",
"recipe": { "recipe": {
@ -123,6 +102,18 @@
"src/Kernel.php" "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": { "symfony/routing": {
"version": "5.4", "version": "5.4",
"recipe": { "recipe": {

View File

@ -13,6 +13,10 @@
<source>form.label.password</source> <source>form.label.password</source>
<target>Password *</target> <target>Password *</target>
</trans-unit> </trans-unit>
<trans-unit id="t17Vcvs" resname="form.label.remember_me">
<source>form.label.remember_me</source>
<target>Remember me</target>
</trans-unit>
<trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error"> <trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error">
<source>altcha.validator.server_validation_error</source> <source>altcha.validator.server_validation_error</source>
<target>Verification failed. Try again later.</target> <target>Verification failed. Try again later.</target>

View File

@ -13,6 +13,10 @@
<source>form.label.password</source> <source>form.label.password</source>
<target>Mot de passe *</target> <target>Mot de passe *</target>
</trans-unit> </trans-unit>
<trans-unit id="t17Vcvs" resname="form.label.remember_me">
<source>form.label.remember_me</source>
<target>Se souvenir de moi</target>
</trans-unit>
<trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error"> <trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error">
<source>altcha.validator.server_validation_error</source> <source>altcha.validator.server_validation_error</source>
<target>Échec de la vérification. Réessayez plus tard.</target> <target>Échec de la vérification. Réessayez plus tard.</target>