diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 07b25c62..4167f422 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -52,7 +52,7 @@ jobs:
- name: PHPStan
if: always() && steps.install.outcome == 'success'
- run: vendor/bin/phpstan analyse --ansi
+ run: vendor/bin/phpstan analyse --memory-limit=512M --ansi
- name: Rector
if: always() && steps.install.outcome == 'success'
@@ -84,4 +84,4 @@ jobs:
- name: Check if any dependencies are compromised
if: always() && steps.install.outcome == 'success'
- run: composer audit --ansi
+ run: composer audit --abandoned=report --ansi
diff --git a/.gitignore b/.gitignore
index 6435838a..c98ea988 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
/drivers/
/.idea/
+/.vscode
/public/uploads/images/*/*.*
###> symfony/framework-bundle ###
diff --git a/assets/js/properties-map.js b/assets/js/properties-map.js
new file mode 100644
index 00000000..f4df710a
--- /dev/null
+++ b/assets/js/properties-map.js
@@ -0,0 +1,52 @@
+/** global: ymaps */
+
+const $map = $('#map');
+const markers = $map.data('markers') || [];
+const center = $map.data('center') || [27.188534, -81.128735];
+const zoom = Number($map.data('zoom')) || 7;
+const viewDetailsLabel = $map.data('viewDetails') || 'View details';
+
+function escapeHtml(value) {
+ return String(value)
+ .replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+}
+
+function init() {
+ const myMap = new ymaps.Map('map', {
+ center: center,
+ zoom: zoom,
+ });
+
+ markers.forEach((marker) => {
+ const price = escapeHtml(marker.price);
+ const category = escapeHtml(marker.category);
+ const url = escapeHtml(marker.url);
+ const label = escapeHtml(viewDetailsLabel);
+
+ const geoObject = new ymaps.GeoObject({
+ geometry: {
+ type: 'Point',
+ coordinates: [marker.lat, marker.lng],
+ },
+ properties: {
+ hintContent: price,
+ balloonContentHeader: price,
+ balloonContentBody: `${category}
${label}`,
+ },
+ }, {preset: 'islands#blueHomeIcon'});
+
+ myMap.geoObjects.add(geoObject);
+ });
+}
+
+ymaps.ready(init);
+
+$map.css({
+ width: '100%',
+ height: '85vh',
+ 'min-height': '400px',
+});
diff --git a/composer.json b/composer.json
index e89904cf..0d37c3a8 100644
--- a/composer.json
+++ b/composer.json
@@ -19,43 +19,43 @@
"phpdocumentor/reflection-docblock": "^5.4",
"scheb/2fa-bundle": "^7.5",
"scheb/2fa-google-authenticator": "^7.5",
- "symfony/asset": "^7.1",
- "symfony/cache": "^7.1",
- "symfony/console": "^7.1",
- "symfony/dotenv": "^7.1",
- "symfony/expression-language": "^7.1",
+ "symfony/asset": "^7.4",
+ "symfony/cache": "^7.4",
+ "symfony/console": "^7.4",
+ "symfony/dotenv": "^7.4",
+ "symfony/expression-language": "^7.4",
"symfony/flex": "^2",
- "symfony/form": "^7.1",
- "symfony/framework-bundle": "^7.1",
- "symfony/google-mailer": "^7.1",
- "symfony/http-client": "^7.1",
- "symfony/intl": "^7.1",
- "symfony/lock": "^7.1",
- "symfony/mailer": "^7.1",
- "symfony/messenger": "^7.1",
- "symfony/monolog-bridge": "^7.1",
+ "symfony/form": "^7.4",
+ "symfony/framework-bundle": "^7.4",
+ "symfony/google-mailer": "^7.4",
+ "symfony/http-client": "^7.4",
+ "symfony/intl": "^7.4",
+ "symfony/lock": "^7.4",
+ "symfony/mailer": "^7.4",
+ "symfony/messenger": "^7.4",
+ "symfony/monolog-bridge": "^7.4",
"symfony/monolog-bundle": "^3.10",
- "symfony/notifier": "^7.1",
- "symfony/process": "^7.1",
- "symfony/property-access": "^7.1",
- "symfony/property-info": "^7.1",
+ "symfony/notifier": "^7.4",
+ "symfony/process": "^7.4",
+ "symfony/property-access": "^7.4",
+ "symfony/property-info": "^7.4",
"symfony/proxy-manager-bridge": "^6.4",
- "symfony/rate-limiter": "^7.1",
- "symfony/runtime": "^7.1",
- "symfony/security-bundle": "^7.1",
- "symfony/serializer": "^7.1",
- "symfony/string": "^7.1",
- "symfony/translation": "^7.1",
- "symfony/twig-bundle": "^7.1",
- "symfony/validator": "^7.1",
- "symfony/web-link": "^7.1",
+ "symfony/rate-limiter": "^7.4",
+ "symfony/runtime": "^7.4",
+ "symfony/security-bundle": "^7.4",
+ "symfony/serializer": "^7.4",
+ "symfony/string": "^7.4",
+ "symfony/translation": "^7.4",
+ "symfony/twig-bundle": "^7.4",
+ "symfony/validator": "^7.4",
+ "symfony/web-link": "^7.4",
"symfony/webpack-encore-bundle": "^2.1",
- "symfony/yaml": "^7.1",
+ "symfony/yaml": "^7.4",
"symfonycasts/verify-email-bundle": "^1.17",
- "twig/extra-bundle": "^3.10",
- "twig/intl-extra": "^3.10",
- "twig/string-extra": "^3.10",
- "twig/twig": "^v3.10",
+ "twig/extra-bundle": "^3.22",
+ "twig/intl-extra": "^3.26",
+ "twig/string-extra": "^3.22",
+ "twig/twig": "^3.27",
"voku/portable-ascii": "^1.6"
},
"require-dev": {
@@ -65,14 +65,14 @@
"friendsofphp/php-cs-fixer": "^3.59",
"phpunit/phpunit": "^9.6",
"rector/rector": "^2.0",
- "symfony/browser-kit": "^7.1",
- "symfony/css-selector": "^7.1",
- "symfony/debug-bundle": "^7.1",
+ "symfony/browser-kit": "^7.4",
+ "symfony/css-selector": "^7.4",
+ "symfony/debug-bundle": "^7.4",
"symfony/maker-bundle": "^1.60",
"symfony/panther": "^2.1",
- "symfony/phpunit-bridge": "^7.1",
- "symfony/stopwatch": "^7.1",
- "symfony/web-profiler-bundle": "^7.1"
+ "symfony/phpunit-bridge": "^7.4",
+ "symfony/stopwatch": "^7.4",
+ "symfony/web-profiler-bundle": "^7.4"
},
"config": {
"platform": {
@@ -86,6 +86,9 @@
"allow-plugins": {
"symfony/flex": true,
"symfony/runtime": true
+ },
+ "audit": {
+ "abandoned": "report"
}
},
"autoload": {
@@ -110,7 +113,7 @@
"php-cs-fixer": "php-cs-fixer fix",
"lint": [
"@php-cs-fixer",
- "phpstan analyse",
+ "phpstan analyse --memory-limit=512M",
"rector process"
],
"auto-scripts": {
@@ -130,7 +133,7 @@
"extra": {
"symfony": {
"allow-contrib": true,
- "require": "7.1.*",
+ "require": "7.4.*",
"docker": true
}
}
diff --git a/composer.lock b/composer.lock
index 1fbf79d5..f101462a 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "d715ac06371aa22cdc758e9e4f37e580",
+ "content-hash": "462c0d16c70eddfa6c60933ba270be7d",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -184,6 +184,7 @@
"issues": "https://github.com/doctrine/annotations/issues",
"source": "https://github.com/doctrine/annotations/tree/2.0.2"
},
+ "abandoned": true,
"time": "2024-09-05T10:17:24+00:00"
},
{
@@ -277,33 +278,34 @@
"type": "tidelift"
}
],
+ "abandoned": true,
"time": "2022-05-20T20:07:39+00:00"
},
{
"name": "doctrine/collections",
- "version": "2.2.2",
+ "version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
- "reference": "d8af7f248c74f195f7347424600fd9e17b57af59"
+ "reference": "7713da39d8e237f28411d6a616a3dce5e20d5de2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/d8af7f248c74f195f7347424600fd9e17b57af59",
- "reference": "d8af7f248c74f195f7347424600fd9e17b57af59",
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/7713da39d8e237f28411d6a616a3dce5e20d5de2",
+ "reference": "7713da39d8e237f28411d6a616a3dce5e20d5de2",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1",
- "php": "^8.1"
+ "php": "^8.1",
+ "symfony/polyfill-php84": "^1.30"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
+ "doctrine/coding-standard": "^14",
"ext-json": "*",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.11"
+ "phpstan/phpstan": "^2.1.30",
+ "phpstan/phpstan-phpunit": "^2.0.7",
+ "phpunit/phpunit": "^10.5.58 || ^11.5.42 || ^12.4"
},
"type": "library",
"autoload": {
@@ -347,7 +349,7 @@
],
"support": {
"issues": "https://github.com/doctrine/collections/issues",
- "source": "https://github.com/doctrine/collections/tree/2.2.2"
+ "source": "https://github.com/doctrine/collections/tree/2.6.0"
},
"funding": [
{
@@ -363,7 +365,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T06:56:21+00:00"
+ "time": "2026-01-15T10:01:58+00:00"
},
{
"name": "doctrine/common",
@@ -571,26 +573,29 @@
},
{
"name": "doctrine/deprecations",
- "version": "1.1.4",
+ "version": "1.1.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9"
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9",
- "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
+ "conflict": {
+ "phpunit/phpunit": "<=7.5 || >=14"
+ },
"require-dev": {
- "doctrine/coding-standard": "^9 || ^12",
- "phpstan/phpstan": "1.4.10 || 2.0.3",
+ "doctrine/coding-standard": "^9 || ^12 || ^14",
+ "phpstan/phpstan": "1.4.10 || 2.1.30",
"phpstan/phpstan-phpunit": "^1.0 || ^2",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0",
"psr/log": "^1 || ^2 || ^3"
},
"suggest": {
@@ -610,9 +615,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.4"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.6"
},
- "time": "2024-12-07T21:18:45+00:00"
+ "time": "2026-02-07T07:09:04+00:00"
},
{
"name": "doctrine/doctrine-bundle",
@@ -828,16 +833,16 @@
},
{
"name": "doctrine/event-manager",
- "version": "2.0.1",
+ "version": "2.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e"
+ "reference": "dda33921b198841ca8dbad2eaa5d4d34769d18cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e",
+ "url": "https://api.github.com/repos/doctrine/event-manager/zipball/dda33921b198841ca8dbad2eaa5d4d34769d18cf",
+ "reference": "dda33921b198841ca8dbad2eaa5d4d34769d18cf",
"shasum": ""
},
"require": {
@@ -847,10 +852,10 @@
"doctrine/common": "<2.9"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.8.8",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.24"
+ "doctrine/coding-standard": "^14",
+ "phpdocumentor/guides-cli": "^1.4",
+ "phpstan/phpstan": "^2.1.32",
+ "phpunit/phpunit": "^10.5.58"
},
"type": "library",
"autoload": {
@@ -899,7 +904,7 @@
],
"support": {
"issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/2.0.1"
+ "source": "https://github.com/doctrine/event-manager/tree/2.1.1"
},
"funding": [
{
@@ -915,37 +920,36 @@
"type": "tidelift"
}
],
- "time": "2024-05-22T20:47:39+00:00"
+ "time": "2026-01-29T07:11:08+00:00"
},
{
"name": "doctrine/inflector",
- "version": "2.0.10",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc"
+ "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc",
- "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b",
+ "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^11.0",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.3",
- "phpunit/phpunit": "^8.5 || ^9.5",
- "vimeo/psalm": "^4.25 || ^5.4"
+ "doctrine/coding-standard": "^12.0 || ^13.0",
+ "phpstan/phpstan": "^1.12 || ^2.0",
+ "phpstan/phpstan-phpunit": "^1.4 || ^2.0",
+ "phpstan/phpstan-strict-rules": "^1.6 || ^2.0",
+ "phpunit/phpunit": "^8.5 || ^12.2"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
+ "Doctrine\\Inflector\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -990,7 +994,7 @@
],
"support": {
"issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.10"
+ "source": "https://github.com/doctrine/inflector/tree/2.1.0"
},
"funding": [
{
@@ -1006,7 +1010,7 @@
"type": "tidelift"
}
],
- "time": "2024-02-18T20:23:39+00:00"
+ "time": "2025-08-10T19:31:58+00:00"
},
{
"name": "doctrine/instantiator",
@@ -1080,27 +1084,25 @@
},
{
"name": "doctrine/lexer",
- "version": "3.0.1",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/lexer.git",
- "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd"
+ "reference": "e96fe45e92a54233726014a7cc7340abf29bb14c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd",
- "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/e96fe45e92a54233726014a7cc7340abf29bb14c",
+ "reference": "e96fe45e92a54233726014a7cc7340abf29bb14c",
"shasum": ""
},
"require": {
"php": "^8.1"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^10.5",
- "psalm/plugin-phpunit": "^0.18.3",
- "vimeo/psalm": "^5.21"
+ "doctrine/coding-standard": "^14",
+ "phpstan/phpstan": "^2",
+ "phpunit/phpunit": "^10.5.58 || ^12.5.4"
},
"type": "library",
"autoload": {
@@ -1137,7 +1139,7 @@
],
"support": {
"issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/3.0.1"
+ "source": "https://github.com/doctrine/lexer/tree/3.0.2"
},
"funding": [
{
@@ -1153,7 +1155,7 @@
"type": "tidelift"
}
],
- "time": "2024-02-05T11:56:58+00:00"
+ "time": "2026-06-14T20:44:06+00:00"
},
{
"name": "doctrine/migrations",
@@ -1362,16 +1364,16 @@
},
{
"name": "doctrine/persistence",
- "version": "3.4.0",
+ "version": "3.4.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
- "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff"
+ "reference": "703a29d8597336fb75f42eeabcdf3f2863156ca8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/persistence/zipball/0ea965320cec355dba75031c1b23d4c78362e3ff",
- "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff",
+ "url": "https://api.github.com/repos/doctrine/persistence/zipball/703a29d8597336fb75f42eeabcdf3f2863156ca8",
+ "reference": "703a29d8597336fb75f42eeabcdf3f2863156ca8",
"shasum": ""
},
"require": {
@@ -1383,18 +1385,18 @@
"doctrine/common": "<2.10"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
+ "doctrine/coding-standard": "^12 || ^14",
"doctrine/common": "^3.0",
- "phpstan/phpstan": "1.12.7",
- "phpstan/phpstan-phpunit": "^1",
- "phpstan/phpstan-strict-rules": "^1.1",
+ "phpstan/phpstan": "^1 || 2.1.30",
+ "phpstan/phpstan-phpunit": "^1 || ^2",
+ "phpstan/phpstan-strict-rules": "^1 || ^2",
"phpunit/phpunit": "^8.5.38 || ^9.5",
"symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Persistence\\": "src/Persistence"
+ "Doctrine\\Persistence\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1438,7 +1440,7 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
- "source": "https://github.com/doctrine/persistence/tree/3.4.0"
+ "source": "https://github.com/doctrine/persistence/tree/3.4.5"
},
"funding": [
{
@@ -1454,7 +1456,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-30T19:48:12+00:00"
+ "time": "2026-06-13T19:29:35+00:00"
},
{
"name": "doctrine/sql-formatter",
@@ -1514,16 +1516,16 @@
},
{
"name": "egulias/email-validator",
- "version": "4.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "b115554301161fa21467629f1e1391c1936de517"
+ "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517",
- "reference": "b115554301161fa21467629f1e1391c1936de517",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa",
+ "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa",
"shasum": ""
},
"require": {
@@ -1569,7 +1571,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/4.0.3"
+ "source": "https://github.com/egulias/EmailValidator/tree/4.0.4"
},
"funding": [
{
@@ -1577,7 +1579,7 @@
"type": "github"
}
],
- "time": "2024-12-27T00:36:43+00:00"
+ "time": "2025-03-06T22:45:56+00:00"
},
{
"name": "endroid/qr-code",
@@ -1656,22 +1658,22 @@
},
{
"name": "friendsofphp/proxy-manager-lts",
- "version": "v1.0.18",
+ "version": "v1.0.19",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git",
- "reference": "2c8a6cffc3220e99352ad958fe7cf06bf6f7690f"
+ "reference": "c20299aa9f48a622052964a75c5a4cef017398b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/2c8a6cffc3220e99352ad958fe7cf06bf6f7690f",
- "reference": "2c8a6cffc3220e99352ad958fe7cf06bf6f7690f",
+ "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/c20299aa9f48a622052964a75c5a4cef017398b2",
+ "reference": "c20299aa9f48a622052964a75c5a4cef017398b2",
"shasum": ""
},
"require": {
"laminas/laminas-code": "~3.4.1|^4.0",
"php": ">=7.1",
- "symfony/filesystem": "^4.4.17|^5.0|^6.0|^7.0"
+ "symfony/filesystem": "^4.4.17|^5.0|^6.0|^7.0|^8.0"
},
"conflict": {
"laminas/laminas-stdlib": "<3.2.1",
@@ -1722,7 +1724,7 @@
],
"support": {
"issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues",
- "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.18"
+ "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.19"
},
"funding": [
{
@@ -1734,7 +1736,7 @@
"type": "tidelift"
}
],
- "time": "2024-03-20T12:50:41+00:00"
+ "time": "2025-10-28T10:28:17+00:00"
},
{
"name": "gregwar/cache",
@@ -2003,27 +2005,27 @@
},
{
"name": "laminas/laminas-code",
- "version": "4.16.0",
+ "version": "4.17.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-code.git",
- "reference": "1793e78dad4108b594084d05d1fb818b85b110af"
+ "reference": "40d61e2899ec17c5d08bbc0a2d586b3ca17ab9bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-code/zipball/1793e78dad4108b594084d05d1fb818b85b110af",
- "reference": "1793e78dad4108b594084d05d1fb818b85b110af",
+ "url": "https://api.github.com/repos/laminas/laminas-code/zipball/40d61e2899ec17c5d08bbc0a2d586b3ca17ab9bd",
+ "reference": "40d61e2899ec17c5d08bbc0a2d586b3ca17ab9bd",
"shasum": ""
},
"require": {
- "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0"
},
"require-dev": {
"doctrine/annotations": "^2.0.1",
"ext-phar": "*",
"laminas/laminas-coding-standard": "^3.0.0",
"laminas/laminas-stdlib": "^3.18.0",
- "phpunit/phpunit": "^10.5.37",
+ "phpunit/phpunit": "^10.5.58",
"psalm/plugin-phpunit": "^0.19.0",
"vimeo/psalm": "^5.15.0"
},
@@ -2062,20 +2064,20 @@
"type": "community_bridge"
}
],
- "time": "2024-11-20T13:15:13+00:00"
+ "time": "2025-11-01T09:38:14+00:00"
},
{
"name": "monolog/monolog",
- "version": "3.8.1",
+ "version": "3.12.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4"
+ "reference": "72c534fc0ab181ef52d92a68382318631e301608"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4",
- "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/72c534fc0ab181ef52d92a68382318631e301608",
+ "reference": "72c534fc0ab181ef52d92a68382318631e301608",
"shasum": ""
},
"require": {
@@ -2093,7 +2095,7 @@
"graylog2/gelf-php": "^1.4.2 || ^2.0",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
- "mongodb/mongodb": "^1.8",
+ "mongodb/mongodb": "^1.8 || ^2.0",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"php-console/php-console": "^3.1.8",
"phpstan/phpstan": "^2",
@@ -2101,6 +2103,7 @@
"phpstan/phpstan-strict-rules": "^2",
"phpunit/phpunit": "^10.5.17 || ^11.0.7",
"predis/predis": "^1.1 || ^2",
+ "psr/clock": "^1.0",
"rollbar/rollbar": "^4.0",
"ruflin/elastica": "^7 || ^8",
"symfony/mailer": "^5.4 || ^6",
@@ -2119,6 +2122,7 @@
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
"mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+ "psr/clock": "Required to pass a clock to the Logger and control the timestamp of log records",
"rollbar/rollbar": "Allow sending log messages to Rollbar",
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
},
@@ -2153,7 +2157,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.8.1"
+ "source": "https://github.com/Seldaek/monolog/tree/3.12.0"
},
"funding": [
{
@@ -2165,28 +2169,30 @@
"type": "tidelift"
}
],
- "time": "2024-12-05T17:15:07+00:00"
+ "time": "2026-09-09T08:34:20+00:00"
},
{
"name": "paragonie/constant_time_encoding",
- "version": "v3.0.0",
+ "version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
"shasum": ""
},
"require": {
"php": "^8"
},
"require-dev": {
- "phpunit/phpunit": "^9",
- "vimeo/psalm": "^4|^5"
+ "infection/infection": "^0",
+ "nikic/php-fuzzer": "^0",
+ "phpunit/phpunit": "^9|^10|^11",
+ "vimeo/psalm": "^4|^5|^6"
},
"type": "library",
"autoload": {
@@ -2232,7 +2238,7 @@
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
- "time": "2024-05-08T12:36:18+00:00"
+ "time": "2025-09-24T15:06:41+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -2881,38 +2887,26 @@
},
{
"name": "spomky-labs/otphp",
- "version": "11.3.0",
+ "version": "11.5.0",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/otphp.git",
- "reference": "2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33"
+ "reference": "877683d6352b80cdc7020fd43a725629c2524435"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33",
- "reference": "2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33",
+ "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/877683d6352b80cdc7020fd43a725629c2524435",
+ "reference": "877683d6352b80cdc7020fd43a725629c2524435",
"shasum": ""
},
"require": {
- "ext-mbstring": "*",
"paragonie/constant_time_encoding": "^2.0 || ^3.0",
"php": ">=8.1",
"psr/clock": "^1.0",
"symfony/deprecation-contracts": "^3.2"
},
"require-dev": {
- "ekino/phpstan-banned-code": "^1.0",
- "infection/infection": "^0.26|^0.27|^0.28|^0.29",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.0",
- "phpunit/phpunit": "^9.5.26|^10.0|^11.0",
- "qossmic/deptrac-shim": "^1.0",
- "rector/rector": "^1.0",
- "symfony/phpunit-bridge": "^6.1|^7.0",
- "symplify/easy-coding-standard": "^12.0"
+ "symfony/error-handler": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -2947,7 +2941,7 @@
],
"support": {
"issues": "https://github.com/Spomky-Labs/otphp/issues",
- "source": "https://github.com/Spomky-Labs/otphp/tree/11.3.0"
+ "source": "https://github.com/Spomky-Labs/otphp/tree/11.5.0"
},
"funding": [
{
@@ -2959,20 +2953,20 @@
"type": "patreon"
}
],
- "time": "2024-06-12T11:22:32+00:00"
+ "time": "2026-06-06T23:41:24+00:00"
},
{
"name": "symfony/asset",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset.git",
- "reference": "0dcd51490d7fc9fbf3c8f5aec6df182920fc0426"
+ "reference": "d2e2f014ccd6ec9fae8dbe6336a4164346a2a856"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/0dcd51490d7fc9fbf3c8f5aec6df182920fc0426",
- "reference": "0dcd51490d7fc9fbf3c8f5aec6df182920fc0426",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/d2e2f014ccd6ec9fae8dbe6336a4164346a2a856",
+ "reference": "d2e2f014ccd6ec9fae8dbe6336a4164346a2a856",
"shasum": ""
},
"require": {
@@ -2982,9 +2976,9 @@
"symfony/http-foundation": "<6.4"
},
"require-dev": {
- "symfony/http-client": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3012,7 +3006,7 @@
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/asset/tree/v7.1.6"
+ "source": "https://github.com/symfony/asset/tree/v7.4.8"
},
"funding": [
{
@@ -3023,38 +3017,43 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/cache",
- "version": "v7.1.9",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "18e0ba45a50032aa53dfebf830ec2980bb131591"
+ "reference": "e037fd41e9f8ec9ac270e2a4c76a1992d18d808c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/18e0ba45a50032aa53dfebf830ec2980bb131591",
- "reference": "18e0ba45a50032aa53dfebf830ec2980bb131591",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/e037fd41e9f8ec9ac270e2a4c76a1992d18d808c",
+ "reference": "e037fd41e9f8ec9ac270e2a4c76a1992d18d808c",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/cache": "^2.0|^3.0",
"psr/log": "^1.1|^2|^3",
- "symfony/cache-contracts": "^2.5|^3",
- "symfony/deprecation-contracts": "^2.5|^3.0",
+ "symfony/cache-contracts": "^3.6",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/service-contracts": "^2.5|^3",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"conflict": {
"doctrine/dbal": "<3.6",
+ "ext-relay": "<0.12.1",
"symfony/dependency-injection": "<6.4",
"symfony/http-kernel": "<6.4",
"symfony/var-dumper": "<6.4"
@@ -3065,16 +3064,17 @@
"symfony/cache-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "cache/integration-tests": "dev-master",
+ "cache/integration-tests": "^1.0.3",
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3109,7 +3109,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.1.9"
+ "source": "https://github.com/symfony/cache/tree/v7.4.19"
},
"funding": [
{
@@ -3120,25 +3120,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-20T10:42:04+00:00"
+ "time": "2026-09-08T13:28:43+00:00"
},
{
"name": "symfony/cache-contracts",
- "version": "v3.5.1",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
- "reference": "15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b"
+ "reference": "9789738bc19af1106dc54d6afba9a0b467516cf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b",
- "reference": "15a4f8e5cd3bce9aeafc882b1acab39ec8de2c1b",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/9789738bc19af1106dc54d6afba9a0b467516cf2",
+ "reference": "9789738bc19af1106dc54d6afba9a0b467516cf2",
"shasum": ""
},
"require": {
@@ -3152,7 +3156,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -3185,7 +3189,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/cache-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -3196,25 +3200,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/clock",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "97bebc53548684c17ed696bc8af016880f0f098d"
+ "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/97bebc53548684c17ed696bc8af016880f0f098d",
- "reference": "97bebc53548684c17ed696bc8af016880f0f098d",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/674fa3b98e21531dd040e613479f5f6fa8f32111",
+ "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111",
"shasum": ""
},
"require": {
@@ -3259,7 +3267,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.1.6"
+ "source": "https://github.com/symfony/clock/tree/v7.4.8"
},
"funding": [
{
@@ -3270,31 +3278,35 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/config",
- "version": "v7.1.7",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "dc373a5cbd345354696f5dfd39c5c7a8ea23f4c8"
+ "reference": "696e12da8eea497a1a3808d714b43ff67a7df43e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/dc373a5cbd345354696f5dfd39c5c7a8ea23f4c8",
- "reference": "dc373a5cbd345354696f5dfd39c5c7a8ea23f4c8",
+ "url": "https://api.github.com/repos/symfony/config/zipball/696e12da8eea497a1a3808d714b43ff67a7df43e",
+ "reference": "696e12da8eea497a1a3808d714b43ff67a7df43e",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/filesystem": "^7.1",
+ "symfony/filesystem": "^7.1|^8.0",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
@@ -3302,11 +3314,11 @@
"symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3334,7 +3346,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v7.1.7"
+ "source": "https://github.com/symfony/config/tree/v7.4.17"
},
"funding": [
{
@@ -3345,32 +3357,37 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-04T11:34:07+00:00"
+ "time": "2026-08-20T09:55:18+00:00"
},
{
"name": "symfony/console",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "bb06e2d7f8dd9dffe5eada8a5cbe0f68f1482db7"
+ "reference": "3a1973458b153f566a8d7499bc06ece323d60063"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/bb06e2d7f8dd9dffe5eada8a5cbe0f68f1482db7",
- "reference": "bb06e2d7f8dd9dffe5eada8a5cbe0f68f1482db7",
+ "url": "https://api.github.com/repos/symfony/console/zipball/3a1973458b153f566a8d7499bc06ece323d60063",
+ "reference": "3a1973458b153f566a8d7499bc06ece323d60063",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^6.4|^7.0"
+ "symfony/string": "^7.2|^8.0"
},
"conflict": {
"symfony/dependency-injection": "<6.4",
@@ -3384,16 +3401,16 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3427,7 +3444,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.1.10"
+ "source": "https://github.com/symfony/console/tree/v7.4.19"
},
"funding": [
{
@@ -3438,33 +3455,37 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-09T07:30:10+00:00"
+ "time": "2026-09-13T10:38:41+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v7.1.9",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "900d2eac6e33aef743bdc10dd8c75d012215fd08"
+ "reference": "f318ac9da5aba0be2cf43ecdd562c05a33bc11c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/900d2eac6e33aef743bdc10dd8c75d012215fd08",
- "reference": "900d2eac6e33aef743bdc10dd8c75d012215fd08",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f318ac9da5aba0be2cf43ecdd562c05a33bc11c0",
+ "reference": "f318ac9da5aba0be2cf43ecdd562c05a33bc11c0",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/service-contracts": "^3.5",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/service-contracts": "^3.6",
+ "symfony/var-exporter": "^6.4.20|^7.2.5|^8.0"
},
"conflict": {
"ext-psr": "<1.1|>=2",
@@ -3477,9 +3498,9 @@
"symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3507,7 +3528,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v7.1.9"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.4.17"
},
"funding": [
{
@@ -3518,25 +3539,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-25T15:44:54+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.5.1",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
- "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d",
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d",
"shasum": ""
},
"require": {
@@ -3549,7 +3574,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -3574,7 +3599,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -3585,30 +3610,34 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/doctrine-bridge",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "e8bb28f54741c0eb91ff7bc07f3abf5ebd4a3609"
+ "reference": "d89437a59232a7e9b294652faea2469f2af66b63"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/e8bb28f54741c0eb91ff7bc07f3abf5ebd4a3609",
- "reference": "e8bb28f54741c0eb91ff7bc07f3abf5ebd4a3609",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d89437a59232a7e9b294652faea2469f2af66b63",
+ "reference": "d89437a59232a7e9b294652faea2469f2af66b63",
"shasum": ""
},
"require": {
"doctrine/event-manager": "^2",
- "doctrine/persistence": "^3.1",
+ "doctrine/persistence": "^3.1|^4",
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8",
@@ -3616,6 +3645,7 @@
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
+ "doctrine/collections": "<1.8",
"doctrine/dbal": "<3.6",
"doctrine/lexer": "<1.1",
"doctrine/orm": "<2.15",
@@ -3629,32 +3659,32 @@
"symfony/property-info": "<6.4",
"symfony/security-bundle": "<6.4",
"symfony/security-core": "<6.4",
- "symfony/validator": "<6.4"
+ "symfony/validator": "<7.4.17|>=8.0,<8.1.5"
},
"require-dev": {
- "doctrine/collections": "^1.0|^2.0",
+ "doctrine/collections": "^1.8|^2.0",
"doctrine/data-fixtures": "^1.1|^2",
"doctrine/dbal": "^3.6|^4",
"doctrine/orm": "^2.15|^3",
"psr/log": "^1|^2|^3",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/doctrine-messenger": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/form": "^6.4.6|^7.0.6",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/type-info": "^7.1",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/doctrine-messenger": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/form": "^7.2|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/type-info": "^7.1.8|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^7.4|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "symfony-bridge",
"autoload": {
@@ -3682,7 +3712,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.10"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v7.4.19"
},
"funding": [
{
@@ -3693,25 +3723,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-19T14:23:39+00:00"
+ "time": "2026-09-11T14:46:58+00:00"
},
{
"name": "symfony/dotenv",
- "version": "v7.1.9",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
- "reference": "245d1afe223664d2276afb75177d8988c328fb78"
+ "reference": "99b5b14953237c89ed24f1af5ba34225caf598a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/245d1afe223664d2276afb75177d8988c328fb78",
- "reference": "245d1afe223664d2276afb75177d8988c328fb78",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/99b5b14953237c89ed24f1af5ba34225caf598a4",
+ "reference": "99b5b14953237c89ed24f1af5ba34225caf598a4",
"shasum": ""
},
"require": {
@@ -3722,8 +3756,8 @@
"symfony/process": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3756,7 +3790,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v7.1.9"
+ "source": "https://github.com/symfony/dotenv/tree/v7.4.18"
},
"funding": [
{
@@ -3767,40 +3801,47 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-27T11:17:28+00:00"
+ "time": "2026-07-26T10:22:28+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v7.1.10",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "12cada0720a728acd96346b19e8c7a867071758c"
+ "reference": "8373921e231e190a88e2ad526951bbaa791576fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/12cada0720a728acd96346b19e8c7a867071758c",
- "reference": "12cada0720a728acd96346b19e8c7a867071758c",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/8373921e231e190a88e2ad526951bbaa791576fa",
+ "reference": "8373921e231e190a88e2ad526951bbaa791576fa",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/polyfill-php85": "^1.32",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"conflict": {
"symfony/deprecation-contracts": "<2.5",
"symfony/http-kernel": "<6.4"
},
"require-dev": {
+ "symfony/console": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0"
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/webpack-encore-bundle": "^1.0|^2.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -3831,7 +3872,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v7.1.10"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.17"
},
"funding": [
{
@@ -3842,25 +3883,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-07T08:49:48+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.1.6",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "87254c78dd50721cfd015b62277a8281c5589702"
+ "reference": "d269974ee93c61d03620ffee358355bfdb471d66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702",
- "reference": "87254c78dd50721cfd015b62277a8281c5589702",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d269974ee93c61d03620ffee358355bfdb471d66",
+ "reference": "d269974ee93c61d03620ffee358355bfdb471d66",
"shasum": ""
},
"require": {
@@ -3877,13 +3922,14 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -3911,7 +3957,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.17"
},
"funding": [
{
@@ -3922,25 +3968,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.5.1",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
+ "reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
- "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c7de7a00ffb67842132da02ea92988a39ccd9f4e",
+ "reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e",
"shasum": ""
},
"require": {
@@ -3954,7 +4004,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -3987,7 +4037,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -3998,30 +4048,34 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/expression-language",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "c3a1224bc144b36cd79149b42c1aecd5f81395a5"
+ "reference": "b73866506ff02800836a40fa1f95614a71064f35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/c3a1224bc144b36cd79149b42c1aecd5f81395a5",
- "reference": "c3a1224bc144b36cd79149b42c1aecd5f81395a5",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/b73866506ff02800836a40fa1f95614a71064f35",
+ "reference": "b73866506ff02800836a40fa1f95614a71064f35",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/cache": "^6.4|^7.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/service-contracts": "^2.5|^3"
},
@@ -4051,7 +4105,7 @@
"description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/expression-language/tree/v7.1.6"
+ "source": "https://github.com/symfony/expression-language/tree/v7.4.18"
},
"funding": [
{
@@ -4062,25 +4116,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-09T08:46:59+00:00"
+ "time": "2026-08-30T00:47:26+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4"
+ "reference": "90d412aa5277c6819db39e7605aa46b1019e3232"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/c835867b3c62bb05c7fe3d637c871c7ae52024d4",
- "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/90d412aa5277c6819db39e7605aa46b1019e3232",
+ "reference": "90d412aa5277c6819db39e7605aa46b1019e3232",
"shasum": ""
},
"require": {
@@ -4089,7 +4147,7 @@
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^6.4|^7.0"
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4117,7 +4175,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.1.6"
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.18"
},
"funding": [
{
@@ -4128,32 +4186,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2026-08-23T10:03:40+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "b8b526e051ac0b33feabbec7893adcab96b23bf3"
+ "reference": "1b900bc6ae5ba60c5eee69c11ba44566190576fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/b8b526e051ac0b33feabbec7893adcab96b23bf3",
- "reference": "b8b526e051ac0b33feabbec7893adcab96b23bf3",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/1b900bc6ae5ba60c5eee69c11ba44566190576fe",
+ "reference": "1b900bc6ae5ba60c5eee69c11ba44566190576fe",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4181,7 +4243,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.1.10"
+ "source": "https://github.com/symfony/finder/tree/v7.4.19"
},
"funding": [
{
@@ -4192,40 +4254,45 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-30T18:59:46+00:00"
+ "time": "2026-09-10T19:14:10+00:00"
},
{
"name": "symfony/flex",
- "version": "v2.4.7",
+ "version": "v2.11.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
- "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402"
+ "reference": "4a6d98eea3ebc7f68d82810cb682eedca2649e99"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/flex/zipball/92f4fba342161ff36072bd3b8e0b3c6c23160402",
- "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402",
+ "url": "https://api.github.com/repos/symfony/flex/zipball/4a6d98eea3ebc7f68d82810cb682eedca2649e99",
+ "reference": "4a6d98eea3ebc7f68d82810cb682eedca2649e99",
"shasum": ""
},
"require": {
"composer-plugin-api": "^2.1",
- "php": ">=8.0"
+ "php": ">=8.1"
},
"conflict": {
- "composer/semver": "<1.7.2"
+ "composer/semver": "<1.7.2",
+ "symfony/dotenv": "<5.4"
},
"require-dev": {
"composer/composer": "^2.1",
- "symfony/dotenv": "^5.4|^6.0",
- "symfony/filesystem": "^5.4|^6.0",
- "symfony/phpunit-bridge": "^5.4|^6.0",
- "symfony/process": "^5.4|^6.0"
+ "phpunit/phpunit": "^12.4",
+ "symfony/dotenv": "^6.4.41|^7.4.13|^8.0.13",
+ "symfony/filesystem": "^6.4|^7.4|^8.0",
+ "symfony/process": "^6.4|^7.4|^8.0"
},
"type": "composer-plugin",
"extra": {
@@ -4249,7 +4316,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
- "source": "https://github.com/symfony/flex/tree/v2.4.7"
+ "source": "https://github.com/symfony/flex/tree/v2.11.0"
},
"funding": [
{
@@ -4260,36 +4327,40 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-07T08:51:54+00:00"
+ "time": "2026-05-29T17:25:22+00:00"
},
{
"name": "symfony/form",
- "version": "v7.1.6",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "7a48dda96fe16711fc042df38ca1a7dd4d9d6387"
+ "reference": "ededc326d2e5f271019b37d54c978e67cbc53ae3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/7a48dda96fe16711fc042df38ca1a7dd4d9d6387",
- "reference": "7a48dda96fe16711fc042df38ca1a7dd4d9d6387",
+ "url": "https://api.github.com/repos/symfony/form/zipball/ededc326d2e5f271019b37d54c978e67cbc53ae3",
+ "reference": "ededc326d2e5f271019b37d54c978e67cbc53ae3",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/options-resolver": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/options-resolver": "^7.3|^8.0",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/property-access": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -4299,26 +4370,28 @@
"symfony/error-handler": "<6.4",
"symfony/framework-bundle": "<6.4",
"symfony/http-kernel": "<6.4",
+ "symfony/intl": "<7.4",
"symfony/translation": "<6.4.3|>=7.0,<7.0.3",
"symfony/translation-contracts": "<2.5",
"symfony/twig-bridge": "<6.4"
},
"require-dev": {
"doctrine/collections": "^1.0|^2.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/html-sanitizer": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/translation": "^6.4.3|^7.0.3",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/html-sanitizer": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^7.4|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4.3|^7.0.3|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4.12|^7.1.5|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4346,7 +4419,7 @@
"description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/v7.1.6"
+ "source": "https://github.com/symfony/form/tree/v7.4.19"
},
"funding": [
{
@@ -4357,116 +4430,126 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-09T08:46:59+00:00"
+ "time": "2026-09-15T06:01:15+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "51b99e2307a79640b4c574a81b46ac918d13c89d"
+ "reference": "666aece282b9c6f4664c5d81149b17ac5a0f4732"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/51b99e2307a79640b4c574a81b46ac918d13c89d",
- "reference": "51b99e2307a79640b4c574a81b46ac918d13c89d",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/666aece282b9c6f4664c5d81149b17ac5a0f4732",
+ "reference": "666aece282b9c6f4664c5d81149b17ac5a0f4732",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*",
"php": ">=8.2",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^7.1.5",
+ "symfony/cache": "^6.4.12|^7.0|^8.0",
+ "symfony/config": "^7.4.4|^8.0.4",
+ "symfony/dependency-injection": "^7.4.15|~8.0.15|^8.1.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/filesystem": "^7.1",
- "symfony/finder": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/error-handler": "^7.3|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/filesystem": "^7.1|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
+ "symfony/http-kernel": "^7.4|^8.0",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/routing": "^6.4|^7.0"
+ "symfony/polyfill-php85": "^1.32",
+ "symfony/routing": "^7.4|^8.0"
},
"conflict": {
"doctrine/persistence": "<1.3",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=7",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/asset": "<6.4",
"symfony/asset-mapper": "<6.4",
"symfony/clock": "<6.4",
- "symfony/console": "<6.4",
+ "symfony/console": "<6.4.43|>=7.0,<7.4.15|>=8.0,<8.0.15",
"symfony/dom-crawler": "<6.4",
"symfony/dotenv": "<6.4",
- "symfony/form": "<6.4",
+ "symfony/form": "<7.4",
"symfony/http-client": "<6.4",
"symfony/lock": "<6.4",
- "symfony/mailer": "<6.4",
- "symfony/messenger": "<6.4",
- "symfony/mime": "<6.4",
+ "symfony/mailer": "<6.4.44|>=7.0,<7.4.17|>=8.0,<8.1.5",
+ "symfony/messenger": "<7.4",
+ "symfony/mime": "<6.4.37|>=7.0,<7.4.9|>=8.0,<8.0.9",
"symfony/property-access": "<6.4",
"symfony/property-info": "<6.4",
"symfony/runtime": "<6.4.13|>=7.0,<7.1.6",
"symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4",
"symfony/security-core": "<6.4",
- "symfony/security-csrf": "<6.4",
- "symfony/serializer": "<6.4",
+ "symfony/security-csrf": "<7.2",
+ "symfony/serializer": "<7.2.5",
"symfony/stopwatch": "<6.4",
- "symfony/translation": "<6.4",
+ "symfony/translation": "<7.3",
"symfony/twig-bridge": "<6.4",
"symfony/twig-bundle": "<6.4",
"symfony/validator": "<6.4",
"symfony/web-profiler-bundle": "<6.4",
- "symfony/workflow": "<6.4"
+ "symfony/webhook": "<7.4",
+ "symfony/workflow": "<7.4"
},
"require-dev": {
"doctrine/persistence": "^1.3|^2|^3",
"dragonmantank/cron-expression": "^3.1",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "phpdocumentor/reflection-docblock": "^5.2|^6.0",
"seld/jsonlint": "^1.10",
- "symfony/asset": "^6.4|^7.0",
- "symfony/asset-mapper": "^6.4|^7.0",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/dom-crawler": "^6.4|^7.0",
- "symfony/dotenv": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/html-sanitizer": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/lock": "^6.4|^7.0",
- "symfony/mailer": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/notifier": "^6.4|^7.0",
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/asset-mapper": "^6.4|^7.0|^8.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4.43|^7.4.15|^8.0.15",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/dotenv": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/form": "^7.4|^8.0",
+ "symfony/html-sanitizer": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/json-streamer": "^7.3|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/mailer": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^7.4|^8.0",
+ "symfony/mime": "^6.4.37|^7.4.9|^8.0.9",
+ "symfony/notifier": "^6.4|^7.0|^8.0",
+ "symfony/object-mapper": "^7.3|^8.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/scheduler": "^6.4.4|^7.0.4",
- "symfony/security-bundle": "^6.4|^7.0",
- "symfony/semaphore": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/string": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/twig-bundle": "^6.4|^7.0",
- "symfony/type-info": "^7.1",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/web-link": "^6.4|^7.0",
- "symfony/workflow": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
- "twig/twig": "^3.0.4"
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0",
+ "symfony/scheduler": "^6.4.4|^7.0.4|^8.0",
+ "symfony/security-bundle": "^6.4|^7.0|^8.0",
+ "symfony/semaphore": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^7.2.5|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^7.3|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.0|^8.0",
+ "symfony/type-info": "^7.1.8|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^7.4|^8.0",
+ "symfony/web-link": "^6.4|^7.0|^8.0",
+ "symfony/webhook": "^7.4|^8.0",
+ "symfony/workflow": "^7.4|^8.0",
+ "symfony/yaml": "^7.3|^8.0",
+ "twig/twig": "^3.12|^4.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -4494,7 +4577,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v7.1.10"
+ "source": "https://github.com/symfony/framework-bundle/tree/v7.4.19"
},
"funding": [
{
@@ -4505,33 +4588,37 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-19T14:23:39+00:00"
+ "time": "2026-09-14T09:18:42+00:00"
},
{
"name": "symfony/google-mailer",
- "version": "v7.1.6",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/google-mailer.git",
- "reference": "15c7493d34ce270ab8fe32c8020d4796e432ab45"
+ "reference": "04d7bea733de68d37eba28ac05130c49dd8754f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/google-mailer/zipball/15c7493d34ce270ab8fe32c8020d4796e432ab45",
- "reference": "15c7493d34ce270ab8fe32c8020d4796e432ab45",
+ "url": "https://api.github.com/repos/symfony/google-mailer/zipball/04d7bea733de68d37eba28ac05130c49dd8754f8",
+ "reference": "04d7bea733de68d37eba28ac05130c49dd8754f8",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/mailer": "^6.4|^7.0"
+ "symfony/mailer": "^7.2|^8.0"
},
"require-dev": {
- "symfony/http-client": "^6.4|^7.0"
+ "symfony/http-client": "^6.4|^7.0|^8.0"
},
"type": "symfony-mailer-bridge",
"autoload": {
@@ -4559,7 +4646,7 @@
"description": "Symfony Google Mailer Bridge",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/google-mailer/tree/v7.1.6"
+ "source": "https://github.com/symfony/google-mailer/tree/v7.4.0"
},
"funding": [
{
@@ -4570,25 +4657,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2025-07-31T09:31:17+00:00"
},
{
"name": "symfony/http-client",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "e221bfd51e70f12568e2f84890e6a5ffed0c35c7"
+ "reference": "3a523f38dc399337ec45b2ab9628e8c37ceb23c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/e221bfd51e70f12568e2f84890e6a5ffed0c35c7",
- "reference": "e221bfd51e70f12568e2f84890e6a5ffed0c35c7",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/3a523f38dc399337ec45b2ab9628e8c37ceb23c7",
+ "reference": "3a523f38dc399337ec45b2ab9628e8c37ceb23c7",
"shasum": ""
},
"require": {
@@ -4596,9 +4687,12 @@
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/http-client-contracts": "~3.4.4|^3.5.2",
+ "symfony/polyfill-php83": "^1.29",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
+ "amphp/amp": "<2.5",
+ "amphp/socket": "<1.1",
"php-http/discovery": "<1.15",
"symfony/http-foundation": "<6.4"
},
@@ -4609,20 +4703,20 @@
"symfony/http-client-implementation": "3.0"
},
"require-dev": {
- "amphp/amp": "^2.5",
- "amphp/http-client": "^4.2.1",
- "amphp/http-tunnel": "^1.0",
- "amphp/socket": "^1.1",
+ "amphp/http-client": "^4.2.1|^5.0",
+ "amphp/http-tunnel": "^1.0|^2.0",
"guzzlehttp/promises": "^1.4|^2.0",
"nyholm/psr7": "^1.0",
"php-http/httplug": "^1.0|^2.0",
"psr/http-client": "^1.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/amphp-http-client-meta": "^1.0|^2.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4653,7 +4747,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v7.1.10"
+ "source": "https://github.com/symfony/http-client/tree/v7.4.19"
},
"funding": [
{
@@ -4664,25 +4758,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-30T18:35:03+00:00"
+ "time": "2026-09-08T13:28:43+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v3.5.2",
+ "version": "v3.7.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645"
+ "reference": "35be0019e2c2c9fba80f9dc033290a5240f7b44f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645",
- "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/35be0019e2c2c9fba80f9dc033290a5240f7b44f",
+ "reference": "35be0019e2c2c9fba80f9dc033290a5240f7b44f",
"shasum": ""
},
"require": {
@@ -4695,7 +4793,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -4731,7 +4829,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v3.7.3"
},
"funding": [
{
@@ -4742,31 +4840,35 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-07T08:49:48+00:00"
+ "time": "2026-08-04T08:41:16+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "b5567e738aa372e0f3408c40e96bd4bd445bf3a1"
+ "reference": "f7b953be7801974a5a0685e1228bbc3b12b35936"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b5567e738aa372e0f3408c40e96bd4bd445bf3a1",
- "reference": "b5567e738aa372e0f3408c40e96bd4bd445bf3a1",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f7b953be7801974a5a0685e1228bbc3b12b35936",
+ "reference": "f7b953be7801974a5a0685e1228bbc3b12b35936",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php83": "^1.27"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "^1.1"
},
"conflict": {
"doctrine/dbal": "<3.6",
@@ -4775,12 +4877,13 @@
"require-dev": {
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4.12|^7.1.5",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0"
+ "symfony/cache": "^6.4.12|^7.1.5|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4808,7 +4911,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.1.10"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.19"
},
"funding": [
{
@@ -4819,34 +4922,38 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-16T16:04:34+00:00"
+ "time": "2026-09-14T17:41:17+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "f4cab1e059b6a0c67b008a81fa1822aa4ed37379"
+ "reference": "683507424cc84ca85ac1551adb609b6b98216667"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f4cab1e059b6a0c67b008a81fa1822aa4ed37379",
- "reference": "f4cab1e059b6a0c67b008a81fa1822aa4ed37379",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/683507424cc84ca85ac1551adb609b6b98216667",
+ "reference": "683507424cc84ca85ac1551adb609b6b98216667",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^7.3|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
@@ -4856,6 +4963,7 @@
"symfony/console": "<6.4",
"symfony/dependency-injection": "<6.4",
"symfony/doctrine-bridge": "<6.4",
+ "symfony/flex": "<2.10",
"symfony/form": "<6.4",
"symfony/http-client": "<6.4",
"symfony/http-client-contracts": "<2.5",
@@ -4866,35 +4974,35 @@
"symfony/twig-bridge": "<6.4",
"symfony/validator": "<6.4",
"symfony/var-dumper": "<6.4",
- "twig/twig": "<3.0.4"
+ "twig/twig": "<3.12"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/dom-crawler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4.1|^7.0.1|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-access": "^7.1",
- "symfony/routing": "^6.4|^7.0",
- "symfony/serializer": "^7.1",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^7.1|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^7.1|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0",
- "twig/twig": "^3.0.4"
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.12|^4.0"
},
"type": "library",
"autoload": {
@@ -4922,7 +5030,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v7.1.10"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.19"
},
"funding": [
{
@@ -4933,25 +5041,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-31T14:55:36+00:00"
+ "time": "2026-09-15T07:09:35+00:00"
},
{
"name": "symfony/intl",
- "version": "v7.1.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "e56b243fc0afa5a12bd11dace4002ada5a7d99f8"
+ "reference": "ebd1e30a84e79c4cb4ad0eacf88d5e3fef47ad1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/e56b243fc0afa5a12bd11dace4002ada5a7d99f8",
- "reference": "e56b243fc0afa5a12bd11dace4002ada5a7d99f8",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/ebd1e30a84e79c4cb4ad0eacf88d5e3fef47ad1d",
+ "reference": "ebd1e30a84e79c4cb4ad0eacf88d5e3fef47ad1d",
"shasum": ""
},
"require": {
@@ -4962,8 +5074,8 @@
"symfony/string": "<7.1"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5008,7 +5120,7 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v7.1.8"
+ "source": "https://github.com/symfony/intl/tree/v7.4.17"
},
"funding": [
{
@@ -5019,25 +5131,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-08T15:46:42+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/lock",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/lock.git",
- "reference": "1b898398007d80b4f32128df4b4f0c07c0368cf4"
+ "reference": "4073e583b1cb048799706d7ba3245328858cfea6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/lock/zipball/1b898398007d80b4f32128df4b4f0c07c0368cf4",
- "reference": "1b898398007d80b4f32128df4b4f0c07c0368cf4",
+ "url": "https://api.github.com/repos/symfony/lock/zipball/4073e583b1cb048799706d7ba3245328858cfea6",
+ "reference": "4073e583b1cb048799706d7ba3245328858cfea6",
"shasum": ""
},
"require": {
@@ -5050,7 +5166,8 @@
},
"require-dev": {
"doctrine/dbal": "^3.6|^4",
- "predis/predis": "^1.1|^2.0"
+ "predis/predis": "^1.1|^2.0",
+ "symfony/serializer": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -5086,7 +5203,7 @@
"semaphore"
],
"support": {
- "source": "https://github.com/symfony/lock/tree/v7.1.6"
+ "source": "https://github.com/symfony/lock/tree/v7.4.18"
},
"funding": [
{
@@ -5097,25 +5214,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-25T15:34:21+00:00"
+ "time": "2026-08-30T20:10:52+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.1.6",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd"
+ "reference": "6f6f2441bef07a42d2617b9b3aadf04a321aa514"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/69c9948451fb3a6a4d47dc8261d1794734e76cdd",
- "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/6f6f2441bef07a42d2617b9b3aadf04a321aa514",
+ "reference": "6f6f2441bef07a42d2617b9b3aadf04a321aa514",
"shasum": ""
},
"require": {
@@ -5123,8 +5244,8 @@
"php": ">=8.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^7.2|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -5135,10 +5256,10 @@
"symfony/twig-bridge": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5166,7 +5287,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.1.6"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.19"
},
"funding": [
{
@@ -5177,54 +5298,62 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-09-15T06:01:15+00:00"
},
{
"name": "symfony/messenger",
- "version": "v7.1.9",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/messenger.git",
- "reference": "51e2b8b6a14b78ad7db60ef5f195ae893c16b9cc"
+ "reference": "4070504211a16c4237247f7b2a91143c3a1f4e51"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/messenger/zipball/51e2b8b6a14b78ad7db60ef5f195ae893c16b9cc",
- "reference": "51e2b8b6a14b78ad7db60ef5f195ae893c16b9cc",
+ "url": "https://api.github.com/repos/symfony/messenger/zipball/4070504211a16c4237247f7b2a91143c3a1f4e51",
+ "reference": "4070504211a16c4237247f7b2a91143c3a1f4e51",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/clock": "^6.4|^7.0"
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/console": "<6.4",
+ "symfony/console": "<7.2",
"symfony/event-dispatcher": "<6.4",
"symfony/event-dispatcher-contracts": "<2.5",
"symfony/framework-bundle": "<6.4",
- "symfony/http-kernel": "<6.4",
- "symfony/serializer": "<6.4"
+ "symfony/http-kernel": "<7.3",
+ "symfony/lock": "<7.4",
+ "symfony/serializer": "<6.4.32|>=7.3,<7.3.10|>=7.4,<7.4.4|>=8.0,<8.0.4"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
+ "symfony/console": "^7.2|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^7.3|^8.0",
+ "symfony/lock": "^7.4|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.32|~7.3.10|^7.4.4|^8.0.4",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0"
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5252,7 +5381,7 @@
"description": "Helps applications send and receive messages to/from other applications or via message queues",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/messenger/tree/v7.1.9"
+ "source": "https://github.com/symfony/messenger/tree/v7.4.19"
},
"funding": [
{
@@ -5263,48 +5392,53 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-26T09:50:51+00:00"
+ "time": "2026-09-14T15:23:30+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "a42697498633a43da1d390ccf453b597df982a35"
+ "reference": "f8ac7d0a800bcabbcd1f7de56594cf05e6cd5693"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/a42697498633a43da1d390ccf453b597df982a35",
- "reference": "a42697498633a43da1d390ccf453b597df982a35",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/f8ac7d0a800bcabbcd1f7de56594cf05e6cd5693",
+ "reference": "f8ac7d0a800bcabbcd1f7de56594cf05e6cd5693",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=7",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/mailer": "<6.4",
"symfony/serializer": "<6.4.3|>7.0,<7.0.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
"league/html-to-markdown": "^5.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/serializer": "^6.4.3|^7.0.3"
+ "phpdocumentor/reflection-docblock": "^5.2|^6.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.44|^7.4.17|^8.1.5"
},
"type": "library",
"autoload": {
@@ -5336,7 +5470,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.1.10"
+ "source": "https://github.com/symfony/mime/tree/v7.4.19"
},
"funding": [
{
@@ -5347,31 +5481,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-07T08:49:48+00:00"
+ "time": "2026-09-04T10:45:44+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "e1da878cf5f701df5f5c1799bdbf827acee5a76e"
+ "reference": "b72ab77337167f2a545c35e624141df68c274ad8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/e1da878cf5f701df5f5c1799bdbf827acee5a76e",
- "reference": "e1da878cf5f701df5f5c1799bdbf827acee5a76e",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/b72ab77337167f2a545c35e624141df68c274ad8",
+ "reference": "b72ab77337167f2a545c35e624141df68c274ad8",
"shasum": ""
},
"require": {
"monolog/monolog": "^3",
"php": ">=8.2",
- "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -5380,13 +5519,14 @@
"symfony/security-core": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/mailer": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/mailer": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/notifier": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "symfony-bridge",
"autoload": {
@@ -5414,7 +5554,7 @@
"description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v7.1.6"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.18"
},
"funding": [
{
@@ -5425,53 +5565,52 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-14T08:49:35+00:00"
+ "time": "2026-08-30T00:47:26+00:00"
},
{
"name": "symfony/monolog-bundle",
- "version": "v3.10.0",
+ "version": "v3.11.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
+ "reference": "d87468010570b2ec766152184918ee8d267c7411"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
- "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/d87468010570b2ec766152184918ee8d267c7411",
+ "reference": "d87468010570b2ec766152184918ee8d267c7411",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.0",
"monolog/monolog": "^1.25.1 || ^2.0 || ^3.0",
- "php": ">=7.2.5",
- "symfony/config": "^5.4 || ^6.0 || ^7.0",
- "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
- "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
- "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0"
+ "php": ">=8.1",
+ "symfony/config": "^6.4 || ^7.0",
+ "symfony/dependency-injection": "^6.4 || ^7.0",
+ "symfony/deprecation-contracts": "^2.5 || ^3.0",
+ "symfony/http-kernel": "^6.4 || ^7.0",
+ "symfony/monolog-bridge": "^6.4 || ^7.0",
+ "symfony/polyfill-php84": "^1.30"
},
"require-dev": {
- "symfony/console": "^5.4 || ^6.0 || ^7.0",
- "symfony/phpunit-bridge": "^6.3 || ^7.0",
- "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
+ "symfony/console": "^6.4 || ^7.0",
+ "symfony/phpunit-bridge": "^7.3.3",
+ "symfony/yaml": "^6.4 || ^7.0"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\MonologBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Bundle\\MonologBundle\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5495,7 +5634,7 @@
],
"support": {
"issues": "https://github.com/symfony/monolog-bundle/issues",
- "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0"
+ "source": "https://github.com/symfony/monolog-bundle/tree/v3.11.2"
},
"funding": [
{
@@ -5506,25 +5645,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2023-11-06T17:08:13+00:00"
+ "time": "2026-04-02T18:23:01+00:00"
},
{
"name": "symfony/notifier",
- "version": "v7.1.6",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/notifier.git",
- "reference": "e45a3db2dd184060fa9c0d5c0b94dfa82bc0a13f"
+ "reference": "be788cebc25df422ecf2aaafa8aabae74c1e2fff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/notifier/zipball/e45a3db2dd184060fa9c0d5c0b94dfa82bc0a13f",
- "reference": "e45a3db2dd184060fa9c0d5c0b94dfa82bc0a13f",
+ "url": "https://api.github.com/repos/symfony/notifier/zipball/be788cebc25df422ecf2aaafa8aabae74c1e2fff",
+ "reference": "be788cebc25df422ecf2aaafa8aabae74c1e2fff",
"shasum": ""
},
"require": {
@@ -5538,10 +5681,12 @@
"symfony/http-kernel": "<6.4"
},
"require-dev": {
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
"symfony/event-dispatcher-contracts": "^2.5|^3",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0"
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5573,7 +5718,7 @@
"notifier"
],
"support": {
- "source": "https://github.com/symfony/notifier/tree/v7.1.6"
+ "source": "https://github.com/symfony/notifier/tree/v7.4.17"
},
"funding": [
{
@@ -5584,25 +5729,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v7.1.9",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "0f4099f5306a92487d13b2a4589068c36a93c447"
+ "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0f4099f5306a92487d13b2a4589068c36a93c447",
- "reference": "0f4099f5306a92487d13b2a4589068c36a93c447",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2888fcdc4dc2fd5f7c7397be78631e8af12e02b4",
+ "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4",
"shasum": ""
},
"require": {
@@ -5640,7 +5789,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.1.9"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.4.8"
},
"funding": [
{
@@ -5651,25 +5800,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-20T11:08:58+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/password-hasher",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/password-hasher.git",
- "reference": "2e618d1af51805e5a1fbda326d00b77c6c1037d5"
+ "reference": "18a7d92126c95962f7efbcc9e421ba710a366847"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/password-hasher/zipball/2e618d1af51805e5a1fbda326d00b77c6c1037d5",
- "reference": "2e618d1af51805e5a1fbda326d00b77c6c1037d5",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/18a7d92126c95962f7efbcc9e421ba710a366847",
+ "reference": "18a7d92126c95962f7efbcc9e421ba710a366847",
"shasum": ""
},
"require": {
@@ -5679,8 +5832,8 @@
"symfony/security-core": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5712,7 +5865,7 @@
"password"
],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v7.1.6"
+ "source": "https://github.com/symfony/password-hasher/tree/v7.4.8"
},
"funding": [
{
@@ -5723,25 +5876,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.31.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2",
"shasum": ""
},
"require": {
@@ -5791,7 +5948,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0"
},
"funding": [
{
@@ -5802,25 +5959,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.31.0",
+ "version": "v1.41.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
+ "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
- "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
+ "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
"shasum": ""
},
"require": {
@@ -5869,7 +6030,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.41.0"
},
"funding": [
{
@@ -5880,25 +6041,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-07-28T08:25:59+00:00"
},
{
"name": "symfony/polyfill-intl-icu",
- "version": "v1.31.0",
+ "version": "v1.38.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git",
- "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78"
+ "reference": "445c90e341fccda10311019cf82ff73bb7343945"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
- "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/445c90e341fccda10311019cf82ff73bb7343945",
+ "reference": "445c90e341fccda10311019cf82ff73bb7343945",
"shasum": ""
},
"require": {
@@ -5953,7 +6118,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.38.0"
},
"funding": [
{
@@ -5964,25 +6129,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-05-25T11:52:53+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.31.0",
+ "version": "v1.42.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773"
+ "reference": "51b5ff5ba85452b31ec6f55490b08148612339d9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773",
- "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/51b5ff5ba85452b31ec6f55490b08148612339d9",
+ "reference": "51b5ff5ba85452b31ec6f55490b08148612339d9",
"shasum": ""
},
"require": {
@@ -6036,7 +6205,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.42.0"
},
"funding": [
{
@@ -6047,25 +6216,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-08-24T10:51:20+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.31.0",
+ "version": "v1.42.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c"
+ "reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/aa20edea75bd9c48cfecc8360922e5a6e5c44502",
+ "reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502",
"shasum": ""
},
"require": {
@@ -6117,7 +6290,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.42.0"
},
"funding": [
{
@@ -6128,28 +6301,33 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-08-07T06:33:24+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.31.0",
+ "version": "v1.38.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
"shasum": ""
},
"require": {
+ "ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@@ -6197,7 +6375,167 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-27T06:59:30+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php83",
+ "version": "v1.41.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "5ea99087fb99c273a9b9236ed4c31e78b16103c6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/5ea99087fb99c273a9b9236ed4c31e78b16103c6",
+ "reference": "5ea99087fb99c273a9b9236ed4c31e78b16103c6",
+ "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\\Php83\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.41.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-07-01T12:47:55+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php84",
+ "version": "v1.38.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php84.git",
+ "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
+ "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
+ "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\\Php84\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1"
},
"funding": [
{
@@ -6208,25 +6546,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-05-26T12:51:13+00:00"
},
{
- "name": "symfony/polyfill-php83",
- "version": "v1.31.0",
+ "name": "symfony/polyfill-php85",
+ "version": "v1.41.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491"
+ "url": "https://github.com/symfony/polyfill-php85.git",
+ "reference": "255fab485aaa1006ed411040c42aecd7b5302d7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491",
- "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491",
+ "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/255fab485aaa1006ed411040c42aecd7b5302d7a",
+ "reference": "255fab485aaa1006ed411040c42aecd7b5302d7a",
"shasum": ""
},
"require": {
@@ -6244,7 +6586,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php83\\": ""
+ "Symfony\\Polyfill\\Php85\\": ""
},
"classmap": [
"Resources/stubs"
@@ -6264,7 +6606,7 @@
"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.5+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -6273,7 +6615,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php85/tree/v1.41.0"
},
"funding": [
{
@@ -6284,25 +6626,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-07-01T12:47:55+00:00"
},
{
"name": "symfony/process",
- "version": "v7.1.8",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892"
+ "reference": "ed0ae095b86994d370d5791612e55984f15aa30e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/42783370fda6e538771f7c7a36e9fa2ee3a84892",
- "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892",
+ "url": "https://api.github.com/repos/symfony/process/zipball/ed0ae095b86994d370d5791612e55984f15aa30e",
+ "reference": "ed0ae095b86994d370d5791612e55984f15aa30e",
"shasum": ""
},
"require": {
@@ -6334,7 +6680,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.1.8"
+ "source": "https://github.com/symfony/process/tree/v7.4.19"
},
"funding": [
{
@@ -6345,33 +6691,38 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-06T14:23:19+00:00"
+ "time": "2026-09-02T12:38:34+00:00"
},
{
"name": "symfony/property-access",
- "version": "v7.1.6",
+ "version": "v7.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "975d7f7fd8fcb952364c6badc46d01a580532bf9"
+ "reference": "c3dce76a6697c6428f7d80d5cd1cf0aa5d9679f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/975d7f7fd8fcb952364c6badc46d01a580532bf9",
- "reference": "975d7f7fd8fcb952364c6badc46d01a580532bf9",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/c3dce76a6697c6428f7d80d5cd1cf0aa5d9679f3",
+ "reference": "c3dce76a6697c6428f7d80d5cd1cf0aa5d9679f3",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/property-info": "^6.4|^7.0"
+ "symfony/property-info": "^6.4.32|~7.3.10|^7.4.4|^8.0.4"
},
"require-dev": {
- "symfony/cache": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4.1|^7.0.1|^8.0"
},
"type": "library",
"autoload": {
@@ -6410,7 +6761,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v7.1.6"
+ "source": "https://github.com/symfony/property-access/tree/v7.4.16"
},
"funding": [
{
@@ -6421,43 +6772,50 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-07-30T12:37:26+00:00"
},
{
"name": "symfony/property-info",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "daa1a1c742894ce09a39ae2b68c07029d434c746"
+ "reference": "547d2acbe865d511809b96ab653304fd632abbaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/daa1a1c742894ce09a39ae2b68c07029d434c746",
- "reference": "daa1a1c742894ce09a39ae2b68c07029d434c746",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/547d2acbe865d511809b96ab653304fd632abbaa",
+ "reference": "547d2acbe865d511809b96ab653304fd632abbaa",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/string": "^6.4|^7.0",
- "symfony/type-info": "~7.1.9|^7.2.2"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/type-info": "^7.4.7|^8.0.7"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/reflection-docblock": "<5.2|>=7",
"phpdocumentor/type-resolver": "<1.5.1",
- "symfony/dependency-injection": "<6.4"
+ "symfony/cache": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/serializer": "<6.4"
},
"require-dev": {
- "phpdocumentor/reflection-docblock": "^5.2",
+ "phpdocumentor/reflection-docblock": "^5.2|^6.0",
"phpstan/phpdoc-parser": "^1.0|^2.0",
- "symfony/cache": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6493,7 +6851,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.1.10"
+ "source": "https://github.com/symfony/property-info/tree/v7.4.19"
},
"funding": [
{
@@ -6504,25 +6862,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-31T11:04:25+00:00"
+ "time": "2026-09-04T10:11:42+00:00"
},
{
"name": "symfony/proxy-manager-bridge",
- "version": "v6.4.13",
+ "version": "v6.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/proxy-manager-bridge.git",
- "reference": "8932b572e147e80fb498045c580eb14215197529"
+ "reference": "9ecac7f98ad685d474394dbd06dab29bab4e18a6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/8932b572e147e80fb498045c580eb14215197529",
- "reference": "8932b572e147e80fb498045c580eb14215197529",
+ "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/9ecac7f98ad685d474394dbd06dab29bab4e18a6",
+ "reference": "9ecac7f98ad685d474394dbd06dab29bab4e18a6",
"shasum": ""
},
"require": {
@@ -6560,7 +6922,7 @@
"description": "Provides integration for ProxyManager with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/proxy-manager-bridge/tree/v6.4.13"
+ "source": "https://github.com/symfony/proxy-manager-bridge/tree/v6.4.28"
},
"funding": [
{
@@ -6571,34 +6933,38 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:18:03+00:00"
+ "time": "2025-11-02T18:11:54+00:00"
},
{
"name": "symfony/rate-limiter",
- "version": "v7.1.8",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/rate-limiter.git",
- "reference": "f1df8f0a40aa60cbd3c546ceb03408ab8f641528"
+ "reference": "6703d040ab83401b27f3c7b29ff4c8c8106fedba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/f1df8f0a40aa60cbd3c546ceb03408ab8f641528",
- "reference": "f1df8f0a40aa60cbd3c546ceb03408ab8f641528",
+ "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/6703d040ab83401b27f3c7b29ff4c8c8106fedba",
+ "reference": "6703d040ab83401b27f3c7b29ff4c8c8106fedba",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/options-resolver": "^6.4|^7.0"
+ "symfony/options-resolver": "^7.3|^8.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/lock": "^6.4|^7.0"
+ "symfony/lock": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6630,7 +6996,7 @@
"rate-limiter"
],
"support": {
- "source": "https://github.com/symfony/rate-limiter/tree/v7.1.8"
+ "source": "https://github.com/symfony/rate-limiter/tree/v7.4.18"
},
"funding": [
{
@@ -6641,25 +7007,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-09T09:16:45+00:00"
+ "time": "2026-08-07T15:34:54+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.1.9",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "a27bb8e0cc3ca4baf17159d053910c9736c3aa4c"
+ "reference": "ddd558991e98f693ae6bf5063cc1b0362c6bbec3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/a27bb8e0cc3ca4baf17159d053910c9736c3aa4c",
- "reference": "a27bb8e0cc3ca4baf17159d053910c9736c3aa4c",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/ddd558991e98f693ae6bf5063cc1b0362c6bbec3",
+ "reference": "ddd558991e98f693ae6bf5063cc1b0362c6bbec3",
"shasum": ""
},
"require": {
@@ -6673,11 +7043,11 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6711,7 +7081,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.1.9"
+ "source": "https://github.com/symfony/routing/tree/v7.4.18"
},
"funding": [
{
@@ -6722,25 +7092,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-13T16:12:35+00:00"
+ "time": "2026-08-17T13:12:36+00:00"
},
{
"name": "symfony/runtime",
- "version": "v7.1.7",
+ "version": "v7.4.14",
"source": {
"type": "git",
"url": "https://github.com/symfony/runtime.git",
- "reference": "9889783c17e8a68fa5e88c8e8a1a85e802558dba"
+ "reference": "15497f743dd714f3167cb6a56509b9d42e6417b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/runtime/zipball/9889783c17e8a68fa5e88c8e8a1a85e802558dba",
- "reference": "9889783c17e8a68fa5e88c8e8a1a85e802558dba",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/15497f743dd714f3167cb6a56509b9d42e6417b3",
+ "reference": "15497f743dd714f3167cb6a56509b9d42e6417b3",
"shasum": ""
},
"require": {
@@ -6748,14 +7122,16 @@
"php": ">=8.2"
},
"conflict": {
- "symfony/dotenv": "<6.4"
+ "symfony/dotenv": "<6.4",
+ "symfony/http-foundation": "<6.4"
},
"require-dev": {
"composer/composer": "^2.6",
- "symfony/console": "^6.4|^7.0",
- "symfony/dotenv": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/dotenv": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "composer-plugin",
"extra": {
@@ -6790,7 +7166,7 @@
"runtime"
],
"support": {
- "source": "https://github.com/symfony/runtime/tree/v7.1.7"
+ "source": "https://github.com/symfony/runtime/tree/v7.4.14"
},
"funding": [
{
@@ -6801,41 +7177,46 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-05T16:45:54+00:00"
+ "time": "2026-06-05T06:22:21+00:00"
},
{
"name": "symfony/security-bundle",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
- "reference": "7df1d3d431be03fbeb1b162eebca424005b48cdd"
+ "reference": "caaa8b92f2657a6b99057f4da36ee89f3baab506"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/7df1d3d431be03fbeb1b162eebca424005b48cdd",
- "reference": "7df1d3d431be03fbeb1b162eebca424005b48cdd",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/caaa8b92f2657a6b99057f4da36ee89f3baab506",
+ "reference": "caaa8b92f2657a6b99057f4da36ee89f3baab506",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*",
"php": ">=8.2",
- "symfony/clock": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4.11|^7.1.4",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/password-hasher": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/security-http": "^7.1",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^7.4|^8.0",
+ "symfony/dependency-injection": "^6.4.11|^7.1.4|^8.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/password-hasher": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^7.4|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/security-http": "^7.4|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -6849,25 +7230,26 @@
"symfony/validator": "<6.4"
},
"require-dev": {
- "symfony/asset": "^6.4|^7.0",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/dom-crawler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/ldap": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0",
- "symfony/twig-bundle": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
- "twig/twig": "^3.0.4",
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/ldap": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.15|^4.0",
"web-token/jwt-library": "^3.3.2|^4.0"
},
"type": "symfony-bundle",
@@ -6896,7 +7278,7 @@
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-bundle/tree/v7.1.6"
+ "source": "https://github.com/symfony/security-bundle/tree/v7.4.18"
},
"funding": [
{
@@ -6907,31 +7289,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-08-30T17:23:54+00:00"
},
{
"name": "symfony/security-core",
- "version": "v7.1.9",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "294426c17d484f47a576ca092c132f3afba17a19"
+ "reference": "4fac226354298b8d66f680275b0daef1d3f580d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/294426c17d484f47a576ca092c132f3afba17a19",
- "reference": "294426c17d484f47a576ca092c132f3afba17a19",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/4fac226354298b8d66f680275b0daef1d3f580d2",
+ "reference": "4fac226354298b8d66f680275b0daef1d3f580d2",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/event-dispatcher-contracts": "^2.5|^3",
- "symfony/password-hasher": "^6.4|^7.0",
+ "symfony/password-hasher": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -6946,15 +7333,16 @@
"psr/cache": "^1.0|^2.0|^3.0",
"psr/container": "^1.1|^2.0",
"psr/log": "^1|^2|^3",
- "symfony/cache": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/ldap": "^6.4|^7.0",
- "symfony/string": "^6.4|^7.0",
- "symfony/translation": "^6.4.3|^7.0.3",
- "symfony/validator": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/ldap": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4.3|^7.0.3|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6982,7 +7370,7 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v7.1.9"
+ "source": "https://github.com/symfony/security-core/tree/v7.4.18"
},
"funding": [
{
@@ -6993,36 +7381,42 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-27T09:50:41+00:00"
+ "time": "2026-08-30T00:47:26+00:00"
},
{
"name": "symfony/security-csrf",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
- "reference": "23b460d3447fd61970e0ed5ec7a0301296a17f06"
+ "reference": "16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/23b460d3447fd61970e0ed5ec7a0301296a17f06",
- "reference": "23b460d3447fd61970e0ed5ec7a0301296a17f06",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d",
+ "reference": "16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/security-core": "^6.4|^7.0"
+ "symfony/security-core": "^6.4|^7.0|^8.0"
},
"conflict": {
"symfony/http-foundation": "<6.4"
},
"require-dev": {
- "symfony/http-foundation": "^6.4|^7.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -7050,7 +7444,7 @@
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v7.1.6"
+ "source": "https://github.com/symfony/security-csrf/tree/v7.4.8"
},
"funding": [
{
@@ -7061,55 +7455,59 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/security-http",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "4e0bc002cb69181d623c7f84beb1b8d885efa43d"
+ "reference": "c13182ec07b8a0c5316505a4c9c51948f87d87bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/4e0bc002cb69181d623c7f84beb1b8d885efa43d",
- "reference": "4e0bc002cb69181d623c7f84beb1b8d885efa43d",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/c13182ec07b8a0c5316505a4c9c51948f87d87bb",
+ "reference": "c13182ec07b8a0c5316505a4c9c51948f87d87bb",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^7.3|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
"symfony/clock": "<6.4",
- "symfony/event-dispatcher": "<6.4",
"symfony/http-client-contracts": "<3.0",
"symfony/security-bundle": "<6.4",
"symfony/security-csrf": "<6.4"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/cache": "^6.4|^7.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^3.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
"web-token/jwt-library": "^3.3.2|^4.0"
},
"type": "library",
@@ -7138,7 +7536,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v7.1.10"
+ "source": "https://github.com/symfony/security-http/tree/v7.4.19"
},
"funding": [
{
@@ -7149,67 +7547,72 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-04T10:33:06+00:00"
+ "time": "2026-09-15T06:01:15+00:00"
},
{
"name": "symfony/serializer",
- "version": "v7.1.9",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "39ec8beb1b8149c96785abad0e9ee390375a3e58"
+ "reference": "d631b82e0db971444651c4e6a076040d20878caa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/39ec8beb1b8149c96785abad0e9ee390375a3e58",
- "reference": "39ec8beb1b8149c96785abad0e9ee390375a3e58",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/d631b82e0db971444651c4e6a076040d20878caa",
+ "reference": "d631b82e0db971444651c4e6a076040d20878caa",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-ctype": "~1.8"
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php84": "^1.30"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=7",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/dependency-injection": "<6.4",
- "symfony/property-access": "<6.4",
- "symfony/property-info": "<6.4",
- "symfony/type-info": "<7.1.5",
+ "symfony/property-access": "<6.4.31|>=7.0,<7.4.2|>=8.0,<8.0.2",
+ "symfony/property-info": "<6.4.43",
+ "symfony/type-info": "<7.2.5",
"symfony/uid": "<6.4",
"symfony/validator": "<6.4",
"symfony/yaml": "<6.4"
},
"require-dev": {
- "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
+ "phpdocumentor/reflection-docblock": "^5.2|^6.0",
"phpstan/phpdoc-parser": "^1.0|^2.0",
"seld/jsonlint": "^1.10",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^7.2|^8.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4.31|^7.4.2|^8.0.2",
+ "symfony/property-info": "^6.4.43|^7.4.15|^8.0.15",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/type-info": "^7.1.5",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/type-info": "^7.2.5|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -7237,7 +7640,7 @@
"description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/serializer/tree/v7.1.9"
+ "source": "https://github.com/symfony/serializer/tree/v7.4.19"
},
"funding": [
{
@@ -7248,25 +7651,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-14T21:24:44+00:00"
+ "time": "2026-09-08T13:28:43+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.5.1",
+ "version": "v3.7.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
+ "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
- "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
+ "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
"shasum": ""
},
"require": {
@@ -7284,7 +7691,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -7320,7 +7727,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.7.3"
},
"funding": [
{
@@ -7331,25 +7738,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-07-27T15:39:01+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05"
+ "reference": "70a852d72fec4d51efb1f48dcd968efcaf5ccb89"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8b4a434e6e7faf6adedffb48783a5c75409a1a05",
- "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/70a852d72fec4d51efb1f48dcd968efcaf5ccb89",
+ "reference": "70a852d72fec4d51efb1f48dcd968efcaf5ccb89",
"shasum": ""
},
"require": {
@@ -7382,7 +7793,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v7.1.6"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.4.8"
},
"funding": [
{
@@ -7393,31 +7804,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/string",
- "version": "v7.1.8",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281"
+ "reference": "02731ce2bd26514bec9efc0baef2cd0b0cf67f46"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/591ebd41565f356fcd8b090fe64dbb5878f50281",
- "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281",
+ "url": "https://api.github.com/repos/symfony/string/zipball/02731ce2bd26514bec9efc0baef2cd0b0cf67f46",
+ "reference": "02731ce2bd26514bec9efc0baef2cd0b0cf67f46",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-grapheme": "~1.33",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
@@ -7425,12 +7841,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/emoji": "^7.1",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/emoji": "^7.1|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -7469,7 +7884,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.1.8"
+ "source": "https://github.com/symfony/string/tree/v7.4.19"
},
"funding": [
{
@@ -7480,33 +7895,39 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-13T13:31:21+00:00"
+ "time": "2026-09-11T14:46:58+00:00"
},
{
"name": "symfony/translation",
- "version": "v7.1.6",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f"
+ "reference": "2ee1e4a3b32a528a642babe041ff7c440b213b4b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f",
- "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/2ee1e4a3b32a528a642babe041ff7c440b213b4b",
+ "reference": "2ee1e4a3b32a528a642babe041ff7c440b213b4b",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^2.5|^3.0"
+ "symfony/translation-contracts": "^2.5.3|^3.3"
},
"conflict": {
+ "nikic/php-parser": "<5.0",
"symfony/config": "<6.4",
"symfony/console": "<6.4",
"symfony/dependency-injection": "<6.4",
@@ -7520,19 +7941,19 @@
"symfony/translation-implementation": "2.3|3.0"
},
"require-dev": {
- "nikic/php-parser": "^4.18|^5.0",
+ "nikic/php-parser": "^5.0",
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
"symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -7563,7 +7984,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v7.1.6"
+ "source": "https://github.com/symfony/translation/tree/v7.4.17"
},
"funding": [
{
@@ -7574,25 +7995,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-28T12:35:13+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.5.1",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "4667ff3bd513750603a09c8dedbea942487fb07c"
+ "reference": "ccb206b98faccc511ebae8e5fad50f2dc0b30621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c",
- "reference": "4667ff3bd513750603a09c8dedbea942487fb07c",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/ccb206b98faccc511ebae8e5fad50f2dc0b30621",
+ "reference": "ccb206b98faccc511ebae8e5fad50f2dc0b30621",
"shasum": ""
},
"require": {
@@ -7605,7 +8030,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -7641,7 +8066,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -7652,40 +8077,45 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/twig-bridge",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "c027c54611cd194273b924c8d24d9706695171ff"
+ "reference": "10d369dd3845bb650a9450e643d6d9027e8a86af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c027c54611cd194273b924c8d24d9706695171ff",
- "reference": "c027c54611cd194273b924c8d24d9706695171ff",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/10d369dd3845bb650a9450e643d6d9027e8a86af",
+ "reference": "10d369dd3845bb650a9450e643d6d9027e8a86af",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/translation-contracts": "^2.5|^3",
- "twig/twig": "^3.9"
+ "twig/twig": "^3.21|^4.0"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=7",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/console": "<6.4",
- "symfony/form": "<6.4",
+ "symfony/form": "<6.4.32|>7,<7.3.10|>7.4,<7.4.4|>8.0,<8.0.4",
"symfony/http-foundation": "<6.4",
"symfony/http-kernel": "<6.4",
- "symfony/mime": "<6.4",
+ "symfony/mime": "<6.4.37|>7,<7.4.9|>8.0,<8.0.9",
"symfony/serializer": "<6.4",
"symfony/translation": "<6.4",
"symfony/workflow": "<6.4"
@@ -7693,36 +8123,37 @@
"require-dev": {
"egulias/email-validator": "^2.1.10|^3|^4",
"league/html-to-markdown": "^5.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^6.4|^7.0",
- "symfony/asset-mapper": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/emoji": "^7.1",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/html-sanitizer": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
+ "phpdocumentor/reflection-docblock": "^5.2|^6.0",
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/asset-mapper": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/emoji": "^7.1|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4.32|~7.3.10|^7.4.4|^8.0.4",
+ "symfony/html-sanitizer": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^7.3|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4.37|^7.4.9|^8.0.9",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
"symfony/security-acl": "^2.8|^3.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/security-http": "^6.4|^7.0",
- "symfony/serializer": "^6.4.3|^7.0.3",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/web-link": "^6.4|^7.0",
- "symfony/workflow": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
- "twig/cssinliner-extra": "^2.12|^3",
- "twig/inky-extra": "^2.12|^3",
- "twig/markdown-extra": "^2.12|^3"
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/security-http": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.44|^7.4.17|^8.1.5",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/web-link": "^6.4|^7.0|^8.0",
+ "symfony/workflow": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0",
+ "twig/cssinliner-extra": "^3",
+ "twig/inky-extra": "^3",
+ "twig/markdown-extra": "^3"
},
"type": "symfony-bridge",
"autoload": {
@@ -7750,7 +8181,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v7.1.10"
+ "source": "https://github.com/symfony/twig-bridge/tree/v7.4.19"
},
"funding": [
{
@@ -7761,52 +8192,58 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-19T14:23:39+00:00"
+ "time": "2026-09-14T12:19:06+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v7.1.6",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "af902314a71fb412ae412094f7e1d7e49594507b"
+ "reference": "231c0b37dada053458d47281261a3af0270a634d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/af902314a71fb412ae412094f7e1d7e49594507b",
- "reference": "af902314a71fb412ae412094f7e1d7e49594507b",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/231c0b37dada053458d47281261a3af0270a634d",
+ "reference": "231c0b37dada053458d47281261a3af0270a634d",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"php": ">=8.2",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0",
- "twig/twig": "^3.0.4"
+ "symfony/config": "^7.4|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/twig-bridge": "^7.3|^8.0",
+ "twig/twig": "^3.12|^4.0"
},
"conflict": {
"symfony/framework-bundle": "<6.4",
"symfony/translation": "<6.4"
},
"require-dev": {
- "symfony/asset": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/web-link": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/web-link": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -7834,7 +8271,7 @@
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bundle/tree/v7.1.6"
+ "source": "https://github.com/symfony/twig-bundle/tree/v7.4.19"
},
"funding": [
{
@@ -7845,40 +8282,41 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-09-11T14:46:58+00:00"
},
{
"name": "symfony/type-info",
- "version": "v7.1.10",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "8f980bdd1d6a2834503afbfcf3f39de8133e48fe"
+ "reference": "62d0ad6995630a4f7ea8fd270aadb3e2545c8e31"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/8f980bdd1d6a2834503afbfcf3f39de8133e48fe",
- "reference": "8f980bdd1d6a2834503afbfcf3f39de8133e48fe",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/62d0ad6995630a4f7ea8fd270aadb3e2545c8e31",
+ "reference": "62d0ad6995630a4f7ea8fd270aadb3e2545c8e31",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "psr/container": "^1.1|^2.0"
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
- "phpstan/phpdoc-parser": "<1.0",
- "symfony/dependency-injection": "<6.4",
- "symfony/property-info": "<6.4"
+ "phpstan/phpdoc-parser": "<1.30"
},
"require-dev": {
- "phpstan/phpdoc-parser": "^1.0|^2.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0"
+ "phpstan/phpdoc-parser": "^1.30|^2.0"
},
"type": "library",
"autoload": {
@@ -7916,7 +8354,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v7.1.10"
+ "source": "https://github.com/symfony/type-info/tree/v7.4.17"
},
"funding": [
{
@@ -7927,25 +8365,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-11T12:11:39+00:00"
+ "time": "2026-08-21T15:52:48+00:00"
},
{
"name": "symfony/validator",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "216b0d1ccfedeb800cbc2f336ed6effaca7164de"
+ "reference": "a6d275d96d107fb2000dae04ab23b2e0c29ceb66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/216b0d1ccfedeb800cbc2f336ed6effaca7164de",
- "reference": "216b0d1ccfedeb800cbc2f336ed6effaca7164de",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/a6d275d96d107fb2000dae04ab23b2e0c29ceb66",
+ "reference": "a6d275d96d107fb2000dae04ab23b2e0c29ceb66",
"shasum": ""
},
"require": {
@@ -7965,26 +8407,29 @@
"symfony/intl": "<6.4",
"symfony/property-info": "<6.4",
"symfony/translation": "<6.4.3|>=7.0,<7.0.3",
+ "symfony/var-exporter": "<6.4.25|>=7.0,<7.3.3",
"symfony/yaml": "<6.4"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3|^4",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/translation": "^6.4.3|^7.0.3",
- "symfony/type-info": "^7.1",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4.3|^7.0.3|^8.0",
+ "symfony/type-info": "^7.1.8",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -8013,7 +8458,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v7.1.10"
+ "source": "https://github.com/symfony/validator/tree/v7.4.19"
},
"funding": [
{
@@ -8024,41 +8469,45 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-30T18:35:03+00:00"
+ "time": "2026-09-09T19:50:33+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.1.8",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8"
+ "reference": "e088da50b813f32473a76871616cbb8fa54653a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8",
- "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e088da50b813f32473a76871616cbb8fa54653a8",
+ "reference": "e088da50b813f32473a76871616cbb8fa54653a8",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"symfony/console": "<6.4"
},
"require-dev": {
- "ext-iconv": "*",
- "symfony/console": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/uid": "^6.4|^7.0",
- "twig/twig": "^3.0.4"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.12|^4.0"
},
"bin": [
"Resources/bin/var-dump-server"
@@ -8096,7 +8545,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.1.8"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.18"
},
"funding": [
{
@@ -8107,34 +8556,39 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-08T15:46:42+00:00"
+ "time": "2026-08-30T20:10:52+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "90173ef89c40e7c8c616653241048705f84130ef"
+ "reference": "d6a87acbe48cbc707b9aba7f1a6c2215aab02603"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/90173ef89c40e7c8c616653241048705f84130ef",
- "reference": "90173ef89c40e7c8c616653241048705f84130ef",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d6a87acbe48cbc707b9aba7f1a6c2215aab02603",
+ "reference": "d6a87acbe48cbc707b9aba7f1a6c2215aab02603",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"require-dev": {
- "symfony/property-access": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -8172,7 +8626,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.1.6"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.4.18"
},
"funding": [
{
@@ -8183,25 +8637,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-08-23T10:03:40+00:00"
},
{
"name": "symfony/web-link",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-link.git",
- "reference": "383aa7566f25e3a1ab323732c2cc6a1748120d3a"
+ "reference": "0711009963009e7d6d59149327f3ad633ee3fe25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-link/zipball/383aa7566f25e3a1ab323732c2cc6a1748120d3a",
- "reference": "383aa7566f25e3a1ab323732c2cc6a1748120d3a",
+ "url": "https://api.github.com/repos/symfony/web-link/zipball/0711009963009e7d6d59149327f3ad633ee3fe25",
+ "reference": "0711009963009e7d6d59149327f3ad633ee3fe25",
"shasum": ""
},
"require": {
@@ -8215,7 +8673,7 @@
"psr/link-implementation": "1.0|2.0"
},
"require-dev": {
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -8255,7 +8713,7 @@
"push"
],
"support": {
- "source": "https://github.com/symfony/web-link/tree/v7.1.6"
+ "source": "https://github.com/symfony/web-link/tree/v7.4.8"
},
"funding": [
{
@@ -8266,41 +8724,45 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/webpack-encore-bundle",
- "version": "v2.2.0",
+ "version": "2.4.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/webpack-encore-bundle.git",
- "reference": "e335394b68a775a9b2bd173a8ba4fd2001f3870c"
+ "reference": "0cbc3485f127cd9f85e395f8177607ef00535634"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/e335394b68a775a9b2bd173a8ba4fd2001f3870c",
- "reference": "e335394b68a775a9b2bd173a8ba4fd2001f3870c",
+ "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/0cbc3485f127cd9f85e395f8177607ef00535634",
+ "reference": "0cbc3485f127cd9f85e395f8177607ef00535634",
"shasum": ""
},
"require": {
"php": ">=8.1.0",
- "symfony/asset": "^5.4 || ^6.2 || ^7.0",
- "symfony/config": "^5.4 || ^6.2 || ^7.0",
- "symfony/dependency-injection": "^5.4 || ^6.2 || ^7.0",
- "symfony/http-kernel": "^5.4 || ^6.2 || ^7.0",
+ "symfony/asset": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/config": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/dependency-injection": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/http-kernel": "^5.4 || ^6.2 || ^7.0 || ^8.0",
"symfony/service-contracts": "^1.1.9 || ^2.1.3 || ^3.0"
},
"require-dev": {
- "symfony/framework-bundle": "^5.4 || ^6.2 || ^7.0",
- "symfony/http-client": "^5.4 || ^6.2 || ^7.0",
- "symfony/phpunit-bridge": "^5.4 || ^6.2 || ^7.0",
- "symfony/twig-bundle": "^5.4 || ^6.2 || ^7.0",
- "symfony/web-link": "^5.4 || ^6.2 || ^7.0"
+ "symfony/framework-bundle": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/http-client": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/phpunit-bridge": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/twig-bundle": "^5.4 || ^6.2 || ^7.0 || ^8.0",
+ "symfony/web-link": "^5.4 || ^6.2 || ^7.0 || ^8.0"
},
"type": "symfony-bundle",
"extra": {
@@ -8327,7 +8789,7 @@
"description": "Integration of your Symfony app with Webpack Encore",
"support": {
"issues": "https://github.com/symfony/webpack-encore-bundle/issues",
- "source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.2.0"
+ "source": "https://github.com/symfony/webpack-encore-bundle/tree/2.4.2"
},
"funding": [
{
@@ -8338,36 +8800,41 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-02T07:27:19+00:00"
+ "time": "2026-09-17T12:45:02+00:00"
},
{
"name": "symfony/yaml",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671"
+ "reference": "4cef939e55b8a21c5780418de0d98ab00d0736e1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671",
- "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/4cef939e55b8a21c5780418de0d98ab00d0736e1",
+ "reference": "4cef939e55b8a21c5780418de0d98ab00d0736e1",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -8398,7 +8865,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.1.6"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.18"
},
"funding": [
{
@@ -8409,12 +8876,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-08-30T00:47:26+00:00"
},
{
"name": "symfonycasts/verify-email-bundle",
@@ -8464,26 +8935,26 @@
},
{
"name": "twig/extra-bundle",
- "version": "v3.18.0",
+ "version": "v3.29.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa"
+ "reference": "aaa2993e19293a99240c4c61aa461d743b0dd569"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9746573ca4bc1cd03a767a183faadaf84e0c31fa",
- "reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/aaa2993e19293a99240c4c61aa461d743b0dd569",
+ "reference": "aaa2993e19293a99240c4c61aa461d743b0dd569",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
- "symfony/framework-bundle": "^5.4|^6.4|^7.0",
- "symfony/twig-bundle": "^5.4|^6.4|^7.0",
+ "php": ">=8.1.0",
+ "symfony/framework-bundle": "^5.4|^6.4|^7.0|^8.0",
+ "symfony/twig-bundle": "^5.4|^6.4|^7.0|^8.0",
"twig/twig": "^3.2|^4.0"
},
"require-dev": {
- "league/commonmark": "^1.0|^2.0",
+ "league/commonmark": "^2.7",
"symfony/phpunit-bridge": "^6.4|^7.0",
"twig/cache-extra": "^3.0",
"twig/cssinliner-extra": "^3.0",
@@ -8522,7 +8993,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.18.0"
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.29.0"
},
"funding": [
{
@@ -8534,25 +9005,25 @@
"type": "tidelift"
}
],
- "time": "2024-09-26T19:22:23+00:00"
+ "time": "2026-09-11T08:59:50+00:00"
},
{
"name": "twig/intl-extra",
- "version": "v3.18.0",
+ "version": "v3.29.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/intl-extra.git",
- "reference": "4eeab2a3f8d04d1838be7251ab2d183f817aea7b"
+ "reference": "51c52470aca59f3a9715c88f6fe505133b88c752"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/4eeab2a3f8d04d1838be7251ab2d183f817aea7b",
- "reference": "4eeab2a3f8d04d1838be7251ab2d183f817aea7b",
+ "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/51c52470aca59f3a9715c88f6fe505133b88c752",
+ "reference": "51c52470aca59f3a9715c88f6fe505133b88c752",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
- "symfony/intl": "^5.4|^6.4|^7.0",
+ "php": ">=8.1.0",
+ "symfony/intl": "^5.4|^6.4|^7.0|^8.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
@@ -8586,7 +9057,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/intl-extra/tree/v3.18.0"
+ "source": "https://github.com/twigphp/intl-extra/tree/v3.29.0"
},
"funding": [
{
@@ -8598,25 +9069,25 @@
"type": "tidelift"
}
],
- "time": "2024-11-20T13:19:52+00:00"
+ "time": "2026-09-06T20:35:36+00:00"
},
{
"name": "twig/string-extra",
- "version": "v3.18.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/string-extra.git",
- "reference": "cb4eec11de02f63ad8ea9d065a1f27752d0bf752"
+ "reference": "6ec8f2e8ca9b2193221a02cb599dc92c36384368"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/string-extra/zipball/cb4eec11de02f63ad8ea9d065a1f27752d0bf752",
- "reference": "cb4eec11de02f63ad8ea9d065a1f27752d0bf752",
+ "url": "https://api.github.com/repos/twigphp/string-extra/zipball/6ec8f2e8ca9b2193221a02cb599dc92c36384368",
+ "reference": "6ec8f2e8ca9b2193221a02cb599dc92c36384368",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
- "symfony/string": "^5.4|^6.4|^7.0",
+ "php": ">=8.1.0",
+ "symfony/string": "^5.4|^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^3.13|^4.0"
},
@@ -8653,7 +9124,7 @@
"unicode"
],
"support": {
- "source": "https://github.com/twigphp/string-extra/tree/v3.18.0"
+ "source": "https://github.com/twigphp/string-extra/tree/v3.24.0"
},
"funding": [
{
@@ -8665,31 +9136,31 @@
"type": "tidelift"
}
],
- "time": "2024-11-30T08:42:13+00:00"
+ "time": "2025-12-02T14:45:16+00:00"
},
{
"name": "twig/twig",
- "version": "v3.19.0",
+ "version": "v3.29.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e"
+ "reference": "45a3c6e9224c3377a39c7b150bb29d5d97d2c75d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e",
- "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/45a3c6e9224c3377a39c7b150bb29d5d97d2c75d",
+ "reference": "45a3c6e9224c3377a39c7b150bb29d5d97d2c75d",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php81": "^1.29"
+ "symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
- "phpstan/phpstan": "^2.0",
+ "php-cs-fixer/shim": "^3.0@stable",
+ "phpstan/phpstan": "^2.0@stable",
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
@@ -8733,7 +9204,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.19.0"
+ "source": "https://github.com/twigphp/Twig/tree/v3.29.0"
},
"funding": [
{
@@ -8745,7 +9216,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-29T07:06:14+00:00"
+ "time": "2026-09-18T09:10:14+00:00"
},
{
"name": "voku/portable-ascii",
@@ -9079,16 +9550,16 @@
},
{
"name": "composer/semver",
- "version": "3.4.3",
+ "version": "3.4.4",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12"
+ "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
- "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
+ "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95",
+ "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95",
"shasum": ""
},
"require": {
@@ -9140,7 +9611,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.3"
+ "source": "https://github.com/composer/semver/tree/3.4.4"
},
"funding": [
{
@@ -9150,13 +9621,9 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2024-09-19T14:15:21+00:00"
+ "time": "2025-08-20T19:15:30+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -9443,6 +9910,75 @@
],
"time": "2024-12-03T17:07:51+00:00"
},
+ {
+ "name": "ergebnis/agent-detector",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ergebnis/agent-detector.git",
+ "reference": "e211f17928c8b95a51e06040792d57f5462fb271"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ergebnis/agent-detector/zipball/e211f17928c8b95a51e06040792d57f5462fb271",
+ "reference": "e211f17928c8b95a51e06040792d57f5462fb271",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 || ~8.6.0"
+ },
+ "require-dev": {
+ "ergebnis/composer-normalize": "^2.51.0",
+ "ergebnis/license": "^2.7.0",
+ "ergebnis/php-cs-fixer-config": "^6.60.2",
+ "ergebnis/phpstan-rules": "^2.13.1",
+ "ergebnis/phpunit-slow-test-detector": "^2.24.0",
+ "ergebnis/rector-rules": "^1.18.1",
+ "fakerphp/faker": "^1.24.1",
+ "infection/infection": "^0.26.6",
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^2.1.54",
+ "phpstan/phpstan-deprecation-rules": "^2.0.4",
+ "phpstan/phpstan-phpunit": "^2.0.16",
+ "phpstan/phpstan-strict-rules": "^2.0.10",
+ "phpunit/phpunit": "^9.6.34",
+ "rector/rector": "^2.4.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2-dev"
+ },
+ "composer-normalize": {
+ "indent-size": 2,
+ "indent-style": "space"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Ergebnis\\AgentDetector\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Andreas Möller",
+ "email": "am@localheinz.com",
+ "homepage": "https://localheinz.com"
+ }
+ ],
+ "description": "Provides a detector for detecting the presence of an agent.",
+ "homepage": "https://github.com/ergebnis/agent-detector",
+ "support": {
+ "issues": "https://github.com/ergebnis/agent-detector/issues",
+ "security": "https://github.com/ergebnis/agent-detector/blob/main/.github/SECURITY.md",
+ "source": "https://github.com/ergebnis/agent-detector"
+ },
+ "time": "2026-05-07T08:19:07+00:00"
+ },
{
"name": "evenement/evenement",
"version": "v3.0.2",
@@ -9492,16 +10028,16 @@
},
{
"name": "fidry/cpu-core-counter",
- "version": "1.2.0",
+ "version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "8520451a140d3f46ac33042715115e290cf5785f"
+ "reference": "db9508f7b1474469d9d3c53b86f817e344732678"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f",
- "reference": "8520451a140d3f46ac33042715115e290cf5785f",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678",
+ "reference": "db9508f7b1474469d9d3c53b86f817e344732678",
"shasum": ""
},
"require": {
@@ -9511,10 +10047,10 @@
"fidry/makefile": "^0.2.0",
"fidry/php-cs-fixer-config": "^1.1.2",
"phpstan/extension-installer": "^1.2.0",
- "phpstan/phpstan": "^1.9.2",
- "phpstan/phpstan-deprecation-rules": "^1.0.0",
- "phpstan/phpstan-phpunit": "^1.2.2",
- "phpstan/phpstan-strict-rules": "^1.4.4",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-deprecation-rules": "^2.0.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
"phpunit/phpunit": "^8.5.31 || ^9.5.26",
"webmozarts/strict-phpunit": "^7.5"
},
@@ -9541,7 +10077,7 @@
],
"support": {
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0"
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0"
},
"funding": [
{
@@ -9549,61 +10085,62 @@
"type": "github"
}
],
- "time": "2024-08-06T10:04:20+00:00"
+ "time": "2025-08-14T07:29:31+00:00"
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.66.0",
+ "version": "v3.95.26",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "5f5f2a142ff36b93c41885bca29cc5f861c013e6"
+ "reference": "11839dfaf25718e1617c522c3dde01ebf96c875f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/5f5f2a142ff36b93c41885bca29cc5f861c013e6",
- "reference": "5f5f2a142ff36b93c41885bca29cc5f861c013e6",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/11839dfaf25718e1617c522c3dde01ebf96c875f",
+ "reference": "11839dfaf25718e1617c522c3dde01ebf96c875f",
"shasum": ""
},
"require": {
- "clue/ndjson-react": "^1.0",
+ "clue/ndjson-react": "^1.3",
"composer/semver": "^3.4",
- "composer/xdebug-handler": "^3.0.3",
+ "composer/xdebug-handler": "^3.0.5",
+ "ergebnis/agent-detector": "^1.2",
"ext-filter": "*",
+ "ext-hash": "*",
"ext-json": "*",
"ext-tokenizer": "*",
- "fidry/cpu-core-counter": "^1.2",
+ "fidry/cpu-core-counter": "^1.3",
"php": "^7.4 || ^8.0",
- "react/child-process": "^0.6.5",
- "react/event-loop": "^1.0",
- "react/promise": "^2.0 || ^3.0",
- "react/socket": "^1.0",
- "react/stream": "^1.0",
- "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
- "symfony/console": "^5.4 || ^6.0 || ^7.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
- "symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
- "symfony/finder": "^5.4 || ^6.0 || ^7.0",
- "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0",
- "symfony/polyfill-mbstring": "^1.28",
- "symfony/polyfill-php80": "^1.28",
- "symfony/polyfill-php81": "^1.28",
- "symfony/process": "^5.4 || ^6.0 || ^7.0 <7.2",
- "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "facile-it/paraunit": "^1.3.1 || ^2.4",
- "infection/infection": "^0.29.8",
- "justinrainbow/json-schema": "^5.3 || ^6.0",
- "keradus/cli-executor": "^2.1",
- "mikey179/vfsstream": "^1.6.12",
- "php-coveralls/php-coveralls": "^2.7",
- "php-cs-fixer/accessible-object": "^1.1",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5",
- "phpunit/phpunit": "^9.6.21 || ^10.5.38 || ^11.4.3",
- "symfony/var-dumper": "^5.4.47 || ^6.4.15 || ^7.1.8",
- "symfony/yaml": "^5.4.45 || ^6.4.13 || ^7.1.6"
+ "react/child-process": "^0.6.6",
+ "react/event-loop": "^1.5",
+ "react/socket": "^1.16",
+ "react/stream": "^1.4",
+ "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0 || ^9.0",
+ "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/polyfill-mbstring": "^1.37",
+ "symfony/polyfill-php80": "^1.37",
+ "symfony/polyfill-php81": "^1.37",
+ "symfony/polyfill-php84": "^1.37",
+ "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0",
+ "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "facile-it/paraunit": "^1.3.1 || ^2.11.0",
+ "infection/infection": "^0.32.7",
+ "justinrainbow/json-schema": "^6.12.0",
+ "keradus/cli-executor": "^2.3",
+ "php-coveralls/php-coveralls": "^2.9.1",
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.8",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.8",
+ "phpunit/phpunit": "^9.6.36 || ^10.5.64 || ^11.5.56 || ^12.5.35 || ^13.3.3",
+ "symfony/polyfill-php85": "^1.41",
+ "symfony/var-dumper": "^5.4.48 || ^6.4.45 || ^7.4.18 || ^8.1.7",
+ "symfony/yaml": "^5.4.53 || ^6.4.45 || ^7.4.18 || ^8.1.6"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@@ -9618,7 +10155,7 @@
"PhpCsFixer\\": "src/"
},
"exclude-from-classmap": [
- "src/Fixer/Internal/*"
+ "src/**/Internal/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -9644,7 +10181,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.66.0"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.26"
},
"funding": [
{
@@ -9652,28 +10189,28 @@
"type": "github"
}
],
- "time": "2024-12-29T13:46:23+00:00"
+ "time": "2026-09-19T19:04:32+00:00"
},
{
"name": "masterminds/html5",
- "version": "2.9.0",
+ "version": "2.11.0",
"source": {
"type": "git",
"url": "https://github.com/Masterminds/html5-php.git",
- "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6"
+ "reference": "a1e7a2f88ee13635d86fc61cfbdf2306a76ddfc7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
- "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a1e7a2f88ee13635d86fc61cfbdf2306a76ddfc7",
+ "reference": "a1e7a2f88ee13635d86fc61cfbdf2306a76ddfc7",
"shasum": ""
},
"require": {
"ext-dom": "*",
- "php": ">=5.3.0"
+ "php": ">=7.4"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9"
+ "phpunit/phpunit": "^6 || ^7 || ^8 || ^9 || ^10"
},
"type": "library",
"extra": {
@@ -9717,26 +10254,26 @@
],
"support": {
"issues": "https://github.com/Masterminds/html5-php/issues",
- "source": "https://github.com/Masterminds/html5-php/tree/2.9.0"
+ "source": "https://github.com/Masterminds/html5-php/tree/2.11.0"
},
- "time": "2024-03-31T07:05:07+00:00"
+ "time": "2026-08-18T06:18:41+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.12.1",
+ "version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
+ "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
- "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae",
+ "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.0"
},
"conflict": {
"doctrine/collections": "<1.6.8",
@@ -9771,32 +10308,31 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.14.0"
},
"funding": [
{
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
+ "url": "https://github.com/mnapoli",
+ "type": "github"
}
],
- "time": "2024-11-08T17:47:46+00:00"
+ "time": "2026-08-11T10:17:44+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v5.4.0",
+ "version": "v5.9.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "447a020a1f875a434d62f2a401f53b82a396e494"
+ "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
- "reference": "447a020a1f875a434d62f2a401f53b82a396e494",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9e33da9553fe7786f0962b35f4e4ecf01be89def",
+ "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"php": ">=7.4"
@@ -9811,7 +10347,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "5.x-dev"
}
},
"autoload": {
@@ -9835,9 +10371,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.9.0"
},
- "time": "2024-12-30T11:07:19+00:00"
+ "time": "2026-09-13T18:51:52+00:00"
},
{
"name": "phar-io/manifest",
@@ -9959,16 +10495,16 @@
},
{
"name": "php-webdriver/webdriver",
- "version": "1.15.2",
+ "version": "1.16.0",
"source": {
"type": "git",
"url": "https://github.com/php-webdriver/php-webdriver.git",
- "reference": "998e499b786805568deaf8cbf06f4044f05d91bf"
+ "reference": "ac0662863aa120b4f645869f584013e4c4dba46a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/998e499b786805568deaf8cbf06f4044f05d91bf",
- "reference": "998e499b786805568deaf8cbf06f4044f05d91bf",
+ "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/ac0662863aa120b4f645869f584013e4c4dba46a",
+ "reference": "ac0662863aa120b4f645869f584013e4c4dba46a",
"shasum": ""
},
"require": {
@@ -9977,7 +10513,7 @@
"ext-zip": "*",
"php": "^7.3 || ^8.0",
"symfony/polyfill-mbstring": "^1.12",
- "symfony/process": "^5.0 || ^6.0 || ^7.0"
+ "symfony/process": "^5.0 || ^6.0 || ^7.0 || ^8.0"
},
"replace": {
"facebook/webdriver": "*"
@@ -9990,10 +10526,10 @@
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpunit/phpunit": "^9.3",
"squizlabs/php_codesniffer": "^3.5",
- "symfony/var-dumper": "^5.0 || ^6.0 || ^7.0"
+ "symfony/var-dumper": "^5.0 || ^6.0 || ^7.0 || ^8.0"
},
"suggest": {
- "ext-SimpleXML": "For Firefox profile creation"
+ "ext-simplexml": "For Firefox profile creation"
},
"type": "library",
"autoload": {
@@ -10019,9 +10555,9 @@
],
"support": {
"issues": "https://github.com/php-webdriver/php-webdriver/issues",
- "source": "https://github.com/php-webdriver/php-webdriver/tree/1.15.2"
+ "source": "https://github.com/php-webdriver/php-webdriver/tree/1.16.0"
},
- "time": "2024-11-21T15:12:59+00:00"
+ "time": "2025-12-28T23:57:40+00:00"
},
{
"name": "phpstan/phpstan",
@@ -10402,27 +10938,27 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.22",
+ "version": "9.6.36",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c"
+ "reference": "abab27ed286d3e1246fbbfe6b56bfd732d945ec9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f80235cb4d3caa59ae09be3adf1ded27521d1a9c",
- "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/abab27ed286d3e1246fbbfe6b56bfd732d945ec9",
+ "reference": "abab27ed286d3e1246fbbfe6b56bfd732d945ec9",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.5.0 || ^2",
"ext-dom": "*",
+ "ext-filter": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
- "ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.12.1",
+ "myclabs/deep-copy": "^1.13.4",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=7.3",
@@ -10433,11 +10969,11 @@
"phpunit/php-timer": "^5.0.3",
"sebastian/cli-parser": "^1.0.2",
"sebastian/code-unit": "^1.0.8",
- "sebastian/comparator": "^4.0.8",
+ "sebastian/comparator": "^4.0.10",
"sebastian/diff": "^4.0.6",
"sebastian/environment": "^5.1.5",
- "sebastian/exporter": "^4.0.6",
- "sebastian/global-state": "^5.0.7",
+ "sebastian/exporter": "^4.0.9",
+ "sebastian/global-state": "^5.0.8",
"sebastian/object-enumerator": "^4.0.4",
"sebastian/resource-operations": "^3.0.4",
"sebastian/type": "^3.2.1",
@@ -10485,23 +11021,15 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.22"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.36"
},
"funding": [
{
- "url": "https://phpunit.de/sponsors.html",
- "type": "custom"
- },
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
- "type": "tidelift"
+ "url": "https://phpunit.de/sponsoring.html",
+ "type": "other"
}
],
- "time": "2024-12-05T13:48:26+00:00"
+ "time": "2026-08-11T06:25:15+00:00"
},
{
"name": "react/cache",
@@ -10577,16 +11105,16 @@
},
{
"name": "react/child-process",
- "version": "v0.6.6",
+ "version": "v0.6.7",
"source": {
"type": "git",
"url": "https://github.com/reactphp/child-process.git",
- "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159"
+ "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159",
- "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159",
+ "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3",
+ "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3",
"shasum": ""
},
"require": {
@@ -10640,7 +11168,7 @@
],
"support": {
"issues": "https://github.com/reactphp/child-process/issues",
- "source": "https://github.com/reactphp/child-process/tree/v0.6.6"
+ "source": "https://github.com/reactphp/child-process/tree/v0.6.7"
},
"funding": [
{
@@ -10648,20 +11176,20 @@
"type": "open_collective"
}
],
- "time": "2025-01-01T16:37:48+00:00"
+ "time": "2025-12-23T15:25:20+00:00"
},
{
"name": "react/dns",
- "version": "v1.13.0",
+ "version": "v1.14.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/dns.git",
- "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5"
+ "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5",
- "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5",
+ "url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3",
+ "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3",
"shasum": ""
},
"require": {
@@ -10716,7 +11244,7 @@
],
"support": {
"issues": "https://github.com/reactphp/dns/issues",
- "source": "https://github.com/reactphp/dns/tree/v1.13.0"
+ "source": "https://github.com/reactphp/dns/tree/v1.14.0"
},
"funding": [
{
@@ -10724,20 +11252,20 @@
"type": "open_collective"
}
],
- "time": "2024-06-13T14:18:03+00:00"
+ "time": "2025-11-18T19:34:28+00:00"
},
{
"name": "react/event-loop",
- "version": "v1.5.0",
+ "version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/event-loop.git",
- "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354"
+ "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354",
- "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354",
+ "url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a",
+ "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a",
"shasum": ""
},
"require": {
@@ -10788,7 +11316,7 @@
],
"support": {
"issues": "https://github.com/reactphp/event-loop/issues",
- "source": "https://github.com/reactphp/event-loop/tree/v1.5.0"
+ "source": "https://github.com/reactphp/event-loop/tree/v1.6.0"
},
"funding": [
{
@@ -10796,27 +11324,27 @@
"type": "open_collective"
}
],
- "time": "2023-11-13T13:48:05+00:00"
+ "time": "2025-11-17T20:46:25+00:00"
},
{
"name": "react/promise",
- "version": "v3.2.0",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/promise.git",
- "reference": "8a164643313c71354582dc850b42b33fa12a4b63"
+ "reference": "23444f53a813a3296c1368bb104793ce8d88f04a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63",
- "reference": "8a164643313c71354582dc850b42b33fa12a4b63",
+ "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a",
+ "reference": "23444f53a813a3296c1368bb104793ce8d88f04a",
"shasum": ""
},
"require": {
"php": ">=7.1.0"
},
"require-dev": {
- "phpstan/phpstan": "1.10.39 || 1.4.10",
+ "phpstan/phpstan": "1.12.28 || 1.4.10",
"phpunit/phpunit": "^9.6 || ^7.5"
},
"type": "library",
@@ -10861,7 +11389,7 @@
],
"support": {
"issues": "https://github.com/reactphp/promise/issues",
- "source": "https://github.com/reactphp/promise/tree/v3.2.0"
+ "source": "https://github.com/reactphp/promise/tree/v3.3.0"
},
"funding": [
{
@@ -10869,20 +11397,20 @@
"type": "open_collective"
}
],
- "time": "2024-05-24T10:39:05+00:00"
+ "time": "2025-08-19T18:57:03+00:00"
},
{
"name": "react/socket",
- "version": "v1.16.0",
+ "version": "v1.17.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/socket.git",
- "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1"
+ "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
- "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
+ "url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08",
+ "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08",
"shasum": ""
},
"require": {
@@ -10941,7 +11469,7 @@
],
"support": {
"issues": "https://github.com/reactphp/socket/issues",
- "source": "https://github.com/reactphp/socket/tree/v1.16.0"
+ "source": "https://github.com/reactphp/socket/tree/v1.17.0"
},
"funding": [
{
@@ -10949,7 +11477,7 @@
"type": "open_collective"
}
],
- "time": "2024-07-26T10:38:09+00:00"
+ "time": "2025-11-19T20:47:34+00:00"
},
{
"name": "react/stream",
@@ -11257,16 +11785,16 @@
},
{
"name": "sebastian/comparator",
- "version": "4.0.8",
+ "version": "4.0.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d",
+ "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d",
"shasum": ""
},
"require": {
@@ -11319,15 +11847,27 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator",
+ "type": "tidelift"
}
],
- "time": "2022-09-14T12:41:17+00:00"
+ "time": "2026-01-24T09:22:56+00:00"
},
{
"name": "sebastian/complexity",
@@ -11517,16 +12057,16 @@
},
{
"name": "sebastian/exporter",
- "version": "4.0.6",
+ "version": "4.0.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
+ "reference": "4352c1a3df741a7ba9e61af6fed51d1fee41cbf7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/4352c1a3df741a7ba9e61af6fed51d1fee41cbf7",
+ "reference": "4352c1a3df741a7ba9e61af6fed51d1fee41cbf7",
"shasum": ""
},
"require": {
@@ -11582,28 +12122,40 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.9"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T06:33:00+00:00"
+ "time": "2026-08-11T04:55:59+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.7",
+ "version": "5.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
+ "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
+ "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
"shasum": ""
},
"require": {
@@ -11646,15 +12198,27 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T06:35:11+00:00"
+ "time": "2025-08-10T07:10:35+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -11827,16 +12391,16 @@
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.5",
+ "version": "4.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ "reference": "c85be6922b7fd365942b986b9a50397d65407611"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/c85be6922b7fd365942b986b9a50397d65407611",
+ "reference": "c85be6922b7fd365942b986b9a50397d65407611",
"shasum": ""
},
"require": {
@@ -11878,15 +12442,27 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.7"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context",
+ "type": "tidelift"
}
],
- "time": "2023-02-03T06:07:39+00:00"
+ "time": "2026-08-11T05:25:24+00:00"
},
{
"name": "sebastian/resource-operations",
@@ -12053,27 +12629,28 @@
},
{
"name": "symfony/browser-kit",
- "version": "v7.1.6",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "714becc9ba9b20115ffededc58f6b7172dc394cf"
+ "reference": "7aff5c4b17a7b04ea6a8390773a93148d15a40b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/714becc9ba9b20115ffededc58f6b7172dc394cf",
- "reference": "714becc9ba9b20115ffededc58f6b7172dc394cf",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/7aff5c4b17a7b04ea6a8390773a93148d15a40b7",
+ "reference": "7aff5c4b17a7b04ea6a8390773a93148d15a40b7",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/dom-crawler": "^6.4|^7.0"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0"
},
"require-dev": {
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0"
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12101,7 +12678,7 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v7.1.6"
+ "source": "https://github.com/symfony/browser-kit/tree/v7.4.17"
},
"funding": [
{
@@ -12112,25 +12689,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v7.1.6",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66"
+ "reference": "fecf40067fc8d8880ea87b8ac227600b9aadd1d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/4aa4f6b3d6749c14d3aa815eef8226632e7bbc66",
- "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/fecf40067fc8d8880ea87b8ac227600b9aadd1d0",
+ "reference": "fecf40067fc8d8880ea87b8ac227600b9aadd1d0",
"shasum": ""
},
"require": {
@@ -12166,7 +12747,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.1.6"
+ "source": "https://github.com/symfony/css-selector/tree/v7.4.18"
},
"funding": [
{
@@ -12177,42 +12758,43 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-08-23T10:03:40+00:00"
},
{
"name": "symfony/debug-bundle",
- "version": "v7.1.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug-bundle.git",
- "reference": "c91a650aa390071d22dfaf32c2ff77fda27e9583"
+ "reference": "3eb18c1e6cd16da2cea1f1b5162e442af4afee44"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/c91a650aa390071d22dfaf32c2ff77fda27e9583",
- "reference": "c91a650aa390071d22dfaf32c2ff77fda27e9583",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/3eb18c1e6cd16da2cea1f1b5162e442af4afee44",
+ "reference": "3eb18c1e6cd16da2cea1f1b5162e442af4afee44",
"shasum": ""
},
"require": {
+ "composer-runtime-api": ">=2.1",
"ext-xml": "*",
"php": ">=8.2",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
- },
- "conflict": {
- "symfony/config": "<6.4",
- "symfony/dependency-injection": "<6.4"
+ "symfony/config": "^7.3|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"require-dev": {
- "symfony/config": "^6.4|^7.0",
- "symfony/web-profiler-bundle": "^6.4|^7.0"
+ "symfony/web-profiler-bundle": "^6.4|^7.0|^8.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -12240,7 +12822,7 @@
"description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/debug-bundle/tree/v7.1.6"
+ "source": "https://github.com/symfony/debug-bundle/tree/v7.4.8"
},
"funding": [
{
@@ -12251,35 +12833,40 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v7.1.9",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "fd006641cf28ab702684b8cb0645bea95bc1691a"
+ "reference": "6b037d62595666cf65de867073c9a1f00184be0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fd006641cf28ab702684b8cb0645bea95bc1691a",
- "reference": "fd006641cf28ab702684b8cb0645bea95bc1691a",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/6b037d62595666cf65de867073c9a1f00184be0c",
+ "reference": "6b037d62595666cf65de867073c9a1f00184be0c",
"shasum": ""
},
"require": {
"masterminds/html5": "^2.6",
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
- "symfony/css-selector": "^6.4|^7.0"
+ "symfony/css-selector": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12307,7 +12894,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v7.1.9"
+ "source": "https://github.com/symfony/dom-crawler/tree/v7.4.17"
},
"funding": [
{
@@ -12318,40 +12905,45 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-13T15:09:09+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/maker-bundle",
- "version": "v1.61.0",
+ "version": "1.68.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
- "reference": "a3b7f14d349f8f44ed752d4dde2263f77510cc18"
+ "reference": "1b0fb459594fdeb1d183065451c5e954babeb16c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/a3b7f14d349f8f44ed752d4dde2263f77510cc18",
- "reference": "a3b7f14d349f8f44ed752d4dde2263f77510cc18",
+ "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/1b0fb459594fdeb1d183065451c5e954babeb16c",
+ "reference": "1b0fb459594fdeb1d183065451c5e954babeb16c",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.1",
"doctrine/inflector": "^2.0",
- "nikic/php-parser": "^4.18|^5.0",
- "php": ">=8.1",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2",
+ "symfony/config": "^7.4|^8.1",
+ "symfony/console": "^7.4|^8.1",
+ "symfony/dependency-injection": "^7.4|^8.1",
"symfony/deprecation-contracts": "^2.2|^3",
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0"
+ "symfony/filesystem": "^7.4|^8.1",
+ "symfony/finder": "^7.4|^8.1",
+ "symfony/framework-bundle": "^7.4|^8.1",
+ "symfony/http-kernel": "^7.4|^8.1",
+ "symfony/process": "^7.4|^8.1"
},
"conflict": {
"doctrine/doctrine-bundle": "<2.10",
@@ -12359,12 +12951,15 @@
},
"require-dev": {
"composer/semver": "^3.0",
- "doctrine/doctrine-bundle": "^2.5.0",
+ "doctrine/doctrine-bundle": "^2.10|^3.0",
"doctrine/orm": "^2.15|^3",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/phpunit-bridge": "^6.4.1|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
+ "doctrine/persistence": "^3.1|^4.0",
+ "symfony/doctrine-bridge": "^7.4|^8.1",
+ "symfony/http-client": "^7.4|^8.1",
+ "symfony/phpunit-bridge": "^7.4|^8.1",
+ "symfony/security-core": "^7.4|^8.1",
+ "symfony/security-http": "^7.4|^8.1",
+ "symfony/yaml": "^7.4|^8.1",
"twig/twig": "^3.0|^4.x-dev"
},
"type": "symfony-bundle",
@@ -12399,7 +12994,7 @@
],
"support": {
"issues": "https://github.com/symfony/maker-bundle/issues",
- "source": "https://github.com/symfony/maker-bundle/tree/v1.61.0"
+ "source": "https://github.com/symfony/maker-bundle/tree/1.68.0"
},
"funding": [
{
@@ -12410,45 +13005,49 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-08-29T22:50:23+00:00"
+ "time": "2026-09-12T21:13:48+00:00"
},
{
"name": "symfony/panther",
- "version": "v2.1.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/panther.git",
- "reference": "ef9a6f2393ac9679af03a93d3f508e4aa65c15b5"
+ "reference": "2d810395942e71aea2f7ea8e8b5f82326bb4b8b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/panther/zipball/ef9a6f2393ac9679af03a93d3f508e4aa65c15b5",
- "reference": "ef9a6f2393ac9679af03a93d3f508e4aa65c15b5",
+ "url": "https://api.github.com/repos/symfony/panther/zipball/2d810395942e71aea2f7ea8e8b5f82326bb4b8b4",
+ "reference": "2d810395942e71aea2f7ea8e8b5f82326bb4b8b4",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
- "php": ">=8.0",
+ "php": ">=8.1",
"php-webdriver/webdriver": "^1.8.2",
- "symfony/browser-kit": "^5.3 || ^6.0 || ^7.0",
- "symfony/dependency-injection": "^5.3 || ^6.0 || ^7.0",
+ "symfony/browser-kit": "^6.4 || ^7.3 || ^8.0",
+ "symfony/dependency-injection": "^6.4 || ^7.3 || ^8.0",
"symfony/deprecation-contracts": "^2.4 || ^3",
- "symfony/dom-crawler": "^5.3 || ^6.0 || ^7.0",
- "symfony/http-client": "^5.3 || ^6.0 || ^7.0",
- "symfony/http-kernel": "^5.3 || ^6.0 || ^7.0",
- "symfony/process": "^5.3 || ^6.0 || ^7.0"
+ "symfony/dom-crawler": "^6.4 || ^7.3 || ^8.0",
+ "symfony/http-client": "^6.4 || ^7.0 || ^8.0",
+ "symfony/http-kernel": "^6.4 || ^7.3 || ^8.0",
+ "symfony/process": "^6.4 || ^7.3 || ^8.0"
},
"require-dev": {
- "symfony/css-selector": "^5.3 || ^6.0 || ^7.0",
- "symfony/framework-bundle": "^5.3 || ^6.0 || ^7.0",
- "symfony/mime": "^5.3 || ^6.0 || ^7.0",
- "symfony/phpunit-bridge": "^5.3 || ^6.0 || ^7.0"
+ "symfony/css-selector": "^6.4 || ^7.3 || ^8.0",
+ "symfony/framework-bundle": "^6.4 || ^7.3 || ^8.0",
+ "symfony/mime": "^6.4 || ^7.3 || ^8.0",
+ "symfony/phpunit-bridge": ">=7.3.4"
},
"type": "library",
"extra": {
@@ -12468,8 +13067,8 @@
"authors": [
{
"name": "Kévin Dunglas",
- "email": "dunglas@gmail.com",
- "homepage": "https://dunglas.fr"
+ "email": "kevin@dunglas.dev",
+ "homepage": "https://dunglas.dev"
},
{
"name": "Symfony Community",
@@ -12477,7 +13076,7 @@
}
],
"description": "A browser testing and web scraping library for PHP and Symfony.",
- "homepage": "https://dunglas.fr",
+ "homepage": "https://symfony.com/packages/Panther",
"keywords": [
"e2e",
"scraping",
@@ -12488,7 +13087,7 @@
],
"support": {
"issues": "https://github.com/symfony/panther/issues",
- "source": "https://github.com/symfony/panther/tree/v2.1.1"
+ "source": "https://github.com/symfony/panther/tree/v2.4.0"
},
"funding": [
{
@@ -12504,32 +13103,28 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T22:17:31+00:00"
+ "time": "2026-01-08T05:29:21+00:00"
},
{
"name": "symfony/phpunit-bridge",
- "version": "v7.2.0",
+ "version": "v7.4.18",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "2bbde92ab25a0e2c88160857af7be9db5da0d145"
+ "reference": "ff3a78aceb731b24b256a2845a8ad6e6851f942b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/2bbde92ab25a0e2c88160857af7be9db5da0d145",
- "reference": "2bbde92ab25a0e2c88160857af7be9db5da0d145",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/ff3a78aceb731b24b256a2845a8ad6e6851f942b",
+ "reference": "ff3a78aceb731b24b256a2845a8ad6e6851f942b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
- },
- "conflict": {
- "phpunit/phpunit": "<7.5|9.1.2"
+ "php": ">=8.1.0"
},
"require-dev": {
- "symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/error-handler": "^5.4|^6.4|^7.0",
- "symfony/polyfill-php81": "^1.27"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/error-handler": "^6.4.3|^7.0.3|^8.0"
},
"bin": [
"bin/simple-phpunit"
@@ -12569,8 +13164,11 @@
],
"description": "Provides utilities for PHPUnit, especially user deprecation notices management",
"homepage": "https://symfony.com",
+ "keywords": [
+ "testing"
+ ],
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v7.2.0"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.18"
},
"funding": [
{
@@ -12581,46 +13179,55 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-11-13T16:15:23+00:00"
+ "time": "2026-08-30T18:28:44+00:00"
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v7.1.10",
+ "version": "v7.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "8bbef1c761814fb73b3c19334a06c5b91a56a79c"
+ "reference": "f9c5fed39f307b23c47e8a11c431d848390f8a67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/8bbef1c761814fb73b3c19334a06c5b91a56a79c",
- "reference": "8bbef1c761814fb73b3c19334a06c5b91a56a79c",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/f9c5fed39f307b23c47e8a11c431d848390f8a67",
+ "reference": "f9c5fed39f307b23c47e8a11c431d848390f8a67",
"shasum": ""
},
"require": {
+ "composer-runtime-api": ">=2.1",
"php": ">=8.2",
- "symfony/config": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/twig-bundle": "^6.4|^7.0",
- "twig/twig": "^3.10"
+ "symfony/config": "^7.3|^8.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.15|^4.0"
},
"conflict": {
"symfony/form": "<6.4",
"symfony/mailer": "<6.4",
- "symfony/messenger": "<6.4"
+ "symfony/messenger": "<6.4",
+ "symfony/serializer": "<7.2",
+ "symfony/workflow": "<7.3"
},
"require-dev": {
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -12651,7 +13258,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.10"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.4.19"
},
"funding": [
{
@@ -12662,25 +13269,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-12-11T07:23:25+00:00"
+ "time": "2026-09-04T10:11:42+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.3",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
+ "reference": "b7489ce515e168639d17feec34b8847c326b0b3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c",
+ "reference": "b7489ce515e168639d17feec34b8847c326b0b3c",
"shasum": ""
},
"require": {
@@ -12709,7 +13320,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
+ "source": "https://github.com/theseer/tokenizer/tree/1.3.1"
},
"funding": [
{
@@ -12717,7 +13328,7 @@
"type": "github"
}
],
- "time": "2024-03-03T12:36:25+00:00"
+ "time": "2025-11-17T20:03:58+00:00"
}
],
"aliases": [],
@@ -12736,5 +13347,5 @@
"platform-overrides": {
"php": "8.2"
},
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.9.0"
}
diff --git a/config/packages/csrf.yaml b/config/packages/csrf.yaml
new file mode 100644
index 00000000..40d40405
--- /dev/null
+++ b/config/packages/csrf.yaml
@@ -0,0 +1,11 @@
+# Enable stateless CSRF protection for forms and logins/logouts
+framework:
+ form:
+ csrf_protection:
+ token_id: submit
+
+ csrf_protection:
+ stateless_token_ids:
+ - submit
+ - authenticate
+ - logout
diff --git a/config/packages/property_info.yaml b/config/packages/property_info.yaml
new file mode 100644
index 00000000..dd31b9da
--- /dev/null
+++ b/config/packages/property_info.yaml
@@ -0,0 +1,3 @@
+framework:
+ property_info:
+ with_constructor_extractor: true
diff --git a/config/reference.php b/config/reference.php
new file mode 100644
index 00000000..a2cc5a6c
--- /dev/null
+++ b/config/reference.php
@@ -0,0 +1,1773 @@
+ [
+ * 'App\\' => [
+ * 'resource' => '../src/',
+ * ],
+ * ],
+ * ]);
+ * ```
+ *
+ * @psalm-type ImportsConfig = list
+ * @psalm-type ParametersConfig = array|Param|null>|Param|null>
+ * @psalm-type ArgumentsType = list|array
+ * @psalm-type CallType = array|array{0:string, 1?:ArgumentsType, 2?:bool}|array{method:string, arguments?:ArgumentsType, returns_clone?:bool}
+ * @psalm-type TagsType = list>> // arrays inside the list must have only one element, with the tag name as the key
+ * @psalm-type CallbackType = string|array{0:string|ReferenceConfigurator,1:string}|\Closure|ReferenceConfigurator|ExpressionConfigurator
+ * @psalm-type DeprecationType = array{package: string, version: string, message?: string}
+ * @psalm-type DefaultsType = array{
+ * public?: bool,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * autowire?: bool,
+ * autoconfigure?: bool,
+ * bind?: array,
+ * }
+ * @psalm-type InstanceofType = array{
+ * shared?: bool,
+ * lazy?: bool|string,
+ * public?: bool,
+ * properties?: array,
+ * configurator?: CallbackType,
+ * calls?: list,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * autowire?: bool,
+ * bind?: array,
+ * constructor?: string,
+ * }
+ * @psalm-type DefinitionType = array{
+ * class?: string,
+ * file?: string,
+ * parent?: string,
+ * shared?: bool,
+ * synthetic?: bool,
+ * lazy?: bool|string,
+ * public?: bool,
+ * abstract?: bool,
+ * deprecated?: DeprecationType,
+ * factory?: CallbackType,
+ * configurator?: CallbackType,
+ * arguments?: ArgumentsType,
+ * properties?: array,
+ * calls?: list,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * decorates?: string,
+ * decoration_inner_name?: string,
+ * decoration_priority?: int,
+ * decoration_on_invalid?: 'exception'|'ignore'|null,
+ * autowire?: bool,
+ * autoconfigure?: bool,
+ * bind?: array,
+ * constructor?: string,
+ * from_callable?: CallbackType,
+ * }
+ * @psalm-type AliasType = string|array{
+ * alias: string,
+ * public?: bool,
+ * deprecated?: DeprecationType,
+ * }
+ * @psalm-type PrototypeType = array{
+ * resource: string,
+ * namespace?: string,
+ * exclude?: string|list,
+ * parent?: string,
+ * shared?: bool,
+ * lazy?: bool|string,
+ * public?: bool,
+ * abstract?: bool,
+ * deprecated?: DeprecationType,
+ * factory?: CallbackType,
+ * arguments?: ArgumentsType,
+ * properties?: array,
+ * configurator?: CallbackType,
+ * calls?: list,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * autowire?: bool,
+ * autoconfigure?: bool,
+ * bind?: array,
+ * constructor?: string,
+ * }
+ * @psalm-type StackType = array{
+ * stack: list>,
+ * public?: bool,
+ * deprecated?: DeprecationType,
+ * }
+ * @psalm-type ServicesConfig = array{
+ * _defaults?: DefaultsType,
+ * _instanceof?: array,
+ * ...
+ * }
+ * @psalm-type ExtensionType = array
+ * @psalm-type FrameworkConfig = array{
+ * secret?: scalar|Param|null,
+ * http_method_override?: bool|Param, // Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. // Default: false
+ * allowed_http_method_override?: null|list,
+ * trust_x_sendfile_type_header?: scalar|Param|null, // Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
+ * ide?: scalar|Param|null, // Default: "%env(default::SYMFONY_IDE)%"
+ * test?: bool|Param,
+ * default_locale?: scalar|Param|null, // Default: "en"
+ * set_locale_from_accept_language?: bool|Param, // Whether to use the Accept-Language HTTP header to set the Request locale (only when the "_locale" request attribute is not passed). // Default: false
+ * set_content_language_from_locale?: bool|Param, // Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
+ * enabled_locales?: list,
+ * trusted_hosts?: Param|string|list,
+ * trusted_proxies?: mixed, // Default: ["%env(default::SYMFONY_TRUSTED_PROXIES)%"]
+ * trusted_headers?: Param|string|list,
+ * error_controller?: scalar|Param|null, // Default: "error_controller"
+ * handle_all_throwables?: bool|Param, // HttpKernel will handle all kinds of \Throwable. // Default: true
+ * csrf_protection?: bool|array{
+ * enabled?: scalar|Param|null, // Default: null
+ * stateless_token_ids?: list,
+ * check_header?: scalar|Param|null, // Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
+ * cookie_name?: scalar|Param|null, // The name of the cookie to use when using stateless protection. // Default: "csrf-token"
+ * },
+ * form?: bool|array{ // Form configuration
+ * enabled?: bool|Param, // Default: true
+ * csrf_protection?: bool|array{
+ * enabled?: scalar|Param|null, // Default: null
+ * token_id?: scalar|Param|null, // Default: null
+ * field_name?: scalar|Param|null, // Default: "_token"
+ * field_attr?: array,
+ * },
+ * },
+ * http_cache?: bool|array{ // HTTP cache configuration
+ * enabled?: bool|Param, // Default: false
+ * debug?: bool|Param, // Default: "%kernel.debug%"
+ * trace_level?: "none"|"short"|"full"|Param,
+ * trace_header?: scalar|Param|null,
+ * default_ttl?: int|Param,
+ * private_headers?: list,
+ * skip_response_headers?: list,
+ * allow_reload?: bool|Param,
+ * allow_revalidate?: bool|Param,
+ * stale_while_revalidate?: int|Param,
+ * stale_if_error?: int|Param,
+ * terminate_on_cache_hit?: bool|Param,
+ * },
+ * esi?: bool|array{ // ESI configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * ssi?: bool|array{ // SSI configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * fragments?: bool|array{ // Fragments configuration
+ * enabled?: bool|Param, // Default: false
+ * hinclude_default_template?: scalar|Param|null, // Default: null
+ * path?: scalar|Param|null, // Default: "/_fragment"
+ * },
+ * profiler?: bool|array{ // Profiler configuration
+ * enabled?: bool|Param, // Default: false
+ * collect?: bool|Param, // Default: true
+ * collect_parameter?: scalar|Param|null, // The name of the parameter to use to enable or disable collection on a per request basis. // Default: null
+ * only_exceptions?: bool|Param, // Default: false
+ * only_main_requests?: bool|Param, // Default: false
+ * dsn?: scalar|Param|null, // Default: "file:%kernel.cache_dir%/profiler"
+ * collect_serializer_data?: bool|Param, // Enables the serializer data collector and profiler panel. // Default: false
+ * },
+ * workflows?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * workflows?: array,
+ * definition_validators?: list,
+ * support_strategy?: scalar|Param|null,
+ * initial_marking?: \BackedEnum|Param|string|list,
+ * events_to_dispatch?: null|list,
+ * places?: Param|string|list,
+ * }>,
+ * transitions?: list,
+ * to?: \BackedEnum|Param|string|list,
+ * weight?: int|Param, // Default: 1
+ * metadata?: array,
+ * }>,
+ * metadata?: array,
+ * }>,
+ * },
+ * router?: bool|array{ // Router configuration
+ * enabled?: bool|Param, // Default: false
+ * resource?: scalar|Param|null,
+ * type?: scalar|Param|null,
+ * cache_dir?: scalar|Param|null, // Deprecated: Setting the "framework.router.cache_dir.cache_dir" configuration option is deprecated. It will be removed in version 8.0. // Default: "%kernel.build_dir%"
+ * default_uri?: scalar|Param|null, // The default URI used to generate URLs in a non-HTTP context. // Default: null
+ * http_port?: scalar|Param|null, // Default: 80
+ * https_port?: scalar|Param|null, // Default: 443
+ * strict_requirements?: scalar|Param|null, // set to true to throw an exception when a parameter does not match the requirements set to false to disable exceptions when a parameter does not match the requirements (and return null instead) set to null to disable parameter checks against requirements 'true' is the preferred configuration in development mode, while 'false' or 'null' might be preferred in production // Default: true
+ * utf8?: bool|Param, // Default: true
+ * },
+ * session?: bool|array{ // Session configuration
+ * enabled?: bool|Param, // Default: false
+ * storage_factory_id?: scalar|Param|null, // Default: "session.storage.factory.native"
+ * handler_id?: scalar|Param|null, // Defaults to using the native session handler, or to the native *file* session handler if "save_path" is not null.
+ * name?: scalar|Param|null,
+ * cookie_lifetime?: scalar|Param|null,
+ * cookie_path?: scalar|Param|null,
+ * cookie_domain?: scalar|Param|null,
+ * cookie_secure?: true|false|"auto"|Param, // Default: "auto"
+ * cookie_httponly?: bool|Param, // Default: true
+ * cookie_samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
+ * use_cookies?: bool|Param,
+ * gc_divisor?: scalar|Param|null,
+ * gc_probability?: scalar|Param|null,
+ * gc_maxlifetime?: scalar|Param|null,
+ * save_path?: scalar|Param|null, // Defaults to "%kernel.cache_dir%/sessions" if the "handler_id" option is not null.
+ * metadata_update_threshold?: int|Param, // Seconds to wait between 2 session metadata updates. // Default: 0
+ * sid_length?: int|Param, // Deprecated: Setting the "framework.session.sid_length.sid_length" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option.
+ * sid_bits_per_character?: int|Param, // Deprecated: Setting the "framework.session.sid_bits_per_character.sid_bits_per_character" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option.
+ * },
+ * request?: bool|array{ // Request configuration
+ * enabled?: bool|Param, // Default: false
+ * formats?: array>,
+ * },
+ * assets?: bool|array{ // Assets configuration
+ * enabled?: bool|Param, // Default: true
+ * strict_mode?: bool|Param, // Throw an exception if an entry is missing from the manifest.json. // Default: false
+ * version_strategy?: scalar|Param|null, // Default: null
+ * version?: scalar|Param|null, // Default: null
+ * version_format?: scalar|Param|null, // Default: "%%s?%%s"
+ * json_manifest_path?: scalar|Param|null, // Default: null
+ * base_path?: scalar|Param|null, // Default: ""
+ * base_urls?: Param|string|list,
+ * packages?: array,
+ * }>,
+ * },
+ * asset_mapper?: bool|array{ // Asset Mapper configuration
+ * enabled?: bool|Param, // Default: false
+ * paths?: Param|string|array,
+ * excluded_patterns?: list,
+ * exclude_dotfiles?: bool|Param, // If true, any files starting with "." will be excluded from the asset mapper. // Default: true
+ * server?: bool|Param, // If true, a "dev server" will return the assets from the public directory (true in "debug" mode only by default). // Default: true
+ * public_prefix?: scalar|Param|null, // The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
+ * missing_import_mode?: "strict"|"warn"|"ignore"|Param, // Behavior if an asset cannot be found when imported from JavaScript or CSS files - e.g. "import './non-existent.js'". "strict" means an exception is thrown, "warn" means a warning is logged, "ignore" means the import is left as-is. // Default: "warn"
+ * extensions?: array,
+ * importmap_path?: scalar|Param|null, // The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
+ * importmap_polyfill?: scalar|Param|null, // The importmap name that will be used to load the polyfill. Set to false to disable. // Default: "es-module-shims"
+ * importmap_script_attributes?: array,
+ * vendor_dir?: scalar|Param|null, // The directory to store JavaScript vendors. // Default: "%kernel.project_dir%/assets/vendor"
+ * precompress?: bool|array{ // Precompress assets with Brotli, Zstandard and gzip.
+ * enabled?: bool|Param, // Default: false
+ * formats?: list,
+ * extensions?: list,
+ * },
+ * },
+ * translator?: bool|array{ // Translator configuration
+ * enabled?: bool|Param, // Default: true
+ * fallbacks?: Param|string|list,
+ * logging?: bool|Param, // Default: false
+ * formatter?: scalar|Param|null, // Default: "translator.formatter.default"
+ * cache_dir?: scalar|Param|null, // Default: "%kernel.cache_dir%/translations"
+ * default_path?: scalar|Param|null, // The default path used to load translations. // Default: "%kernel.project_dir%/translations"
+ * paths?: list,
+ * pseudo_localization?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * accents?: bool|Param, // Default: true
+ * expansion_factor?: float|Param, // Default: 1.0
+ * brackets?: bool|Param, // Default: true
+ * parse_html?: bool|Param, // Default: false
+ * localizable_html_attributes?: list,
+ * },
+ * providers?: array,
+ * locales?: list,
+ * }>,
+ * globals?: array,
+ * domain?: string|Param,
+ * }>,
+ * },
+ * validation?: bool|array{ // Validation configuration
+ * enabled?: bool|Param, // Default: true
+ * cache?: scalar|Param|null, // Deprecated: Setting the "framework.validation.cache.cache" configuration option is deprecated. It will be removed in version 8.0.
+ * enable_attributes?: bool|Param, // Default: true
+ * static_method?: Param|string|list,
+ * translation_domain?: scalar|Param|null, // Default: "validators"
+ * email_validation_mode?: "html5"|"html5-allow-no-tld"|"strict"|"loose"|Param, // Default: "html5"
+ * mapping?: array{
+ * paths?: list,
+ * },
+ * not_compromised_password?: bool|array{
+ * enabled?: bool|Param, // When disabled, compromised passwords will be accepted as valid. // Default: true
+ * endpoint?: scalar|Param|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null
+ * },
+ * disable_translation?: bool|Param, // Default: false
+ * auto_mapping?: array,
+ * }>,
+ * },
+ * annotations?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * serializer?: bool|array{ // Serializer configuration
+ * enabled?: bool|Param, // Default: true
+ * enable_attributes?: bool|Param, // Default: true
+ * name_converter?: scalar|Param|null,
+ * circular_reference_handler?: scalar|Param|null,
+ * max_depth_handler?: scalar|Param|null,
+ * mapping?: array{
+ * paths?: list,
+ * },
+ * default_context?: array,
+ * named_serializers?: array,
+ * include_built_in_normalizers?: bool|Param, // Whether to include the built-in normalizers // Default: true
+ * include_built_in_encoders?: bool|Param, // Whether to include the built-in encoders // Default: true
+ * }>,
+ * },
+ * property_access?: bool|array{ // Property access configuration
+ * enabled?: bool|Param, // Default: true
+ * magic_call?: bool|Param, // Default: false
+ * magic_get?: bool|Param, // Default: true
+ * magic_set?: bool|Param, // Default: true
+ * throw_exception_on_invalid_index?: bool|Param, // Default: false
+ * throw_exception_on_invalid_property_path?: bool|Param, // Default: true
+ * },
+ * type_info?: bool|array{ // Type info configuration
+ * enabled?: bool|Param, // Default: true
+ * aliases?: array,
+ * },
+ * property_info?: bool|array{ // Property info configuration
+ * enabled?: bool|Param, // Default: true
+ * with_constructor_extractor?: bool|Param, // Registers the constructor extractor.
+ * },
+ * cache?: array{ // Cache configuration
+ * prefix_seed?: scalar|Param|null, // Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
+ * app?: scalar|Param|null, // App related cache pools configuration. // Default: "cache.adapter.filesystem"
+ * system?: scalar|Param|null, // System related cache pools configuration. // Default: "cache.adapter.system"
+ * directory?: scalar|Param|null, // Default: "%kernel.share_dir%/pools/app"
+ * default_psr6_provider?: scalar|Param|null,
+ * default_redis_provider?: scalar|Param|null, // Default: "redis://localhost"
+ * default_valkey_provider?: scalar|Param|null, // Default: "valkey://localhost"
+ * default_memcached_provider?: scalar|Param|null, // Default: "memcached://localhost"
+ * default_doctrine_dbal_provider?: scalar|Param|null, // Default: "database_connection"
+ * default_pdo_provider?: scalar|Param|null, // Default: null
+ * pools?: array,
+ * tags?: scalar|Param|null, // Default: null
+ * public?: bool|Param, // Default: false
+ * default_lifetime?: scalar|Param|null, // Default lifetime of the pool.
+ * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
+ * early_expiration_message_bus?: scalar|Param|null,
+ * clearer?: scalar|Param|null,
+ * }>,
+ * },
+ * php_errors?: array{ // PHP errors handling configuration
+ * log?: mixed, // Use the application logger instead of the PHP logger for logging PHP errors. // Default: true
+ * throw?: bool|Param, // Throw PHP errors as \ErrorException instances. // Default: true
+ * },
+ * exceptions?: array,
+ * web_link?: bool|array{ // Web links configuration
+ * enabled?: bool|Param, // Default: true
+ * },
+ * lock?: Param|bool|string|array{ // Lock configuration
+ * enabled?: bool|Param, // Default: true
+ * resources?: Param|string|array>,
+ * },
+ * semaphore?: Param|bool|string|array{ // Semaphore configuration
+ * enabled?: bool|Param, // Default: false
+ * resources?: Param|string|array,
+ * },
+ * messenger?: bool|array{ // Messenger configuration
+ * enabled?: bool|Param, // Default: true
+ * routing?: array,
+ * }>,
+ * serializer?: array{
+ * default_serializer?: scalar|Param|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
+ * symfony_serializer?: array{
+ * format?: scalar|Param|null, // Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
+ * context?: array,
+ * },
+ * },
+ * transports?: array,
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * retry_strategy?: Param|string|array{
+ * service?: scalar|Param|null, // Service id to override the retry strategy entirely. // Default: null
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
+ * },
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use when processing messages. // Default: null
+ * }>,
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * stop_worker_on_signals?: Param|int|string|list,
+ * default_bus?: scalar|Param|null, // Default: null
+ * buses?: array,
+ * }>,
+ * }>,
+ * },
+ * scheduler?: bool|array{ // Scheduler configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * disallow_search_engine_index?: bool|Param, // Enabled by default when debug is enabled. // Default: true
+ * http_client?: bool|array{ // HTTP Client configuration
+ * enabled?: bool|Param, // Default: true
+ * max_host_connections?: int|Param, // The maximum number of connections to a single host.
+ * default_options?: array{
+ * headers?: array,
+ * vars?: array,
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...)
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
+ * sha1?: mixed,
+ * pin-sha256?: mixed,
+ * md5?: mixed,
+ * },
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: array,
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool|Param, // Default: false
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: Param|int|string|array,
+ * }>,
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * },
+ * mock_response_factory?: scalar|Param|null, // The id of the service that should generate mock responses. It should be either an invokable or an iterable.
+ * scoped_clients?: array,
+ * headers?: array,
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
+ * sha1?: mixed,
+ * pin-sha256?: mixed,
+ * md5?: mixed,
+ * },
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: array,
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool|Param, // Default: false
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: Param|int|string|array,
+ * }>,
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * }>,
+ * },
+ * mailer?: bool|array{ // Mailer configuration
+ * enabled?: bool|Param, // Default: true
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * dsn?: scalar|Param|null, // Default: null
+ * transports?: array,
+ * envelope?: array{ // Mailer Envelope configuration
+ * sender?: scalar|Param|null,
+ * recipients?: Param|string|list,
+ * allowed_recipients?: Param|string|list,
+ * },
+ * headers?: array,
+ * dkim_signer?: bool|array{ // DKIM signer configuration
+ * enabled?: bool|Param, // Default: false
+ * key?: scalar|Param|null, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
+ * domain?: scalar|Param|null, // Default: ""
+ * select?: scalar|Param|null, // Default: ""
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: ""
+ * options?: array,
+ * },
+ * smime_signer?: bool|array{ // S/MIME signer configuration
+ * enabled?: bool|Param, // Default: false
+ * key?: scalar|Param|null, // Path to key (in PEM format) // Default: ""
+ * certificate?: scalar|Param|null, // Path to certificate (in PEM format without the `file://` prefix) // Default: ""
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: null
+ * extra_certificates?: scalar|Param|null, // Default: null
+ * sign_options?: int|Param, // Default: null
+ * },
+ * smime_encrypter?: bool|array{ // S/MIME encrypter configuration
+ * enabled?: bool|Param, // Default: false
+ * repository?: scalar|Param|null, // S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
+ * cipher?: int|Param, // A set of algorithms used to encrypt the message // Default: null
+ * },
+ * },
+ * secrets?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * vault_directory?: scalar|Param|null, // Default: "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%"
+ * local_dotenv_file?: scalar|Param|null, // Default: "%kernel.project_dir%/.env.%kernel.environment%.local"
+ * decryption_env_var?: scalar|Param|null, // Default: "base64:default::SYMFONY_DECRYPTION_SECRET"
+ * },
+ * notifier?: bool|array{ // Notifier configuration
+ * enabled?: bool|Param, // Default: true
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * chatter_transports?: array,
+ * texter_transports?: array,
+ * notification_on_failed_messages?: bool|Param, // Default: false
+ * channel_policy?: array>,
+ * admin_recipients?: list,
+ * },
+ * rate_limiter?: bool|array{ // Rate limiter configuration
+ * enabled?: bool|Param, // Default: true
+ * limiters?: array,
+ * limit?: int|Param, // The maximum allowed hits in a fixed interval or burst.
+ * interval?: scalar|Param|null, // Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * rate?: array{ // Configures the fill rate if "policy" is set to "token_bucket".
+ * interval?: scalar|Param|null, // Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
+ * },
+ * }>,
+ * },
+ * uid?: bool|array{ // Uid configuration
+ * enabled?: bool|Param, // Default: false
+ * default_uuid_version?: 7|6|4|1|Param, // Default: 7
+ * name_based_uuid_version?: 5|3|Param, // Default: 5
+ * name_based_uuid_namespace?: scalar|Param|null,
+ * time_based_uuid_version?: 7|6|1|Param, // Default: 7
+ * time_based_uuid_node?: scalar|Param|null,
+ * },
+ * html_sanitizer?: bool|array{ // HtmlSanitizer configuration
+ * enabled?: bool|Param, // Default: false
+ * sanitizers?: array,
+ * block_elements?: Param|string|list,
+ * drop_elements?: Param|string|list,
+ * allow_attributes?: array,
+ * drop_attributes?: array,
+ * force_attributes?: array>,
+ * force_https_urls?: bool|Param, // Transforms URLs using the HTTP scheme to use the HTTPS scheme instead. // Default: false
+ * allowed_link_schemes?: Param|string|list,
+ * allowed_link_hosts?: Param|null|string|list,
+ * allow_relative_links?: bool|Param, // Allows relative URLs to be used in links href attributes. // Default: false
+ * allowed_media_schemes?: Param|string|list,
+ * allowed_media_hosts?: Param|null|string|list,
+ * allow_relative_medias?: bool|Param, // Allows relative URLs to be used in media source attributes (img, audio, video, ...). // Default: false
+ * with_attribute_sanitizers?: Param|string|list,
+ * without_attribute_sanitizers?: Param|string|list,
+ * max_input_length?: int|Param, // The maximum length allowed for the sanitized input. // Default: 0
+ * }>,
+ * },
+ * webhook?: bool|array{ // Webhook configuration
+ * enabled?: bool|Param, // Default: false
+ * message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus"
+ * routing?: array,
+ * },
+ * remote_event?: bool|array{ // RemoteEvent configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * json_streamer?: bool|array{ // JSON streamer configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * }
+ * @psalm-type TwigConfig = array{
+ * form_themes?: list,
+ * globals?: array
+ * }>,
+ * autoescape_service?: scalar|Param|null, // Default: null
+ * autoescape_service_method?: scalar|Param|null, // Default: null
+ * base_template_class?: scalar|Param|null, // Deprecated: The child node "base_template_class" at path "twig.base_template_class" is deprecated.
+ * cache?: scalar|Param|null, // Default: true
+ * charset?: scalar|Param|null, // Default: "%kernel.charset%"
+ * debug?: bool|Param, // Default: "%kernel.debug%"
+ * strict_variables?: bool|Param, // Default: "%kernel.debug%"
+ * auto_reload?: scalar|Param|null,
+ * optimizations?: int|Param,
+ * default_path?: scalar|Param|null, // The default path used to load templates. // Default: "%kernel.project_dir%/templates"
+ * file_name_pattern?: Param|string|list,
+ * paths?: array,
+ * date?: array{ // The default format options used by the date filter.
+ * format?: scalar|Param|null, // Default: "F j, Y H:i"
+ * interval_format?: scalar|Param|null, // Default: "%d days"
+ * timezone?: scalar|Param|null, // The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used. // Default: null
+ * },
+ * number_format?: array{ // The default format options for the number_format filter.
+ * decimals?: int|Param, // Default: 0
+ * decimal_point?: scalar|Param|null, // Default: "."
+ * thousands_separator?: scalar|Param|null, // Default: ","
+ * },
+ * mailer?: array{
+ * html_to_text_converter?: scalar|Param|null, // A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
+ * },
+ * }
+ * @psalm-type TwigExtraConfig = array{
+ * cache?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * html?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * markdown?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * intl?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * cssinliner?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * inky?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * string?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * commonmark?: array{
+ * renderer?: array{ // Array of options for rendering HTML.
+ * block_separator?: scalar|Param|null,
+ * inner_separator?: scalar|Param|null,
+ * soft_break?: scalar|Param|null,
+ * },
+ * html_input?: "strip"|"allow"|"escape"|Param, // How to handle HTML input.
+ * allow_unsafe_links?: bool|Param, // Remove risky link and image URLs by setting this to false. // Default: true
+ * max_nesting_level?: int|Param, // The maximum nesting level for blocks. // Default: 9223372036854775807
+ * max_delimiters_per_line?: int|Param, // The maximum number of strong/emphasis delimiters per line. // Default: 9223372036854775807
+ * slug_normalizer?: array{ // Array of options for configuring how URL-safe slugs are created.
+ * instance?: mixed,
+ * max_length?: int|Param, // Default: 255
+ * unique?: mixed,
+ * },
+ * commonmark?: array{ // Array of options for configuring the CommonMark core extension.
+ * enable_em?: bool|Param, // Default: true
+ * enable_strong?: bool|Param, // Default: true
+ * use_asterisk?: bool|Param, // Default: true
+ * use_underscore?: bool|Param, // Default: true
+ * unordered_list_markers?: list,
+ * },
+ * ...
+ * },
+ * }
+ * @psalm-type WebProfilerConfig = array{
+ * toolbar?: bool|array{ // Profiler toolbar configuration
+ * enabled?: bool|Param, // Default: false
+ * ajax_replace?: bool|Param, // Replace toolbar on AJAX requests // Default: false
+ * },
+ * intercept_redirects?: bool|Param, // Default: false
+ * excluded_ajax_paths?: scalar|Param|null, // Default: "^/((index|app(_[\\w]+)?)\\.php/)?_wdt"
+ * }
+ * @psalm-type MonologConfig = array{
+ * use_microseconds?: scalar|Param|null, // Default: true
+ * channels?: list,
+ * handlers?: array
+ * },
+ * path?: scalar|Param|null, // Default: "%kernel.logs_dir%/%kernel.environment%.log"
+ * file_permission?: scalar|Param|null, // Default: null
+ * use_locking?: bool|Param, // Default: false
+ * filename_format?: scalar|Param|null, // Default: "{filename}-{date}"
+ * date_format?: scalar|Param|null, // Default: "Y-m-d"
+ * ident?: scalar|Param|null, // Default: false
+ * logopts?: scalar|Param|null, // Default: 1
+ * facility?: scalar|Param|null, // Default: "user"
+ * max_files?: scalar|Param|null, // Default: 0
+ * action_level?: scalar|Param|null, // Default: "WARNING"
+ * activation_strategy?: scalar|Param|null, // Default: null
+ * stop_buffering?: bool|Param, // Default: true
+ * passthru_level?: scalar|Param|null, // Default: null
+ * excluded_404s?: list,
+ * excluded_http_codes?: list,
+ * }>,
+ * accepted_levels?: list,
+ * min_level?: scalar|Param|null, // Default: "DEBUG"
+ * max_level?: scalar|Param|null, // Default: "EMERGENCY"
+ * buffer_size?: scalar|Param|null, // Default: 0
+ * flush_on_overflow?: bool|Param, // Default: false
+ * handler?: scalar|Param|null,
+ * url?: scalar|Param|null,
+ * exchange?: scalar|Param|null,
+ * exchange_name?: scalar|Param|null, // Default: "log"
+ * room?: scalar|Param|null,
+ * message_format?: scalar|Param|null, // Default: "text"
+ * api_version?: scalar|Param|null, // Default: null
+ * channel?: scalar|Param|null, // Default: null
+ * bot_name?: scalar|Param|null, // Default: "Monolog"
+ * use_attachment?: scalar|Param|null, // Default: true
+ * use_short_attachment?: scalar|Param|null, // Default: false
+ * include_extra?: scalar|Param|null, // Default: false
+ * icon_emoji?: scalar|Param|null, // Default: null
+ * webhook_url?: scalar|Param|null,
+ * exclude_fields?: list,
+ * team?: scalar|Param|null,
+ * notify?: scalar|Param|null, // Default: false
+ * nickname?: scalar|Param|null, // Default: "Monolog"
+ * token?: scalar|Param|null,
+ * region?: scalar|Param|null,
+ * source?: scalar|Param|null,
+ * use_ssl?: bool|Param, // Default: true
+ * user?: mixed,
+ * title?: scalar|Param|null, // Default: null
+ * host?: scalar|Param|null, // Default: null
+ * port?: scalar|Param|null, // Default: 514
+ * config?: list,
+ * members?: list,
+ * connection_string?: scalar|Param|null,
+ * timeout?: scalar|Param|null,
+ * time?: scalar|Param|null, // Default: 60
+ * deduplication_level?: scalar|Param|null, // Default: 400
+ * store?: scalar|Param|null, // Default: null
+ * connection_timeout?: scalar|Param|null,
+ * persistent?: bool|Param,
+ * dsn?: scalar|Param|null,
+ * hub_id?: scalar|Param|null, // Default: null
+ * client_id?: scalar|Param|null, // Default: null
+ * auto_log_stacks?: scalar|Param|null, // Default: false
+ * release?: scalar|Param|null, // Default: null
+ * environment?: scalar|Param|null, // Default: null
+ * message_type?: scalar|Param|null, // Default: 0
+ * parse_mode?: scalar|Param|null, // Default: null
+ * disable_webpage_preview?: bool|Param|null, // Default: null
+ * disable_notification?: bool|Param|null, // Default: null
+ * split_long_messages?: bool|Param, // Default: false
+ * delay_between_messages?: bool|Param, // Default: false
+ * topic?: int|Param, // Default: null
+ * factor?: int|Param, // Default: 1
+ * tags?: Param|string|list,
+ * console_formater_options?: mixed, // Deprecated: "monolog.handlers..console_formater_options.console_formater_options" is deprecated, use "monolog.handlers..console_formater_options.console_formatter_options" instead.
+ * console_formatter_options?: mixed, // Default: []
+ * formatter?: scalar|Param|null,
+ * nested?: bool|Param, // Default: false
+ * publisher?: Param|string|array{
+ * id?: scalar|Param|null,
+ * hostname?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 12201
+ * chunk_size?: scalar|Param|null, // Default: 1420
+ * encoder?: "json"|"compressed_json"|Param,
+ * },
+ * mongo?: Param|string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 27017
+ * user?: scalar|Param|null,
+ * pass?: scalar|Param|null,
+ * database?: scalar|Param|null, // Default: "monolog"
+ * collection?: scalar|Param|null, // Default: "logs"
+ * },
+ * mongodb?: Param|string|array{
+ * id?: scalar|Param|null, // ID of a MongoDB\Client service
+ * uri?: scalar|Param|null,
+ * username?: scalar|Param|null,
+ * password?: scalar|Param|null,
+ * database?: scalar|Param|null, // Default: "monolog"
+ * collection?: scalar|Param|null, // Default: "logs"
+ * },
+ * elasticsearch?: Param|string|array{
+ * id?: scalar|Param|null,
+ * hosts?: list,
+ * host?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 9200
+ * transport?: scalar|Param|null, // Default: "Http"
+ * user?: scalar|Param|null, // Default: null
+ * password?: scalar|Param|null, // Default: null
+ * },
+ * index?: scalar|Param|null, // Default: "monolog"
+ * document_type?: scalar|Param|null, // Default: "logs"
+ * ignore_error?: scalar|Param|null, // Default: false
+ * redis?: Param|string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * password?: scalar|Param|null, // Default: null
+ * port?: scalar|Param|null, // Default: 6379
+ * database?: scalar|Param|null, // Default: 0
+ * key_name?: scalar|Param|null, // Default: "monolog_redis"
+ * },
+ * predis?: Param|string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * },
+ * from_email?: scalar|Param|null,
+ * to_email?: Param|string|list,
+ * subject?: scalar|Param|null,
+ * content_type?: scalar|Param|null, // Default: null
+ * headers?: list,
+ * mailer?: scalar|Param|null, // Default: null
+ * email_prototype?: Param|string|array{
+ * id?: scalar|Param|null,
+ * method?: scalar|Param|null, // Default: null
+ * },
+ * lazy?: bool|Param, // Default: true
+ * verbosity_levels?: array{
+ * VERBOSITY_QUIET?: scalar|Param|null, // Default: "ERROR"
+ * VERBOSITY_NORMAL?: scalar|Param|null, // Default: "WARNING"
+ * VERBOSITY_VERBOSE?: scalar|Param|null, // Default: "NOTICE"
+ * VERBOSITY_VERY_VERBOSE?: scalar|Param|null, // Default: "INFO"
+ * VERBOSITY_DEBUG?: scalar|Param|null, // Default: "DEBUG"
+ * },
+ * channels?: Param|string|array{
+ * type?: scalar|Param|null,
+ * elements?: list,
+ * ...
+ * },
+ * ...
+ * }>,
+ * }
+ * @psalm-type DebugConfig = array{
+ * max_items?: int|Param, // Max number of displayed items past the first level, -1 means no limit. // Default: 2500
+ * min_depth?: int|Param, // Minimum tree depth to clone all the items, 1 is default. // Default: 1
+ * max_string_length?: int|Param, // Max length of displayed strings, -1 means no limit. // Default: -1
+ * dump_destination?: scalar|Param|null, // A stream URL where dumps should be written to. // Default: null
+ * theme?: "dark"|"light"|Param, // Changes the color of the dump() output when rendered directly on the templating. "dark" (default) or "light". // Default: "dark"
+ * }
+ * @psalm-type DoctrineConfig = array{
+ * dbal?: array{
+ * default_connection?: scalar|Param|null,
+ * types?: array,
+ * driver_schemes?: array,
+ * connections?: array,
+ * mapping_types?: array,
+ * default_table_options?: array,
+ * schema_manager_factory?: scalar|Param|null, // Default: "doctrine.dbal.legacy_schema_manager_factory"
+ * result_cache?: scalar|Param|null,
+ * slaves?: array
+ * }>,
+ * replicas?: array
+ * }>,
+ * ...
+ * }>,
+ * ...
+ * },
+ * orm?: array{
+ * default_entity_manager?: scalar|Param|null,
+ * auto_generate_proxy_classes?: scalar|Param|null, // Auto generate mode possible values are: "NEVER", "ALWAYS", "FILE_NOT_EXISTS", "EVAL", "FILE_NOT_EXISTS_OR_CHANGED" // Default: false
+ * enable_lazy_ghost_objects?: bool|Param, // Enables the new implementation of proxies based on lazy ghosts instead of using the legacy implementation // Default: false
+ * proxy_dir?: scalar|Param|null, // Default: "%kernel.cache_dir%/doctrine/orm/Proxies"
+ * proxy_namespace?: scalar|Param|null, // Default: "Proxies"
+ * controller_resolver?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * auto_mapping?: bool|Param|null, // Set to false to disable using route placeholders as lookup criteria when the primary key doesn't match the argument name // Default: null
+ * evict_cache?: bool|Param, // Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
+ * },
+ * entity_managers?: array,
+ * }>,
+ * }>,
+ * ...
+ * },
+ * connection?: scalar|Param|null,
+ * class_metadata_factory_name?: scalar|Param|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
+ * default_repository_class?: scalar|Param|null, // Default: "Doctrine\\ORM\\EntityRepository"
+ * auto_mapping?: scalar|Param|null, // Default: false
+ * naming_strategy?: scalar|Param|null, // Default: "doctrine.orm.naming_strategy.default"
+ * quote_strategy?: scalar|Param|null, // Default: "doctrine.orm.quote_strategy.default"
+ * typed_field_mapper?: scalar|Param|null, // Default: "doctrine.orm.typed_field_mapper.default"
+ * entity_listener_resolver?: scalar|Param|null, // Default: null
+ * repository_factory?: scalar|Param|null, // Default: "doctrine.orm.container_repository_factory"
+ * schema_ignore_classes?: list,
+ * report_fields_where_declared?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.16 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/10455. // Default: false
+ * validate_xml_mapping?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/6728. // Default: false
+ * second_level_cache?: array{
+ * region_cache_driver?: Param|string|array{
+ * type?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
+ * pool?: scalar|Param|null,
+ * },
+ * region_lock_lifetime?: scalar|Param|null, // Default: 60
+ * log_enabled?: bool|Param, // Default: true
+ * region_lifetime?: scalar|Param|null, // Default: 3600
+ * enabled?: bool|Param, // Default: true
+ * factory?: scalar|Param|null,
+ * regions?: array,
+ * loggers?: array,
+ * },
+ * hydrators?: array,
+ * mappings?: array,
+ * dql?: array{
+ * string_functions?: array,
+ * numeric_functions?: array,
+ * datetime_functions?: array,
+ * },
+ * filters?: array,
+ * ...
+ * }>,
+ * identity_generation_preferences?: array,
+ * }>,
+ * resolve_target_entities?: array,
+ * ...
+ * },
+ * }
+ * @psalm-type DoctrineMigrationsConfig = array{
+ * migrations_paths?: array,
+ * services?: array,
+ * factories?: array,
+ * storage?: array{ // Storage to use for migration status metadata.
+ * table_storage?: array{ // The default metadata storage, implemented as a table in the database.
+ * table_name?: scalar|Param|null, // Default: null
+ * version_column_name?: scalar|Param|null, // Default: null
+ * version_column_length?: scalar|Param|null, // Default: null
+ * executed_at_column_name?: scalar|Param|null, // Default: null
+ * execution_time_column_name?: scalar|Param|null, // Default: null
+ * },
+ * },
+ * migrations?: list,
+ * connection?: scalar|Param|null, // Connection name to use for the migrations database. // Default: null
+ * em?: scalar|Param|null, // Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
+ * all_or_nothing?: scalar|Param|null, // Run all migrations in a transaction. // Default: false
+ * check_database_platform?: scalar|Param|null, // Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on. // Default: true
+ * custom_template?: scalar|Param|null, // Custom template path for generated migration classes. // Default: null
+ * organize_migrations?: scalar|Param|null, // Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
+ * enable_profiler?: bool|Param, // Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead. // Default: false
+ * transactional?: bool|Param, // Whether or not to wrap migrations in a single transaction. // Default: true
+ * }
+ * @psalm-type SecurityConfig = array{
+ * access_denied_url?: scalar|Param|null, // Default: null
+ * session_fixation_strategy?: "none"|"migrate"|"invalidate"|Param, // Default: "migrate"
+ * hide_user_not_found?: bool|Param, // Deprecated: The "hide_user_not_found" option is deprecated and will be removed in 8.0. Use the "expose_security_errors" option instead.
+ * expose_security_errors?: \Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::None|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::AccountStatus|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::All|Param, // Default: "none"
+ * erase_credentials?: bool|Param, // Default: true
+ * access_decision_manager?: array{
+ * strategy?: "affirmative"|"consensus"|"unanimous"|"priority"|Param,
+ * service?: scalar|Param|null,
+ * strategy_service?: scalar|Param|null,
+ * allow_if_all_abstain?: bool|Param, // Default: false
+ * allow_if_equal_granted_denied?: bool|Param, // Default: true
+ * },
+ * password_hashers?: array,
+ * hash_algorithm?: scalar|Param|null, // Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
+ * key_length?: scalar|Param|null, // Default: 40
+ * ignore_case?: bool|Param, // Default: false
+ * encode_as_base64?: bool|Param, // Default: true
+ * iterations?: scalar|Param|null, // Default: 5000
+ * cost?: int|Param, // Default: null
+ * memory_cost?: scalar|Param|null, // Default: null
+ * time_cost?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
+ * }>,
+ * providers?: array,
+ * },
+ * entity?: array{
+ * class?: scalar|Param|null, // The full entity class name of your user class.
+ * property?: scalar|Param|null, // Default: null
+ * manager_name?: scalar|Param|null, // Default: null
+ * },
+ * memory?: array{
+ * users?: array,
+ * }>,
+ * },
+ * ldap?: array{
+ * service?: scalar|Param|null,
+ * base_dn?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: null
+ * search_password?: scalar|Param|null, // Default: null
+ * extra_fields?: list,
+ * default_roles?: Param|string|list,
+ * role_fetcher?: scalar|Param|null, // Default: null
+ * uid_key?: scalar|Param|null, // Default: "sAMAccountName"
+ * filter?: scalar|Param|null, // Default: "({uid_key}={user_identifier})"
+ * password_attribute?: scalar|Param|null, // Default: null
+ * },
+ * }>,
+ * firewalls?: array,
+ * security?: bool|Param, // Default: true
+ * user_checker?: scalar|Param|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
+ * request_matcher?: scalar|Param|null,
+ * access_denied_url?: scalar|Param|null,
+ * access_denied_handler?: scalar|Param|null,
+ * entry_point?: scalar|Param|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
+ * provider?: scalar|Param|null,
+ * stateless?: bool|Param, // Default: false
+ * lazy?: bool|Param, // Default: false
+ * context?: scalar|Param|null,
+ * logout?: array{
+ * enable_csrf?: bool|Param|null, // Default: null
+ * csrf_token_id?: scalar|Param|null, // Default: "logout"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_manager?: scalar|Param|null,
+ * path?: scalar|Param|null, // Default: "/logout"
+ * target?: scalar|Param|null, // Default: "/"
+ * invalidate_session?: bool|Param, // Default: true
+ * clear_site_data?: Param|string|list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>,
+ * delete_cookies?: Param|string|array,
+ * },
+ * switch_user?: array{
+ * provider?: scalar|Param|null,
+ * parameter?: scalar|Param|null, // Default: "_switch_user"
+ * role?: scalar|Param|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
+ * target_route?: scalar|Param|null, // Default: null
+ * },
+ * required_badges?: list,
+ * custom_authenticators?: list,
+ * login_throttling?: array{
+ * limiter?: scalar|Param|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
+ * max_attempts?: int|Param, // Default: 5
+ * interval?: scalar|Param|null, // Default: "1 minute"
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by the login rate limiter ("auto" to use the default one when the Lock component is configured, or null to disable locking). // Default: "auto"
+ * cache_pool?: string|Param, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
+ * storage_service?: string|Param, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
+ * },
+ * two_factor?: array{
+ * check_path?: scalar|Param|null, // Default: "/2fa_check"
+ * post_only?: bool|Param, // Default: true
+ * auth_form_path?: scalar|Param|null, // Default: "/2fa"
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * success_handler?: scalar|Param|null, // Default: null
+ * failure_handler?: scalar|Param|null, // Default: null
+ * authentication_required_handler?: scalar|Param|null, // Default: null
+ * auth_code_parameter_name?: scalar|Param|null, // Default: "_auth_code"
+ * trusted_parameter_name?: scalar|Param|null, // Default: "_trusted"
+ * remember_me_sets_trusted?: scalar|Param|null, // Default: false
+ * multi_factor?: bool|Param, // Default: false
+ * prepare_on_login?: bool|Param, // Default: false
+ * prepare_on_access_denied?: bool|Param, // Default: false
+ * enable_csrf?: scalar|Param|null, // Default: false
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "two_factor"
+ * provider?: scalar|Param|null, // Default: null
+ * },
+ * x509?: array{
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN_Email"
+ * credentials?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN"
+ * user_identifier?: scalar|Param|null, // Default: "emailAddress"
+ * },
+ * remote_user?: array{
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "REMOTE_USER"
+ * },
+ * login_link?: array{
+ * check_route?: scalar|Param|null, // Route that will validate the login link - e.g. "app_login_link_verify".
+ * check_post_only?: scalar|Param|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
+ * signature_properties?: list,
+ * lifetime?: int|Param, // The lifetime of the login link in seconds. // Default: 600
+ * max_uses?: int|Param, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
+ * used_link_cache?: scalar|Param|null, // Cache service id used to expired links of max_uses is set.
+ * success_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
+ * failure_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
+ * provider?: scalar|Param|null, // The user provider to load users from.
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * form_login?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
+ * enable_csrf?: bool|Param, // Default: false
+ * post_only?: bool|Param, // Default: true
+ * form_only?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * form_login_ldap?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
+ * enable_csrf?: bool|Param, // Default: false
+ * post_only?: bool|Param, // Default: true
+ * form_only?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * json_login?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * },
+ * json_login_ldap?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * access_token?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: null
+ * token_extractors?: Param|string|list,
+ * token_handler?: Param|string|array{
+ * id?: scalar|Param|null,
+ * oidc_user_info?: Param|string|array{
+ * base_uri?: scalar|Param|null, // Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
+ * discovery?: array{ // Enable the OIDC discovery.
+ * cache?: array{
+ * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
+ * client?: scalar|Param|null, // HttpClient service id to use to call the OIDC server.
+ * },
+ * oidc?: array{
+ * discovery?: array{ // Enable the OIDC discovery.
+ * base_uri?: Param|string|list,
+ * cache?: array{
+ * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
+ * audience?: scalar|Param|null, // Audience set in the token, for validation purpose.
+ * issuers?: list,
+ * algorithm?: array,
+ * algorithms?: list,
+ * key?: scalar|Param|null, // Deprecated: The "key" option is deprecated and will be removed in 8.0. Use the "keyset" option instead. // JSON-encoded JWK used to sign the token (must contain a "kty" key).
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
+ * encryption?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * enforce?: bool|Param, // When enabled, the token shall be encrypted. // Default: false
+ * algorithms?: list,
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
+ * },
+ * },
+ * cas?: array{
+ * validation_url?: scalar|Param|null, // CAS server validation URL
+ * prefix?: scalar|Param|null, // CAS prefix // Default: "cas"
+ * http_client?: scalar|Param|null, // HTTP Client service // Default: null
+ * },
+ * oauth2?: scalar|Param|null,
+ * },
+ * },
+ * http_basic?: array{
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * },
+ * http_basic_ldap?: array{
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * remember_me?: array{
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * service?: scalar|Param|null,
+ * user_providers?: Param|string|list,
+ * catch_exceptions?: bool|Param, // Default: true
+ * signature_properties?: list,
+ * token_provider?: Param|string|array{
+ * service?: scalar|Param|null, // The service ID of a custom remember-me token provider.
+ * doctrine?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * connection?: scalar|Param|null, // Default: null
+ * },
+ * },
+ * token_verifier?: scalar|Param|null, // The service ID of a custom rememberme token verifier.
+ * name?: scalar|Param|null, // Default: "REMEMBERME"
+ * lifetime?: int|Param, // Default: 31536000
+ * path?: scalar|Param|null, // Default: "/"
+ * domain?: scalar|Param|null, // Default: null
+ * secure?: true|false|"auto"|Param, // Default: "auto"
+ * httponly?: bool|Param, // Default: true
+ * samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
+ * always_remember_me?: bool|Param, // Default: false
+ * remember_me_parameter?: scalar|Param|null, // Default: "_remember_me"
+ * },
+ * }>,
+ * access_control?: list,
+ * attributes?: array,
+ * route?: scalar|Param|null, // Default: null
+ * methods?: Param|string|list,
+ * allow_if?: scalar|Param|null, // Default: null
+ * roles?: Param|string|list,
+ * }>,
+ * role_hierarchy?: array>,
+ * }
+ * @psalm-type MakerConfig = array{
+ * root_namespace?: scalar|Param|null, // Default: "App"
+ * generate_final_classes?: bool|Param, // Default: true
+ * generate_final_entities?: bool|Param, // Default: false
+ * }
+ * @psalm-type KnpPaginatorConfig = array{
+ * default_options?: array{
+ * sort_field_name?: scalar|Param|null, // Default: "sort"
+ * sort_direction_name?: scalar|Param|null, // Default: "direction"
+ * filter_field_name?: scalar|Param|null, // Default: "filterField"
+ * filter_value_name?: scalar|Param|null, // Default: "filterValue"
+ * page_name?: scalar|Param|null, // Default: "page"
+ * distinct?: bool|Param, // Default: true
+ * page_out_of_range?: scalar|Param|null, // Default: "ignore"
+ * default_limit?: scalar|Param|null, // Default: 10
+ * },
+ * template?: array{
+ * pagination?: scalar|Param|null, // Default: "@KnpPaginator/Pagination/sliding.html.twig"
+ * rel_links?: scalar|Param|null, // Default: "@KnpPaginator/Pagination/rel_links.html.twig"
+ * filtration?: scalar|Param|null, // Default: "@KnpPaginator/Pagination/filtration.html.twig"
+ * sortable?: scalar|Param|null, // Default: "@KnpPaginator/Pagination/sortable_link.html.twig"
+ * },
+ * page_range?: scalar|Param|null, // Default: 5
+ * page_limit?: int|Param, // Default: null
+ * convert_exception?: bool|Param, // Default: false
+ * remove_first_page_param?: bool|Param, // Default: false
+ * }
+ * @psalm-type WebpackEncoreConfig = array{
+ * output_path?: scalar|Param|null, // The path where Encore is building the assets - i.e. Encore.setOutputPath()
+ * crossorigin?: false|"anonymous"|"use-credentials"|Param, // crossorigin value when Encore.enableIntegrityHashes() is used, can be false (default), anonymous or use-credentials // Default: false
+ * preload?: bool|Param, // preload all rendered script and link tags automatically via the http2 Link header. // Default: false
+ * cache?: bool|Param, // Enable caching of the entry point file(s) // Default: false
+ * strict_mode?: bool|Param, // Throw an exception if the entrypoints.json file is missing or an entry is missing from the data // Default: true
+ * builds?: array,
+ * script_attributes?: array,
+ * link_attributes?: array,
+ * }
+ * @psalm-type SymfonycastsVerifyEmailConfig = array{
+ * lifetime?: int|Param, // The length of time in seconds that a signed URI is valid for after it is created. // Default: 3600
+ * }
+ * @psalm-type SchebTwoFactorConfig = array{
+ * persister?: scalar|Param|null, // Default: "scheb_two_factor.persister.doctrine"
+ * model_manager_name?: scalar|Param|null, // Default: null
+ * security_tokens?: list,
+ * ip_whitelist?: list,
+ * ip_whitelist_provider?: scalar|Param|null, // Default: "scheb_two_factor.default_ip_whitelist_provider"
+ * two_factor_token_factory?: scalar|Param|null, // Default: "scheb_two_factor.default_token_factory"
+ * two_factor_provider_decider?: scalar|Param|null, // Default: "scheb_two_factor.default_provider_decider"
+ * two_factor_condition?: scalar|Param|null, // Default: null
+ * google?: bool|array{
+ * enabled?: scalar|Param|null, // Default: false
+ * form_renderer?: scalar|Param|null, // Default: null
+ * issuer?: scalar|Param|null, // Default: null
+ * server_name?: scalar|Param|null, // Default: null
+ * template?: scalar|Param|null, // Default: "@SchebTwoFactor/Authentication/form.html.twig"
+ * digits?: int|Param, // Default: 6
+ * leeway?: int|Param, // Default: 0
+ * },
+ * }
+ * @psalm-type ConfigType = array{
+ * imports?: ImportsConfig,
+ * parameters?: ParametersConfig,
+ * services?: ServicesConfig,
+ * framework?: FrameworkConfig,
+ * twig?: TwigConfig,
+ * twig_extra?: TwigExtraConfig,
+ * monolog?: MonologConfig,
+ * doctrine?: DoctrineConfig,
+ * doctrine_migrations?: DoctrineMigrationsConfig,
+ * security?: SecurityConfig,
+ * knp_paginator?: KnpPaginatorConfig,
+ * webpack_encore?: WebpackEncoreConfig,
+ * symfonycasts_verify_email?: SymfonycastsVerifyEmailConfig,
+ * scheb_two_factor?: SchebTwoFactorConfig,
+ * "when@dev"?: array{
+ * imports?: ImportsConfig,
+ * parameters?: ParametersConfig,
+ * services?: ServicesConfig,
+ * framework?: FrameworkConfig,
+ * twig?: TwigConfig,
+ * twig_extra?: TwigExtraConfig,
+ * web_profiler?: WebProfilerConfig,
+ * monolog?: MonologConfig,
+ * debug?: DebugConfig,
+ * doctrine?: DoctrineConfig,
+ * doctrine_migrations?: DoctrineMigrationsConfig,
+ * security?: SecurityConfig,
+ * maker?: MakerConfig,
+ * knp_paginator?: KnpPaginatorConfig,
+ * webpack_encore?: WebpackEncoreConfig,
+ * symfonycasts_verify_email?: SymfonycastsVerifyEmailConfig,
+ * scheb_two_factor?: SchebTwoFactorConfig,
+ * },
+ * "when@prod"?: array{
+ * imports?: ImportsConfig,
+ * parameters?: ParametersConfig,
+ * services?: ServicesConfig,
+ * framework?: FrameworkConfig,
+ * twig?: TwigConfig,
+ * twig_extra?: TwigExtraConfig,
+ * monolog?: MonologConfig,
+ * doctrine?: DoctrineConfig,
+ * doctrine_migrations?: DoctrineMigrationsConfig,
+ * security?: SecurityConfig,
+ * knp_paginator?: KnpPaginatorConfig,
+ * webpack_encore?: WebpackEncoreConfig,
+ * symfonycasts_verify_email?: SymfonycastsVerifyEmailConfig,
+ * scheb_two_factor?: SchebTwoFactorConfig,
+ * },
+ * "when@test"?: array{
+ * imports?: ImportsConfig,
+ * parameters?: ParametersConfig,
+ * services?: ServicesConfig,
+ * framework?: FrameworkConfig,
+ * twig?: TwigConfig,
+ * twig_extra?: TwigExtraConfig,
+ * web_profiler?: WebProfilerConfig,
+ * monolog?: MonologConfig,
+ * doctrine?: DoctrineConfig,
+ * doctrine_migrations?: DoctrineMigrationsConfig,
+ * security?: SecurityConfig,
+ * knp_paginator?: KnpPaginatorConfig,
+ * webpack_encore?: WebpackEncoreConfig,
+ * symfonycasts_verify_email?: SymfonycastsVerifyEmailConfig,
+ * scheb_two_factor?: SchebTwoFactorConfig,
+ * },
+ * ...,
+ * }>
+ * }
+ */
+final class App
+{
+ /**
+ * @param ConfigType $config
+ *
+ * @psalm-return ConfigType
+ */
+ public static function config(array $config): array
+ {
+ /** @var ConfigType $config */
+ $config = AppReference::config($config);
+
+ return $config;
+ }
+}
+
+namespace Symfony\Component\Routing\Loader\Configurator;
+
+/**
+ * This class provides array-shapes for configuring the routes of an application.
+ *
+ * Example:
+ *
+ * ```php
+ * // config/routes.php
+ * namespace Symfony\Component\Routing\Loader\Configurator;
+ *
+ * return Routes::config([
+ * 'controllers' => [
+ * 'resource' => 'routing.controllers',
+ * ],
+ * ]);
+ * ```
+ *
+ * @psalm-type RouteConfig = array{
+ * path: string|array,
+ * controller?: string,
+ * methods?: string|list,
+ * requirements?: array,
+ * defaults?: array,
+ * options?: array,
+ * host?: string|array,
+ * schemes?: string|list,
+ * condition?: string,
+ * locale?: string,
+ * format?: string,
+ * utf8?: bool,
+ * stateless?: bool,
+ * }
+ * @psalm-type ImportConfig = array{
+ * resource: string,
+ * type?: string,
+ * exclude?: string|list,
+ * prefix?: string|array,
+ * name_prefix?: string,
+ * trailing_slash_on_root?: bool,
+ * controller?: string,
+ * methods?: string|list,
+ * requirements?: array,
+ * defaults?: array,
+ * options?: array,
+ * host?: string|array,
+ * schemes?: string|list,
+ * condition?: string,
+ * locale?: string,
+ * format?: string,
+ * utf8?: bool,
+ * stateless?: bool,
+ * }
+ * @psalm-type AliasConfig = array{
+ * alias: string,
+ * deprecated?: array{package:string, version:string, message?:string},
+ * }
+ * @psalm-type RoutesConfig = array{
+ * "when@dev"?: array,
+ * "when@prod"?: array,
+ * "when@test"?: array,
+ * ...
+ * }
+ */
+final class Routes
+{
+ /**
+ * @param RoutesConfig $config
+ *
+ * @psalm-return RoutesConfig
+ */
+ public static function config(array $config): array
+ {
+ return $config;
+ }
+}
diff --git a/config/services.yaml b/config/services.yaml
index 59af8a91..379e331d 100644
--- a/config/services.yaml
+++ b/config/services.yaml
@@ -7,7 +7,7 @@ parameters:
locale: 'en'
app_locales: 'en|ru|nl|bg|hu'
images_directory: '%kernel.project_dir%/public/uploads/images'
- app_version: '2.11.3'
+ app_version: '2.11.4'
services:
# default configuration for services in *this* file
diff --git a/phpstan.dist.neon b/phpstan.dist.neon
index e65e5aa0..58d0aa16 100644
--- a/phpstan.dist.neon
+++ b/phpstan.dist.neon
@@ -5,3 +5,5 @@ parameters:
- config/
- public/
- src/
+ excludePaths:
+ - config/reference.php
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index ec085072..c78849cd 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -11,6 +11,7 @@
+
diff --git a/public/build/entrypoints.json b/public/build/entrypoints.json
index 54b40bf4..03192da3 100644
--- a/public/build/entrypoints.json
+++ b/public/build/entrypoints.json
@@ -30,6 +30,12 @@
"/build/js/map.7d2feb0e.js"
]
},
+ "js/properties-map": {
+ "js": [
+ "/build/runtime.8ab7f0c8.js",
+ "/build/js/properties-map.2c717d15.js"
+ ]
+ },
"js/menu-sorting": {
"js": [
"/build/runtime.8ab7f0c8.js",
diff --git a/public/build/js/properties-map.2c717d15.js b/public/build/js/properties-map.2c717d15.js
new file mode 100644
index 00000000..2af930af
--- /dev/null
+++ b/public/build/js/properties-map.2c717d15.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[767],{725:()=>{const e=$("#map"),a=e.data("markers")||[],t=e.data("center")||[27.188534,-81.128735],n=Number(e.data("zoom"))||7,o=e.data("viewDetails")||"View details";function r(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}ymaps.ready((function(){const e=new ymaps.Map("map",{center:t,zoom:n});a.forEach((a=>{const t=r(a.price),n=r(a.category),c=r(a.url),p=r(o),s=new ymaps.GeoObject({geometry:{type:"Point",coordinates:[a.lat,a.lng]},properties:{hintContent:t,balloonContentHeader:t,balloonContentBody:`${n}
${p}`}},{preset:"islands#blueHomeIcon"});e.geoObjects.add(s)}))})),e.css({width:"100%",height:"85vh","min-height":"400px"})}},e=>{var a;a=725,e(e.s=a)}]);
\ No newline at end of file
diff --git a/public/build/manifest.json b/public/build/manifest.json
index 0cb44978..90c4759b 100644
--- a/public/build/manifest.json
+++ b/public/build/manifest.json
@@ -4,6 +4,7 @@
"build/js/auth.js": "/build/js/auth.87b05c2f.js",
"build/js/ekko-lightbox.js": "/build/js/ekko-lightbox.11ef94c0.js",
"build/js/map.js": "/build/js/map.7d2feb0e.js",
+ "build/js/properties-map.js": "/build/js/properties-map.2c717d15.js",
"build/js/menu-sorting.js": "/build/js/menu-sorting.287ae70d.js",
"build/js/select2.js": "/build/js/select2.98bad6eb.js",
"build/js/settings.js": "/build/js/settings.e36efd93.js",
diff --git a/rector.php b/rector.php
index c12450dd..ae7e2bca 100644
--- a/rector.php
+++ b/rector.php
@@ -15,5 +15,8 @@
->withSets([
LevelSetList::UP_TO_PHP_82,
SymfonySetList::SYMFONY_CODE_QUALITY,
+ SymfonySetList::SYMFONY_71,
SetList::CODE_QUALITY,
- ]);
+ ])
+ ->withAttributesSets()
+ ->withComposerBased(twig: true, doctrine: true, phpunit: true);
diff --git a/src/Command/ListUsersCommand.php b/src/Command/ListUsersCommand.php
index 5fa85cc7..deaa4c19 100644
--- a/src/Command/ListUsersCommand.php
+++ b/src/Command/ListUsersCommand.php
@@ -43,7 +43,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$allUsers = $this->users->findBy([], ['id' => 'DESC'], $limit);
- $usersAsPlainArrays = array_map(fn (User $user) => [
+ $usersAsPlainArrays = array_map(static fn (User $user) => [
$user->getId(),
$user->getProfile()->getFullName(),
$user->getUsername(),
diff --git a/src/Controller/Ajax/CityController.php b/src/Controller/Ajax/CityController.php
index 553961e5..7019c1e4 100644
--- a/src/Controller/Ajax/CityController.php
+++ b/src/Controller/Ajax/CityController.php
@@ -39,7 +39,7 @@ private function find(
City $city,
DistrictRepository|MetroRepository|NeighborhoodRepository $repository,
): array {
- return array_map(fn ($entity) => [
+ return array_map(static fn ($entity) => [
'id' => $entity->getId(),
'name' => $entity->getName(),
],
diff --git a/src/Controller/Ajax/User/PhotoController.php b/src/Controller/Ajax/User/PhotoController.php
index 5c15a3c0..c6c5a713 100644
--- a/src/Controller/Ajax/User/PhotoController.php
+++ b/src/Controller/Ajax/User/PhotoController.php
@@ -35,8 +35,7 @@ public function upload(Property $property, Request $request, FileUploader $fileU
path: '/user/photo/{id}/sort',
name: 'user_photo_sort',
requirements: ['id' => Requirement::POSITIVE_INT],
- methods: ['POST'])
- ]
+ methods: ['POST'])]
#[IsGranted('PROPERTY_EDIT', subject: 'property', message: 'You cannot change this property.')]
public function sort(Request $request, Property $property): JsonResponse
{
diff --git a/src/Controller/PropertyController.php b/src/Controller/PropertyController.php
index 0e83e61c..e283df9b 100644
--- a/src/Controller/PropertyController.php
+++ b/src/Controller/PropertyController.php
@@ -40,21 +40,92 @@ public function search(
#[Route(path: '/map', name: 'map_view', methods: ['GET'])]
public function mapView(Request $request, PropertyRepository $repository): Response
{
+ $site = $this->site($request);
+ $currency = $site['currency'];
+ $markers = [];
+
+ foreach ($repository->findAllPublished() as $property) {
+ $latitude = $this->parseCoordinate($property->getLatitude());
+ $longitude = $this->parseCoordinate($property->getLongitude());
+
+ if (null === $latitude || null === $longitude) {
+ continue;
+ }
+
+ $markers[] = [
+ 'lat' => $latitude,
+ 'lng' => $longitude,
+ 'price' => trim(\sprintf(
+ '%s%s %s',
+ $currency->getSymbolLeft() ?? '',
+ (string) $property->getPrice(),
+ $currency->getSymbolRight() ?? '',
+ )),
+ 'category' => $property->getCategory()?->getName() ?? '',
+ 'url' => $this->generateUrl('property_show', [
+ 'id' => $property->getId(),
+ 'citySlug' => $property->getCity()?->getSlug(),
+ 'slug' => $property->getSlug(),
+ ]),
+ ];
+ }
+
return $this->render(
'property/map.html.twig',
[
- 'site' => $this->site($request),
- 'properties' => $repository->findAllPublished(),
+ 'site' => $site,
+ 'markers' => $markers,
+ 'map_center' => $this->parseMapCenter($site['map_center'] ?? null),
+ 'map_zoom' => (int) ($site['map_zoom'] ?? 7),
]
);
}
+ private function parseCoordinate(?string $value): ?float
+ {
+ if (null === $value || '' === trim($value)) {
+ return null;
+ }
+
+ if (!preg_match('/^-?\d{1,3}(\.\d{1,15})?$/', trim($value))) {
+ return null;
+ }
+
+ return (float) $value;
+ }
+
+ /**
+ * @return array{0: float, 1: float}
+ */
+ private function parseMapCenter(?string $value): array
+ {
+ $default = [27.188534, -81.128735];
+
+ if (null === $value || '' === trim($value)) {
+ return $default;
+ }
+
+ $parts = array_map('trim', explode(',', $value, 2));
+
+ if (2 !== \count($parts)) {
+ return $default;
+ }
+
+ $latitude = $this->parseCoordinate($parts[0]);
+ $longitude = $this->parseCoordinate($parts[1]);
+
+ if (null === $latitude || null === $longitude) {
+ return $default;
+ }
+
+ return [$latitude, $longitude];
+ }
+
#[Route(
path: '/{citySlug}/{slug}/{id}',
name: 'property_show',
requirements: ['id' => Requirement::POSITIVE_INT],
- methods: ['GET'])
- ]
+ methods: ['GET'])]
#[IsGranted(
'PROPERTY_VIEW',
subject: 'property',
diff --git a/src/Entity/Traits/EntityLocationTrait.php b/src/Entity/Traits/EntityLocationTrait.php
index 33854e89..37f2f6df 100644
--- a/src/Entity/Traits/EntityLocationTrait.php
+++ b/src/Entity/Traits/EntityLocationTrait.php
@@ -9,6 +9,7 @@
use App\Entity\Neighborhood;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
+use Symfony\Component\Validator\Constraints as Assert;
trait EntityLocationTrait
{
@@ -28,9 +29,11 @@ trait EntityLocationTrait
private ?string $address = null;
#[ORM\Column(type: Types::STRING, length: 255, nullable: true)]
+ #[Assert\Regex(pattern: '/^$|^-?\d{1,2}(\.\d{1,15})?$/', message: 'Invalid latitude.')]
private ?string $latitude = null;
#[ORM\Column(type: Types::STRING, length: 255, nullable: true)]
+ #[Assert\Regex(pattern: '/^$|^-?\d{1,3}(\.\d{1,15})?$/', message: 'Invalid longitude.')]
private ?string $longitude = null;
public function getDistrict(): ?District
diff --git a/symfony.lock b/symfony.lock
index c0152838..8e6fabf0 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -8,6 +8,15 @@
"ref": "64d8583af5ea57b7afa4aba4b159907f3a148b05"
}
},
+ "doctrine/deprecations": {
+ "version": "1.1",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "1.0",
+ "ref": "fdd756167454623e21f1d769c5b814b243782a67"
+ }
+ },
"doctrine/doctrine-bundle": {
"version": "2.12",
"recipe": {
@@ -137,6 +146,18 @@
".env"
]
},
+ "symfony/form": {
+ "version": "7.4",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "7.2",
+ "ref": "7d86a6723f4a623f59e2bf966b6aad2fc461d36b"
+ },
+ "files": [
+ "config/packages/csrf.yaml"
+ ]
+ },
"symfony/framework-bundle": {
"version": "7.0",
"recipe": {
@@ -258,6 +279,18 @@
"tests/bootstrap.php"
]
},
+ "symfony/property-info": {
+ "version": "7.4",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "7.3",
+ "ref": "dae70df71978ae9226ae915ffd5fad817f5ca1f7"
+ },
+ "files": [
+ "config/packages/property_info.yaml"
+ ]
+ },
"symfony/routing": {
"version": "7.0",
"recipe": {
diff --git a/templates/property/map.html.twig b/templates/property/map.html.twig
index 180e9c9c..a9da4776 100644
--- a/templates/property/map.html.twig
+++ b/templates/property/map.html.twig
@@ -14,6 +14,18 @@
{% endif %}
+
+
+{% endblock %}
+
+{% block javascripts %}
+
{% if site.ymaps_key != '' %}
@@ -24,40 +36,6 @@
{% endif %}
-
-
-
+ {{ encore_entry_script_tags('js/properties-map') }}
{% endblock %}
diff --git a/templates/property/show.html.twig b/templates/property/show.html.twig
index 9e2209d4..af7efdd1 100644
--- a/templates/property/show.html.twig
+++ b/templates/property/show.html.twig
@@ -57,8 +57,8 @@
diff --git a/tests/Functional/Controller/Admin/MenuControllerTest.php b/tests/Functional/Controller/Admin/MenuControllerTest.php
index df950fa8..49c4273f 100644
--- a/tests/Functional/Controller/Admin/MenuControllerTest.php
+++ b/tests/Functional/Controller/Admin/MenuControllerTest.php
@@ -96,7 +96,7 @@ public function testAdminSortItems(): void
$items = $this->getRepository($client, Menu::class)
->findItems();
- $itemsArray = array_map(fn ($item) => $item->getId(), $items);
+ $itemsArray = array_map(static fn ($item) => $item->getId(), $items);
$uri = '/en/admin/menu/sort';
$client->request(Request::METHOD_POST, $uri, [
diff --git a/tests/Functional/Controller/User/PhotoControllerTest.php b/tests/Functional/Controller/User/PhotoControllerTest.php
index d1dfbec8..0837b28f 100644
--- a/tests/Functional/Controller/User/PhotoControllerTest.php
+++ b/tests/Functional/Controller/User/PhotoControllerTest.php
@@ -56,7 +56,7 @@ public function testSorting(): void
$crawler = $client->request(Request::METHOD_GET, '/en/user/photo/'.$property->getId().'/edit');
$token = $this->getCsrfToken($crawler);
- $itemsArray = $property->getPhotos()->map(fn ($item) => $item->getId())->getValues();
+ $itemsArray = $property->getPhotos()->map(static fn ($item) => $item->getId())->getValues();
$uri = '/en/user/photo/'.$property->getId().'/sort';
$client->request(Request::METHOD_POST, $uri, [
diff --git a/webpack.config.js b/webpack.config.js
index 3ecbc732..e26460c4 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -25,6 +25,7 @@ Encore
.addEntry('js/auth', './assets/js/auth/auth.js')
.addEntry('js/ekko-lightbox', './assets/js/ekko-lightbox.js')
.addEntry('js/map', './assets/js/map.js')
+ .addEntry('js/properties-map', './assets/js/properties-map.js')
.addEntry('js/menu-sorting', './assets/js/admin/menu-sorting.js')
.addEntry('js/select2', './assets/js/select2.js')
.addEntry('js/settings', './assets/js/admin/settings.js')