diff --git a/composer.json b/composer.json index 52e5f53..107e546 100644 --- a/composer.json +++ b/composer.json @@ -78,5 +78,8 @@ "allow-contrib": true, "require": "5.4.*" } + }, + "require-dev": { + "symfony/debug-bundle": "5.4.*" } } diff --git a/composer.lock b/composer.lock index ec1adad..50ea1e2 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": "7d46fa52cba3dcb28f7d339d548030e9", + "content-hash": "203398b3a4f3ff689ff3341c02460f23", "packages": [ { "name": "clue/stream-filter", @@ -74,16 +74,16 @@ }, { "name": "doctrine/annotations", - "version": "1.14.3", + "version": "1.14.4", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af" + "reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", - "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/253dca476f70808a5aeed3a47cc2cc88c5cab915", + "reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915", "shasum": "" }, "require": { @@ -94,11 +94,11 @@ }, "require-dev": { "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "~1.4.10 || ^1.10.28", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "vimeo/psalm": "^4.10" + "symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7", + "vimeo/psalm": "^4.30 || ^5.14" }, "suggest": { "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" @@ -144,9 +144,9 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.14.3" + "source": "https://github.com/doctrine/annotations/tree/1.14.4" }, - "time": "2023-02-01T09:20:38+00:00" + "time": "2024-09-05T10:15:52+00:00" }, { "name": "doctrine/deprecations", @@ -591,16 +591,16 @@ }, { "name": "php-http/client-common", - "version": "2.7.1", + "version": "2.7.2", "source": { "type": "git", "url": "https://github.com/php-http/client-common.git", - "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612" + "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612", - "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612", + "url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46", + "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46", "shasum": "" }, "require": { @@ -654,22 +654,22 @@ ], "support": { "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.1" + "source": "https://github.com/php-http/client-common/tree/2.7.2" }, - "time": "2023-11-30T10:31:25+00:00" + "time": "2024-09-24T06:21:48+00:00" }, { "name": "php-http/discovery", - "version": "1.19.4", + "version": "1.20.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "0700efda8d7526335132360167315fdab3aeb599" + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", - "reference": "0700efda8d7526335132360167315fdab3aeb599", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", "shasum": "" }, "require": { @@ -733,22 +733,22 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.4" + "source": "https://github.com/php-http/discovery/tree/1.20.0" }, - "time": "2024-03-29T13:00:05+00:00" + "time": "2024-10-02T11:20:13+00:00" }, { "name": "php-http/httplug", - "version": "2.4.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67" + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67", + "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", "shasum": "" }, "require": { @@ -790,22 +790,22 @@ ], "support": { "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.0" + "source": "https://github.com/php-http/httplug/tree/2.4.1" }, - "time": "2023-04-14T15:10:03+00:00" + "time": "2024-09-23T11:39:58+00:00" }, { "name": "php-http/message", - "version": "1.16.1", + "version": "1.16.2", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "5997f3289332c699fa2545c427826272498a2088" + "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", - "reference": "5997f3289332c699fa2545c427826272498a2088", + "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", + "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", "shasum": "" }, "require": { @@ -859,9 +859,9 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.1" + "source": "https://github.com/php-http/message/tree/1.16.2" }, - "time": "2024-03-07T13:22:09+00:00" + "time": "2024-10-02T11:34:13+00:00" }, { "name": "php-http/message-factory", @@ -1805,16 +1805,16 @@ }, { "name": "symfony/cache", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "89005bc368ca02ed0433c592e4d27670d0844a66" + "reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/89005bc368ca02ed0433c592e4d27670d0844a66", - "reference": "89005bc368ca02ed0433c592e4d27670d0844a66", + "url": "https://api.github.com/repos/symfony/cache/zipball/4b3e7bf157b8b5a010865701d9106b5f0a9c99a8", + "reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8", "shasum": "" }, "require": { @@ -1882,7 +1882,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.40" + "source": "https://github.com/symfony/cache/tree/v5.4.44" }, "funding": [ { @@ -1898,7 +1898,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-13T16:57:39+00:00" }, { "name": "symfony/cache-contracts", @@ -2060,16 +2060,16 @@ }, { "name": "symfony/console", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba" + "reference": "5b5a0aa66e3296e303e22490f90f521551835a83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6473d441a913cb997123b59ff2dbe3d1cf9e11ba", - "reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba", + "url": "https://api.github.com/repos/symfony/console/zipball/5b5a0aa66e3296e303e22490f90f521551835a83", + "reference": "5b5a0aa66e3296e303e22490f90f521551835a83", "shasum": "" }, "require": { @@ -2139,7 +2139,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.41" + "source": "https://github.com/symfony/console/tree/v5.4.44" }, "funding": [ { @@ -2155,20 +2155,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:48:55+00:00" + "time": "2024-09-20T07:56:40+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "408b33326496030c201b8051b003e9e8cdb2efc9" + "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/408b33326496030c201b8051b003e9e8cdb2efc9", - "reference": "408b33326496030c201b8051b003e9e8cdb2efc9", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/23eb9f3803a931aef16a65f362a9aeb0640a1374", + "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374", "shasum": "" }, "require": { @@ -2228,7 +2228,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.4.40" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.44" }, "funding": [ { @@ -2244,7 +2244,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-12T20:01:35+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2315,16 +2315,16 @@ }, { "name": "symfony/dotenv", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d" + "reference": "bb4fef2bf035a50170fd95e5b146152834126008" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d", - "reference": "3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/bb4fef2bf035a50170fd95e5b146152834126008", + "reference": "bb4fef2bf035a50170fd95e5b146152834126008", "shasum": "" }, "require": { @@ -2366,7 +2366,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v5.4.40" + "source": "https://github.com/symfony/dotenv/tree/v5.4.44" }, "funding": [ { @@ -2382,20 +2382,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-16T09:39:25+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.41", + "version": "v5.4.42", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1" + "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c25da5cc2de4e6f96b3a0a2813050355a20dd0e1", - "reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/db15ba0fd50890156ed40087ccedc7851a1f5b76", + "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76", "shasum": "" }, "require": { @@ -2437,7 +2437,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.41" + "source": "https://github.com/symfony/error-handler/tree/v5.4.42" }, "funding": [ { @@ -2453,7 +2453,7 @@ "type": "tidelift" } ], - "time": "2024-06-09T18:59:35+00:00" + "time": "2024-07-23T12:34:05+00:00" }, { "name": "symfony/event-dispatcher", @@ -2618,16 +2618,16 @@ }, { "name": "symfony/expression-language", - "version": "v5.4.40", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "77670d1e74086dc8d941a18f97097bbf988f2840" + "reference": "9d23f7bfd1d602fddc6d6520decedc99739497dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/77670d1e74086dc8d941a18f97097bbf988f2840", - "reference": "77670d1e74086dc8d941a18f97097bbf988f2840", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/9d23f7bfd1d602fddc6d6520decedc99739497dd", + "reference": "9d23f7bfd1d602fddc6d6520decedc99739497dd", "shasum": "" }, "require": { @@ -2661,7 +2661,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v5.4.40" + "source": "https://github.com/symfony/expression-language/tree/v5.4.43" }, "funding": [ { @@ -2677,20 +2677,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-08-09T07:10:35+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "6d29dd9340b372fa603f04e6df4dd76bb808591e" + "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6d29dd9340b372fa603f04e6df4dd76bb808591e", - "reference": "6d29dd9340b372fa603f04e6df4dd76bb808591e", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/76c3818964e9d32be3862c9318ae3ba9aa280ddc", + "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc", "shasum": "" }, "require": { @@ -2728,7 +2728,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.41" + "source": "https://github.com/symfony/filesystem/tree/v5.4.44" }, "funding": [ { @@ -2744,20 +2744,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:36:24+00:00" + "time": "2024-09-16T14:52:48+00:00" }, { "name": "symfony/finder", - "version": "v5.4.40", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "f51cff4687547641c7d8180d74932ab40b2205ce" + "reference": "ae25a9145a900764158d439653d5630191155ca0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/f51cff4687547641c7d8180d74932ab40b2205ce", - "reference": "f51cff4687547641c7d8180d74932ab40b2205ce", + "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", + "reference": "ae25a9145a900764158d439653d5630191155ca0", "shasum": "" }, "require": { @@ -2791,7 +2791,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.40" + "source": "https://github.com/symfony/finder/tree/v5.4.43" }, "funding": [ { @@ -2807,26 +2807,29 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-08-13T14:03:51+00:00" }, { "name": "symfony/flex", - "version": "v2.4.5", + "version": "v2.4.7", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e" + "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e", + "url": "https://api.github.com/repos/symfony/flex/zipball/92f4fba342161ff36072bd3b8e0b3c6c23160402", + "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402", "shasum": "" }, "require": { "composer-plugin-api": "^2.1", "php": ">=8.0" }, + "conflict": { + "composer/semver": "<1.7.2" + }, "require-dev": { "composer/composer": "^2.1", "symfony/dotenv": "^5.4|^6.0", @@ -2856,7 +2859,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.5" + "source": "https://github.com/symfony/flex/tree/v2.4.7" }, "funding": [ { @@ -2872,20 +2875,20 @@ "type": "tidelift" } ], - "time": "2024-03-02T08:16:47+00:00" + "time": "2024-10-07T08:51:54+00:00" }, { "name": "symfony/form", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43" + "reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/ff45013def0a3a692e84010095e8ee5fe9a9fa43", - "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43", + "url": "https://api.github.com/repos/symfony/form/zipball/4f3d91f8a7626e3cab9e3d2952321df10013a6eb", + "reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb", "shasum": "" }, "require": { @@ -2958,7 +2961,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v5.4.40" + "source": "https://github.com/symfony/form/tree/v5.4.44" }, "funding": [ { @@ -2974,20 +2977,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-20T07:56:40+00:00" }, { "name": "symfony/framework-bundle", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "18b84194424511fe541fc7962553ae423e4553c7" + "reference": "9ae1957fb817c0fec6d171931f675895a434d988" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/18b84194424511fe541fc7962553ae423e4553c7", - "reference": "18b84194424511fe541fc7962553ae423e4553c7", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/9ae1957fb817c0fec6d171931f675895a434d988", + "reference": "9ae1957fb817c0fec6d171931f675895a434d988", "shasum": "" }, "require": { @@ -2995,7 +2998,7 @@ "php": ">=7.2.5", "symfony/cache": "^5.2|^6.0", "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^5.4.5|^6.0.5", + "symfony/dependency-injection": "^5.4.44|^6.0.5", "symfony/deprecation-contracts": "^2.1|^3", "symfony/error-handler": "^4.4.1|^5.0.1|^6.0", "symfony/event-dispatcher": "^5.1|^6.0", @@ -3108,7 +3111,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v5.4.41" + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.44" }, "funding": [ { @@ -3124,20 +3127,20 @@ "type": "tidelift" } ], - "time": "2024-06-14T09:52:52+00:00" + "time": "2024-09-20T08:11:35+00:00" }, { "name": "symfony/http-client", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "87ca825717928d178de8a3458f163100925fb675" + "reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/87ca825717928d178de8a3458f163100925fb675", - "reference": "87ca825717928d178de8a3458f163100925fb675", + "url": "https://api.github.com/repos/symfony/http-client/zipball/58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04", + "reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04", "shasum": "" }, "require": { @@ -3199,7 +3202,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.41" + "source": "https://github.com/symfony/http-client/tree/v5.4.44" }, "funding": [ { @@ -3215,7 +3218,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:25:22+00:00" + "time": "2024-09-16T14:04:28+00:00" }, { "name": "symfony/http-client-contracts", @@ -3297,16 +3300,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847" + "reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf4893ca4eca3fac4ae06da1590afdbbb4217847", - "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ae0d217e5932aa0b70ddb4cf7822cc76d48aee53", + "reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53", "shasum": "" }, "require": { @@ -3353,7 +3356,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.40" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.44" }, "funding": [ { @@ -3369,20 +3372,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-15T07:55:06+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2" + "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aad4078e1210343b7cd5acb803c02f8b02f002b2", - "reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/788dcf72d9af7432a886aa3b0c5904d68087ba13", + "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13", "shasum": "" }, "require": { @@ -3466,7 +3469,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.41" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.44" }, "funding": [ { @@ -3482,7 +3485,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T11:42:41+00:00" + "time": "2024-09-21T05:47:58+00:00" }, { "name": "symfony/lock", @@ -3708,20 +3711,20 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -3766,7 +3769,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -3782,24 +3785,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "e76343c631b453088e2260ac41dfebe21954de81" + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", - "reference": "e76343c631b453088e2260ac41dfebe21954de81", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance and support of other locales than \"en\"" @@ -3850,7 +3853,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" }, "funding": [ { @@ -3866,24 +3869,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -3931,7 +3934,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -3947,24 +3950,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -4011,7 +4014,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -4027,24 +4030,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1" + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1", - "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4087,7 +4090,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" }, "funding": [ { @@ -4103,24 +4106,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4167,7 +4170,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" }, "funding": [ { @@ -4183,24 +4186,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4243,7 +4246,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" }, "funding": [ { @@ -4259,20 +4262,20 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/property-access", - "version": "v5.4.40", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "6e4834145c2231b34eafabe440aaac478a95b456" + "reference": "2d751866b976a02e22743359733edc55cd20e9fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/6e4834145c2231b34eafabe440aaac478a95b456", - "reference": "6e4834145c2231b34eafabe440aaac478a95b456", + "url": "https://api.github.com/repos/symfony/property-access/zipball/2d751866b976a02e22743359733edc55cd20e9fd", + "reference": "2d751866b976a02e22743359733edc55cd20e9fd", "shasum": "" }, "require": { @@ -4324,7 +4327,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.40" + "source": "https://github.com/symfony/property-access/tree/v5.4.43" }, "funding": [ { @@ -4340,20 +4343,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-08-29T08:50:14+00:00" }, { "name": "symfony/property-info", - "version": "v5.4.41", + "version": "v5.4.42", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "2c96c24961cab73bdc9020809bd82bdadd1a10f2" + "reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/2c96c24961cab73bdc9020809bd82bdadd1a10f2", - "reference": "2c96c24961cab73bdc9020809bd82bdadd1a10f2", + "url": "https://api.github.com/repos/symfony/property-info/zipball/825aa937f6e8cd63dcc118d0af84d7d4979cddf4", + "reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4", "shasum": "" }, "require": { @@ -4415,7 +4418,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.41" + "source": "https://github.com/symfony/property-info/tree/v5.4.42" }, "funding": [ { @@ -4431,7 +4434,7 @@ "type": "tidelift" } ], - "time": "2024-06-09T07:25:10+00:00" + "time": "2024-07-22T18:03:36+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -4594,16 +4597,16 @@ }, { "name": "symfony/routing", - "version": "v5.4.40", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b" + "reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/6df1dd8b306649303267a760699cf04cf39b1f7b", - "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b", + "url": "https://api.github.com/repos/symfony/routing/zipball/b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8", + "reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8", "shasum": "" }, "require": { @@ -4664,7 +4667,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.40" + "source": "https://github.com/symfony/routing/tree/v5.4.43" }, "funding": [ { @@ -4680,7 +4683,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-08-27T06:36:52+00:00" }, { "name": "symfony/runtime", @@ -4764,23 +4767,23 @@ }, { "name": "symfony/security-bundle", - "version": "v5.4.41", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "86557f237fb152412048912660895ab86aa61494" + "reference": "f14a15c6c7bb37879d59c129d96c4c07c7d5db32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/86557f237fb152412048912660895ab86aa61494", - "reference": "86557f237fb152412048912660895ab86aa61494", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/f14a15c6c7bb37879d59c129d96c4c07c7d5db32", + "reference": "f14a15c6c7bb37879d59c129d96c4c07c7d5db32", "shasum": "" }, "require": { "ext-xml": "*", "php": ">=7.2.5", "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", + "symfony/dependency-injection": "^5.4.43|^6.4.11", "symfony/deprecation-contracts": "^2.1|^3", "symfony/event-dispatcher": "^5.1|^6.0", "symfony/http-foundation": "^5.3|^6.0", @@ -4847,7 +4850,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v5.4.41" + "source": "https://github.com/symfony/security-bundle/tree/v5.4.43" }, "funding": [ { @@ -4863,20 +4866,20 @@ "type": "tidelift" } ], - "time": "2024-06-21T13:58:36+00:00" + "time": "2024-08-19T09:13:19+00:00" }, { "name": "symfony/security-core", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "98789f9a01db2168079fa973358ddc4deb6a0da8" + "reference": "8089509e8c92e884fa27af56596576320c3b310d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/98789f9a01db2168079fa973358ddc4deb6a0da8", - "reference": "98789f9a01db2168079fa973358ddc4deb6a0da8", + "url": "https://api.github.com/repos/symfony/security-core/zipball/8089509e8c92e884fa27af56596576320c3b310d", + "reference": "8089509e8c92e884fa27af56596576320c3b310d", "shasum": "" }, "require": { @@ -4941,7 +4944,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v5.4.41" + "source": "https://github.com/symfony/security-core/tree/v5.4.44" }, "funding": [ { @@ -4957,7 +4960,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:24:26+00:00" + "time": "2024-09-01T10:41:54+00:00" }, { "name": "symfony/security-csrf", @@ -5102,16 +5105,16 @@ }, { "name": "symfony/security-http", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "14d271e304dce13ae77e39e6a6353c986e756b40" + "reference": "c0f81598425c170807f19b9a5413ad05323f317b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/14d271e304dce13ae77e39e6a6353c986e756b40", - "reference": "14d271e304dce13ae77e39e6a6353c986e756b40", + "url": "https://api.github.com/repos/symfony/security-http/zipball/c0f81598425c170807f19b9a5413ad05323f317b", + "reference": "c0f81598425c170807f19b9a5413ad05323f317b", "shasum": "" }, "require": { @@ -5168,7 +5171,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v5.4.41" + "source": "https://github.com/symfony/security-http/tree/v5.4.44" }, "funding": [ { @@ -5184,7 +5187,7 @@ "type": "tidelift" } ], - "time": "2024-06-17T05:58:45+00:00" + "time": "2024-09-11T06:50:28+00:00" }, { "name": "symfony/service-contracts", @@ -5271,16 +5274,16 @@ }, { "name": "symfony/string", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096" + "reference": "832caa16b6d9aac6bf11747315225f5aba384c24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/065a9611e0b1fd2197a867e1fb7f2238191b7096", - "reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096", + "url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24", + "reference": "832caa16b6d9aac6bf11747315225f5aba384c24", "shasum": "" }, "require": { @@ -5337,7 +5340,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.41" + "source": "https://github.com/symfony/string/tree/v5.4.44" }, "funding": [ { @@ -5353,20 +5356,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:20:55+00:00" + "time": "2024-09-20T07:56:40+00:00" }, { "name": "symfony/translation", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8" + "reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8", + "url": "https://api.github.com/repos/symfony/translation/zipball/6fed3a20b5b87ee9cdd9dacf545922b8fd475921", + "reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921", "shasum": "" }, "require": { @@ -5434,7 +5437,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.40" + "source": "https://github.com/symfony/translation/tree/v5.4.44" }, "funding": [ { @@ -5450,7 +5453,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-15T08:12:35+00:00" }, { "name": "symfony/translation-contracts", @@ -5532,16 +5535,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9" + "reference": "d049fbe0e5ba0ad758f647fa8f99e840bca43f6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d7b10dad12c49863c20c7f8e4cc74b9416eefbb9", - "reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d049fbe0e5ba0ad758f647fa8f99e840bca43f6f", + "reference": "d049fbe0e5ba0ad758f647fa8f99e840bca43f6f", "shasum": "" }, "require": { @@ -5633,7 +5636,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v5.4.41" + "source": "https://github.com/symfony/twig-bridge/tree/v5.4.44" }, "funding": [ { @@ -5649,20 +5652,20 @@ "type": "tidelift" } ], - "time": "2024-06-09T18:59:35+00:00" + "time": "2024-09-11T13:27:43+00:00" }, { "name": "symfony/twig-bundle", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "997c002735c88b50a6325cca8ecf3d8723902666" + "reference": "b94414b3b9e0c523677c0bf31e8975231b55f18a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/997c002735c88b50a6325cca8ecf3d8723902666", - "reference": "997c002735c88b50a6325cca8ecf3d8723902666", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/b94414b3b9e0c523677c0bf31e8975231b55f18a", + "reference": "b94414b3b9e0c523677c0bf31e8975231b55f18a", "shasum": "" }, "require": { @@ -5723,7 +5726,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v5.4.40" + "source": "https://github.com/symfony/twig-bundle/tree/v5.4.44" }, "funding": [ { @@ -5739,20 +5742,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-07T13:25:07+00:00" }, { "name": "symfony/validator", - "version": "v5.4.41", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "e00b2547f712a97755933db45efc03123b2d2690" + "reference": "5b061420daf15b58e1599cd2191b0780ddcd2157" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/e00b2547f712a97755933db45efc03123b2d2690", - "reference": "e00b2547f712a97755933db45efc03123b2d2690", + "url": "https://api.github.com/repos/symfony/validator/zipball/5b061420daf15b58e1599cd2191b0780ddcd2157", + "reference": "5b061420daf15b58e1599cd2191b0780ddcd2157", "shasum": "" }, "require": { @@ -5792,7 +5795,7 @@ "symfony/http-kernel": "^4.4|^5.0|^6.0", "symfony/intl": "^4.4|^5.0|^6.0", "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/property-access": "^5.4|^6.0", "symfony/property-info": "^5.3|^6.0", "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", "symfony/yaml": "^4.4|^5.0|^6.0" @@ -5836,7 +5839,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v5.4.41" + "source": "https://github.com/symfony/validator/tree/v5.4.44" }, "funding": [ { @@ -5852,20 +5855,20 @@ "type": "tidelift" } ], - "time": "2024-06-10T09:18:21+00:00" + "time": "2024-09-19T08:27:53+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.40", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93" + "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", - "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6be6a6a8af4818564e3726fc65cf936f34743cef", + "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef", "shasum": "" }, "require": { @@ -5925,7 +5928,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.40" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.43" }, "funding": [ { @@ -5941,7 +5944,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-08-30T16:01:46+00:00" }, { "name": "symfony/var-exporter", @@ -6022,16 +6025,16 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v5.4.40", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "a29669617c4e63785f363571a190a706b9022890" + "reference": "8f1628f1361e4623a6c2b373c3594845d6aacb79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a29669617c4e63785f363571a190a706b9022890", - "reference": "a29669617c4e63785f363571a190a706b9022890", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/8f1628f1361e4623a6c2b373c3594845d6aacb79", + "reference": "8f1628f1361e4623a6c2b373c3594845d6aacb79", "shasum": "" }, "require": { @@ -6082,7 +6085,7 @@ "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.40" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.43" }, "funding": [ { @@ -6098,7 +6101,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-08-08T09:11:47+00:00" }, { "name": "symfony/webpack-encore-bundle", @@ -6175,16 +6178,16 @@ }, { "name": "symfony/yaml", - "version": "v5.4.40", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83" + "reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/81cad0ceab3d61fe14fe941ff18a230ac9c80f83", - "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83", + "url": "https://api.github.com/repos/symfony/yaml/zipball/7025b964f123bbf1896d7563db6ec7f1f63e918a", + "reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a", "shasum": "" }, "require": { @@ -6230,7 +6233,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.40" + "source": "https://github.com/symfony/yaml/tree/v5.4.44" }, "funding": [ { @@ -6246,28 +6249,28 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-16T14:36:56+00:00" }, { "name": "twig/twig", - "version": "v3.10.3", + "version": "v3.14.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" + "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72", + "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22" + "symfony/polyfill-php81": "^1.29" }, "require-dev": { "psr/container": "^1.0|^2.0", @@ -6313,7 +6316,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.10.3" + "source": "https://github.com/twigphp/Twig/tree/v3.14.0" }, "funding": [ { @@ -6325,10 +6328,90 @@ "type": "tidelift" } ], - "time": "2024-05-16T10:04:27+00:00" + "time": "2024-09-09T17:55:12+00:00" + } + ], + "packages-dev": [ + { + "name": "symfony/debug-bundle", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug-bundle.git", + "reference": "177f79296705823eee0d7dd79773f3a9df884fe0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/177f79296705823eee0d7dd79773f3a9df884fe0", + "reference": "177f79296705823eee0d7dd79773f3a9df884fe0", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/twig-bridge": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.2" + }, + "require-dev": { + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "For service container configuration", + "symfony/dependency-injection": "For using as a service from the container" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\DebugBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug-bundle/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" } ], - "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": [], @@ -6340,5 +6423,5 @@ "ext-iconv": "*" }, "platform-dev": [], - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/config/bundles.php b/config/bundles.php index c3c3db2..01d71ee 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -7,4 +7,5 @@ return [ Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true], Sentry\SentryBundle\SentryBundle::class => ['all' => true], + Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true], ]; diff --git a/config/packages/debug.yaml b/config/packages/debug.yaml new file mode 100644 index 0000000..ad874af --- /dev/null +++ b/config/packages/debug.yaml @@ -0,0 +1,5 @@ +when@dev: + debug: + # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. + # See the "server:dump" command to start a new server. + dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" diff --git a/docker-compose.yml b/docker-compose.yml index 36ca077..59f5c34 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,12 +13,7 @@ services: ports: - 8082:8071 volumes: - - ./src:/app/src - - ./config:/app/config - - ./translations:/app/translations - - ./templates:/app/templates - - /etc/localtime:/etc/localtime:ro - - $HOME/.ssh:/root/.host-ssh:ro + - .:/app tmpfs: - /var/www/var/logs:uid=${FIXUID:-1000},gid=${FIXGID:-1000} - /var/www/var/cache:uid=${FIXUID:-1000},gid=${FIXGID:-1000} @@ -31,7 +26,7 @@ services: - "localhost:host-gateway" - "host.docker.internal:host-gateway" environment: - - APP_ENV=prod + - APP_ENV=dev - PHP_FPM_MEMORY_LIMIT=128m - APP_LOCALES=fr,en - HYDRA_ADMIN_BASE_URL=http://hydra:4445 diff --git a/src/SQLLogin/SQLLoginConnect.php b/src/SQLLogin/SQLLoginConnect.php index c2a7cfe..9dae959 100644 --- a/src/SQLLogin/SQLLoginConnect.php +++ b/src/SQLLogin/SQLLoginConnect.php @@ -12,7 +12,6 @@ class SQLLoginConnect extends AbstractController /** * Méthode qui crée l'unique instance de la classe * si elle n'existe pas encore puis la retourne. - * */ public static function getInstance(): SQLLoginConnect { @@ -25,6 +24,12 @@ class SQLLoginConnect extends AbstractController public function connect($urlDatabase, $dbUser, $dbPassword): PDO { - return new PDO($urlDatabase, $dbUser, $dbPassword); + $options = [ + PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, + PDO::ATTR_TIMEOUT => 5, + PDO::ATTR_PERSISTENT => false, + ]; + + return new PDO($urlDatabase, $dbUser, $dbPassword, $options); } } diff --git a/src/SQLLogin/SQLLoginRequest.php b/src/SQLLogin/SQLLoginRequest.php index e745213..0f173f4 100644 --- a/src/SQLLogin/SQLLoginRequest.php +++ b/src/SQLLogin/SQLLoginRequest.php @@ -72,33 +72,37 @@ class SQLLoginRequest return $this->config[self::SUBJECT_REWRITE_EXPRESSION]; } - public function getRequestScope(): string + private function getDataFields(): array { - $scope = ''; if (!$this->config[self::DATA_TO_FETCH]) { throw new NullDataToFetchException(); } - foreach ($this->config[self::DATA_TO_FETCH] as $data) { - $scope .= $data.','; - } - // On enlève la dernière virgule - $scope = substr($scope, 0, -1); - - return 'SELECT '.$scope.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';'; + return $this->config[self::DATA_TO_FETCH]; } /** * Construction de la string pour la requête préparée selon la configuration yaml * intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage */ - public function getRequestPassword(): string + private function getPasswordFields(): array { - $fields = $this->getPasswordColumnName(); + $fields[] = $this->getPasswordColumnName(); if (!empty($this->getSaltColumnName())) { - $fields .= ', '.$this->getSaltColumnName(); + $fields[] = $this->getSaltColumnName(); } + return $fields; + } + + /** + * Construction de la string pour la requête préparée selon la configuration yaml + * intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage + */ + public function getDatasRequest(): string + { + $fields = join(',', array_merge($this->getPasswordFields(), $this->getDataFields())); + return 'SELECT '.$fields.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';'; } } diff --git a/src/Security/SQLLoginUserAuthenticator.php b/src/Security/SQLLoginUserAuthenticator.php index 71376f3..0c64c59 100644 --- a/src/Security/SQLLoginUserAuthenticator.php +++ b/src/Security/SQLLoginUserAuthenticator.php @@ -10,7 +10,7 @@ use App\SQLLogin\Exception\DataToFetchConfigurationException; use App\SQLLogin\Exception\InvalidSQLPasswordException; use App\SQLLogin\Exception\LoginElementsConfigurationException; use App\SQLLogin\Exception\SecurityPatternConfigurationException; -use Exception; +use App\SQLLogin\SQLLoginRequest; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; @@ -32,14 +32,17 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator public const ERROR_SECURITY_PATTERN_CONFIGURATION = 'error_security_pattern_configuration'; private string $baseUrl; - private SQLLoginService $sqlLoginService; - private PasswordEncoder $passwordHasher; - public function __construct(string $baseUrl, SQLLoginService $sqlLoginService, PasswordEncoder $passwordHasher) - { + public function __construct( + string $baseUrl, + private SQLLoginService $sqlLoginService, + private PasswordEncoder $passwordHasher, + private SQLLoginRequest $sqlLoginRequest + ) { $this->baseUrl = $baseUrl; $this->sqlLoginService = $sqlLoginService; $this->passwordHasher = $passwordHasher; + $this->sqlLoginRequest = $sqlLoginRequest; } /** @@ -72,29 +75,32 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator $rememberMe = isset($form['_remember_me']) ? true : false; $session = $request->getSession(); try { - // requête préparée - list($remoteHashedPassword, $remoteSalt) = $this->sqlLoginService->fetchPassword($login); + $datas = $this->sqlLoginService->fetchPasswordAndDatas($login); + $remoteHashedPassword = $datas[$this->sqlLoginRequest->getPasswordColumnName()]; + unset($datas[$this->sqlLoginRequest->getPasswordColumnName()]); + $remoteSalt = null; + if ($this->sqlLoginRequest->getSaltColumnName() && isset($datas[$this->sqlLoginRequest->getSaltColumnName()])) { + $remoteSalt = $datas[$this->sqlLoginRequest->getSaltColumnName()]; + unset($datas[$this->sqlLoginRequest->getSaltColumnName()]); + } } catch (DatabaseConnectionException $e) { $session->set(self::ERROR_PDO, true); throw new AuthenticationException(); } catch (LoginElementsConfigurationException $e) { $session->set(self::ERROR_CONFIGURATION, true); throw new AuthenticationException(); - } catch (Exception $exception) { - $request->getSession()->set(self::ERROR_LOGIN, true); + } catch (DataToFetchConfigurationException $e) { + $session->set(self::ERROR_DATA_TO_FETCH_CONFIGURATION, true); throw new AuthenticationException(); } if (null === $remoteHashedPassword) { $remoteHashedPassword = ''; } - try { // Comparaison remote hash et hash du input password + salt $this->passwordHasher->verify($remoteHashedPassword, $plaintextPassword, $remoteSalt); - $attributes = $this->sqlLoginService->fetchDatas($login); - $user = new User($login, $remoteHashedPassword, $attributes, $rememberMe); - + $user = new User($login, $remoteHashedPassword, $datas, $rememberMe); $loader = function (string $userIdentifier) use ($user) { return $user->getLogin() == $userIdentifier ? $user : null; }; @@ -108,12 +114,6 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator } catch (InvalidSQLPasswordException $e) { $session->set(self::ERROR_LOGIN, true); throw new AuthenticationException(); - } catch (DataToFetchConfigurationException $e) { - $session->set(self::ERROR_DATA_TO_FETCH_CONFIGURATION, true); - throw new AuthenticationException(); - } catch (DatabaseConnectionException $e) { - $session->set(self::ERROR_PDO, true); - throw new AuthenticationException(); } catch (SecurityPatternConfigurationException $e) { $session->set(self::ERROR_SECURITY_PATTERN_CONFIGURATION, true); throw new AuthenticationException(); diff --git a/src/Service/SQLLoginService.php b/src/Service/SQLLoginService.php index 1e59062..b411823 100644 --- a/src/Service/SQLLoginService.php +++ b/src/Service/SQLLoginService.php @@ -8,7 +8,6 @@ use App\SQLLogin\Exception\LoginElementsConfigurationException; use App\SQLLogin\Exception\NullDataToFetchException; use App\SQLLogin\SQLLoginConnect; use App\SQLLogin\SQLLoginRequest; -use Exception; use PDO; use PDOException; use Psr\Log\LoggerInterface; @@ -16,86 +15,54 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class SQLLoginService extends AbstractController { - private SQLLoginRequest $sqlLoginRequest; + private PDO $pdo; - public function __construct(SQLLoginRequest $sqlLoginRequest, private LoggerInterface $loggerInterface) - { + public function __construct( + private SQLLoginRequest $sqlLoginRequest, + private LoggerInterface $loggerInterface + ) { $this->sqlLoginRequest = $sqlLoginRequest; $this->loggerInterface = $loggerInterface; + $this->pdo = $this->getConnection(); } - public function fetchDatas(string $login): array + public function fetchPasswordAndDatas(string $login): array { - if (empty($login)) { - throw new Exception('Connexion échouée, le login ne peut pas être vide'); - } try { - $dbh = $this->getConnection(); - } catch (PDOException $e) { - $this->loggerInterface->critical($e->getMessage()); - throw new DatabaseConnectionException($e->getMessage()); - } - try { - // forge de la requête - $request = $this->sqlLoginRequest->getRequestScope(); + $dataRequest = $this->sqlLoginRequest->getDatasRequest(); + $datas = $this->executeRequestWithLogin($dataRequest, $login); } catch (NullDataToFetchException $e) { throw new DataToFetchConfigurationException($e->getMessage()); - } - - try { - // Préparation de la requête - $query = $dbh->prepare($request); - $query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]); - $datas = $query->fetch(PDO::FETCH_ASSOC); - $query->closeCursor(); } catch (PDOException $e) { $this->loggerInterface->critical($e->getMessage()); - throw new DataToFetchConfigurationException($e->getMessage()); - } - - if (false === $datas) { - throw new Exception(sprintf('La requête sql "%s" a renvoyé un résultat incorrect.', $request)); + throw new LoginElementsConfigurationException($e->getMessage()); } return $datas; } - public function fetchPassword(string $login): array + private function executeRequestWithLogin(string $request, string $login): array { - try { - $dbh = $this->getConnection(); - } catch (PDOException $e) { - $this->loggerInterface->critical($e->getMessage()); - throw new DatabaseConnectionException($e->getMessage()); - } + $query = $this->pdo->prepare($request); + $query->bindParam($this->sqlLoginRequest->getLoginColumnName(), $login, PDO::PARAM_STR); + $query->execute(); + $datas = $query->fetch(PDO::FETCH_ASSOC); + $query->closeCursor(); - // forge de la requête - $request = $this->sqlLoginRequest->getRequestPassword(); - - try { - $query = $dbh->prepare($request); - $query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]); - $password = $query->fetch(PDO::FETCH_ASSOC); - $query->closeCursor(); - } catch (PDOException $e) { - $this->loggerInterface->critical($e->getMessage()); - throw new LoginElementsConfigurationException($e->getMessage()); - } - if (!$password) { - throw new Exception('Une erreur est survenue lors de la récupération des données'); - } - - return [ - $password[$this->sqlLoginRequest->getPasswordColumnName()], - isset($password[$this->sqlLoginRequest->getSaltColumnName()]) ? $password[$this->sqlLoginRequest->getSaltColumnName()] : null, - ]; + return $datas; } private function getConnection(): PDO { // Appel du singleton - $sqlLogin = SQLLoginConnect::getInstance(); - // Connection bdd - return $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword()); + try { + $sqlLogin = SQLLoginConnect::getInstance(); + $pdo = $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword()); + } catch (PDOException $e) { + $this->loggerInterface->critical($e->getMessage()); + throw new DatabaseConnectionException($e->getMessage()); + } + + return $pdo; } } diff --git a/symfony.lock b/symfony.lock index 2f41b0b..7447713 100644 --- a/symfony.lock +++ b/symfony.lock @@ -59,6 +59,18 @@ "bin/console" ] }, + "symfony/debug-bundle": { + "version": "5.4", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "5.3", + "ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b" + }, + "files": [ + "config/packages/debug.yaml" + ] + }, "symfony/flex": { "version": "1.21", "recipe": {