diff --git a/.env b/.env index 460d1b8..46b026c 100644 --- a/.env +++ b/.env @@ -1,11 +1,10 @@ ###> symfony/framework-bundle ### APP_ENV=dev -APP_SECRET=ad5e9ed11ff896949f234ec07bc075bf +APP_SECRET=c39972d23278f52101c810eea7d5a512 ###< symfony/framework-bundle ### ###> app ### -BUSINESS_SHORTNAME= -BUSINESS_FULLNAME= +BUSINESS_NAME=Codeception ###< app ### ###> doctrine/doctrine-bundle ### diff --git a/.env.test b/.env.test index 286a33a..3f898bf 100644 --- a/.env.test +++ b/.env.test @@ -2,5 +2,5 @@ APP_ENV=test APP_SECRET='$ecretf0rt3st' DATABASE_URL=sqlite:///%kernel.project_dir%/var/test.db3 KERNEL_CLASS='App\Kernel' -SYMFONY_DEPRECATIONS_HELPER=999999 -MAILER_DSN=null://null \ No newline at end of file +MAILER_DSN=null://null +SYMFONY_DEPRECATIONS_HELPER=999999 \ No newline at end of file diff --git a/.github/workflows/symfony.yml b/.github/workflows/symfony.yml index 9e5f925..470fa49 100644 --- a/.github/workflows/symfony.yml +++ b/.github/workflows/symfony.yml @@ -3,22 +3,22 @@ name: CI on: push: branches: - - '6.4' + - '7.0' pull_request: branches: - - '6.4' + - '7.0' env: APP_ENV: test jobs: symfony: - name: Symfony 6.4 (PHP ${{ matrix.php-versions }}) + name: Symfony 7.0 (PHP ${{ matrix.php-versions }}) runs-on: ubuntu-latest strategy: fail-fast: true matrix: - php-versions: ['8.1', '8.2', '8.3'] + php-versions: ['8.2', '8.3'] steps: - name: Checkout uses: actions/checkout@v3 @@ -50,10 +50,10 @@ jobs: run: composer install --no-progress - name: Update database schema - run: php bin/console d:s:u -f + run: php bin/console doctrine:schema:update --force - name: Load Doctrine fixtures - run: php bin/console d:f:l -q + run: php bin/console doctrine:fixtures:load --quiet - name: Run functional tests run: vendor/bin/codecept run Functional diff --git a/codeception.yml b/codeception.yml index c46f46a..8b422dc 100644 --- a/codeception.yml +++ b/codeception.yml @@ -1,10 +1,11 @@ namespace: App\Tests +support_namespace: Support paths: tests: tests - support: tests/_build/support - data: tests/_build/data - envs: tests/_build/envs - output: tests/_build/output + output: tests/_output + data: tests/Support/Data + support: tests/Support + envs: tests/_envs actor_suffix: Tester extensions: enabled: @@ -15,4 +16,4 @@ params: settings: shuffle: true colors: true - report_useless_tests: true \ No newline at end of file + report_useless_tests: true diff --git a/composer.json b/composer.json index 097ac42..96cef6e 100644 --- a/composer.json +++ b/composer.json @@ -9,48 +9,46 @@ "homepage": "https://medium.com/@ganieves" } ], - "minimum-stability": "RC", "require": { - "php": ">=8.1.0", + "php": ">=8.2.0", "ext-ctype": "*", "ext-iconv": "*", - "doctrine/annotations": "^2.0", - "doctrine/doctrine-bundle": "^2.6", + "doctrine/doctrine-bundle": "^2.11", "symfony/apache-pack": "^1.0", - "symfony/console": "6.4.*", - "symfony/dotenv": "6.4.*", - "symfony/flex": "^2.1", - "symfony/form": "6.4.*", - "symfony/framework-bundle": "6.4.*", - "symfony/mailer": "6.4.*", - "symfony/runtime": "6.4.*", - "symfony/security-bundle": "6.4.*", - "symfony/translation": "6.4.*", - "symfony/validator": "6.4.*", - "symfony/yaml": "6.4.*" + "symfony/console": "7.0.*", + "symfony/dotenv": "7.0.*", + "symfony/flex": "^2.4", + "symfony/form": "7.0.*", + "symfony/framework-bundle": "7.0.*", + "symfony/mailer": "7.0.*", + "symfony/runtime": "7.0.*", + "symfony/security-bundle": "7.0.*", + "symfony/translation": "7.0.*", + "symfony/validator": "7.0.*", + "symfony/yaml": "7.0.*" }, "require-dev": { - "codeception/codeception": "^5.0.0", + "codeception/codeception": "^5.0.8", "codeception/module-asserts": "^3.0", "codeception/module-doctrine2": "^3.0", "codeception/module-phpbrowser": "^3.0", - "codeception/module-symfony": "^3.0 | *@dev", - "doctrine/doctrine-fixtures-bundle": "^3.4.2", - "friendsofphp/php-cs-fixer": "^3.3", - "phpmd/phpmd": "^2.11", + "codeception/module-symfony": "^3.2 | *@dev", + "doctrine/doctrine-fixtures-bundle": "^3.5", + "friendsofphp/php-cs-fixer": "^3.46", + "phpmd/phpmd": "^2.15", + "phpstan/phpdoc-parser": "^1.25", "phpunit/phpunit": "^10.0", - "rector/rector": "^0.12.5", - "squizlabs/php_codesniffer": "^3.6", - "symfony/debug-bundle": "6.4.*", - "symfony/maker-bundle": "^1.41", - "symfony/twig-bundle": "6.4.*", - "symfony/var-dumper": "6.4.*", - "symfony/web-profiler-bundle": "6.4.*", - "vlucas/phpdotenv": "^5.4" + "rector/rector": "^0.18.13", + "squizlabs/php_codesniffer": "^3.8", + "symfony/debug-bundle": "7.0.*", + "symfony/maker-bundle": "^1.52", + "symfony/twig-bundle": "7.0.*", + "symfony/var-dumper": "7.0.*", + "symfony/web-profiler-bundle": "7.0.*", + "vlucas/phpdotenv": "^5.6" }, "config": { "allow-plugins": { - "composer/package-versions-deprecated": true, "php-http/discovery": true, "symfony/flex": true, "symfony/runtime": true @@ -61,7 +59,7 @@ }, "sort-packages": true, "platform": { - "php": "8.1.0" + "php": "8.2.0" } }, "autoload": { @@ -70,9 +68,6 @@ } }, "autoload-dev": { - "classmap": [ - "tests/_build/support" - ], "psr-4": { "App\\Tests\\": "tests/" } @@ -84,7 +79,8 @@ "symfony/polyfill-php73": "*", "symfony/polyfill-php74": "*", "symfony/polyfill-php80": "*", - "symfony/polyfill-php81": "*" + "symfony/polyfill-php81": "*", + "symfony/polyfill-php82": "*" }, "scripts": { "auto-scripts": { @@ -97,8 +93,6 @@ "@psalm" ], "test": "vendor/bin/codecept run --colors", - "psalm": "vendor/bin/psalm --no-cache", - "rector": "vendor/bin/rector process src -c rector.php --no-progress-bar -n", "post-install-cmd": [ "@auto-scripts" ], @@ -116,7 +110,7 @@ "extra": { "symfony": { "allow-contrib": false, - "require": "6.4.*" + "require": "7.0.*" } } } diff --git a/composer.lock b/composer.lock index ae69aa6..4e38f4e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,84 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9987bf0f57fa0d143655d32f2a1997fc", + "content-hash": "9c7c580573a4bfd55c9346bacb51d6d8", "packages": [ - { - "name": "doctrine/annotations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6", - "vimeo/psalm": "^4.10" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.1" - }, - "time": "2023-02-02T22:02:53+00:00" - }, { "name": "doctrine/cache", "version": "2.2.0", @@ -1118,31 +1042,31 @@ }, { "name": "symfony/cache", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978" + "reference": "378e30a864c868d635353f103a5a5e7569f029ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/14a75869bbb41cb35bc5d9d322473928c6f3f978", - "reference": "14a75869bbb41cb35bc5d9d322473928c6f3f978", + "url": "https://api.github.com/repos/symfony/cache/zipball/378e30a864c868d635353f103a5a5e7569f029ec", + "reference": "378e30a864c868d635353f103a5a5e7569f029ec", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.3.6|^7.0" + "symfony/var-exporter": "^6.4|^7.0" }, "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/var-dumper": "<5.4" + "doctrine/dbal": "<3.6", + "symfony/dependency-injection": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/var-dumper": "<6.4" }, "provide": { "psr/cache-implementation": "2.0|3.0", @@ -1151,15 +1075,15 @@ }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/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" }, "type": "library", "autoload": { @@ -1194,7 +1118,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.2" + "source": "https://github.com/symfony/cache/tree/v7.0.2" }, "funding": [ { @@ -1210,7 +1134,7 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:34:34+00:00" + "time": "2023-12-29T15:37:40+00:00" }, { "name": "symfony/cache-contracts", @@ -1290,20 +1214,20 @@ }, { "name": "symfony/clock", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "0639710e65f73cc504167958ea29be6de5c7177a" + "reference": "67c5ae749ebabe7d8c84c3cab2544331eee7d2cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/0639710e65f73cc504167958ea29be6de5c7177a", - "reference": "0639710e65f73cc504167958ea29be6de5c7177a", + "url": "https://api.github.com/repos/symfony/clock/zipball/67c5ae749ebabe7d8c84c3cab2544331eee7d2cf", + "reference": "67c5ae749ebabe7d8c84c3cab2544331eee7d2cf", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/clock": "^1.0", "symfony/polyfill-php83": "^1.28" }, @@ -1344,7 +1268,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v6.4.2" + "source": "https://github.com/symfony/clock/tree/v7.0.2" }, "funding": [ { @@ -1360,38 +1284,38 @@ "type": "tidelift" } ], - "time": "2023-12-27T00:32:33+00:00" + "time": "2023-12-27T08:42:13+00:00" }, { "name": "symfony/config", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "5d33e0fb707d603330e0edfd4691803a1253572e" + "reference": "8789646600f4e7e451dde9e1dc81cfa429f3857a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/5d33e0fb707d603330e0edfd4691803a1253572e", - "reference": "5d33e0fb707d603330e0edfd4691803a1253572e", + "url": "https://api.github.com/repos/symfony/config/zipball/8789646600f4e7e451dde9e1dc81cfa429f3857a", + "reference": "8789646600f4e7e451dde9e1dc81cfa429f3857a", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^6.4|^7.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<5.4", + "symfony/finder": "<6.4", "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1419,7 +1343,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.4.0" + "source": "https://github.com/symfony/config/tree/v7.0.0" }, "funding": [ { @@ -1435,51 +1359,50 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:28:32+00:00" + "time": "2023-11-09T08:30:23+00:00" }, { "name": "symfony/console", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625" + "reference": "f8587c4cdc5acad67af71c37db34ef03af91e59c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0254811a143e6bc6c8deea08b589a7e68a37f625", - "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625", + "url": "https://api.github.com/repos/symfony/console/zipball/f8587c4cdc5acad67af71c37db34ef03af91e59c", + "reference": "f8587c4cdc5acad67af71c37db34ef03af91e59c", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^6.4|^7.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/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" }, "type": "library", "autoload": { @@ -1513,7 +1436,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.2" + "source": "https://github.com/symfony/console/tree/v7.0.2" }, "funding": [ { @@ -1529,44 +1452,43 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:15:48+00:00" + "time": "2023-12-10T16:54:46+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195" + "reference": "bd25ef7c937b9da12510bdc4f1c66728f19620e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/226ea431b1eda6f0d9f5a4b278757171960bb195", - "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/bd25ef7c937b9da12510bdc4f1c66728f19620e3", + "reference": "bd25ef7c937b9da12510bdc4f1c66728f19620e3", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.2.10|^7.0" + "symfony/service-contracts": "^3.3", + "symfony/var-exporter": "^6.4|^7.0" }, "conflict": { "ext-psr": "<1.1|>=2", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/finder": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "psr/container-implementation": "1.1|2.0", "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.1|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1594,7 +1516,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.2" + "source": "https://github.com/symfony/dependency-injection/tree/v7.0.2" }, "funding": [ { @@ -1610,7 +1532,7 @@ "type": "tidelift" } ], - "time": "2023-12-28T19:16:56+00:00" + "time": "2023-12-28T19:18:20+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1681,67 +1603,65 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "da33f27c1dd9946afecfd1585b867551df71bf53" + "reference": "9c0ce8ff41c25fbee07cd3235e9d6f0d6505b8b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/da33f27c1dd9946afecfd1585b867551df71bf53", - "reference": "da33f27c1dd9946afecfd1585b867551df71bf53", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/9c0ce8ff41c25fbee07cd3235e9d6f0d6505b8b3", + "reference": "9c0ce8ff41c25fbee07cd3235e9d6f0d6505b8b3", "shasum": "" }, "require": { - "doctrine/event-manager": "^1.2|^2", + "doctrine/event-manager": "^2", "doctrine/persistence": "^3.1", - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "doctrine/dbal": "<2.13.1", + "doctrine/dbal": "<3.6", "doctrine/lexer": "<1.1", "doctrine/orm": "<2.15", - "symfony/cache": "<5.4", - "symfony/dependency-injection": "<6.2", - "symfony/form": "<5.4.21|>=6,<6.2.7", - "symfony/http-foundation": "<6.3", - "symfony/http-kernel": "<6.2", - "symfony/lock": "<6.3", - "symfony/messenger": "<5.4", - "symfony/property-info": "<5.4", - "symfony/security-bundle": "<5.4", + "symfony/cache": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/form": "<6.4", + "symfony/http-foundation": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/lock": "<6.4", + "symfony/messenger": "<6.4", + "symfony/property-info": "<6.4", + "symfony/security-bundle": "<6.4", "symfony/security-core": "<6.4", "symfony/validator": "<6.4" }, "require-dev": { "doctrine/collections": "^1.0|^2.0", "doctrine/data-fixtures": "^1.1", - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "doctrine/orm": "^2.15|^3", "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.2|^7.0", - "symfony/doctrine-messenger": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4.21|^6.2.7|^7.0", - "symfony/http-kernel": "^6.3|^7.0", - "symfony/lock": "^6.3|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/proxy-manager-bridge": "^6.4", + "symfony/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|^7.0", + "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": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "type": "symfony-bridge", "autoload": { @@ -1769,7 +1689,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.2" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.0.2" }, "funding": [ { @@ -1785,32 +1705,32 @@ "type": "tidelift" } ], - "time": "2023-12-27T00:32:33+00:00" + "time": "2023-12-27T08:42:13+00:00" }, { "name": "symfony/dotenv", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "835f8d2d1022934ac038519de40b88158798c96f" + "reference": "1e3e123fd1887fb2097ad38205a9a866a52d4dcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/835f8d2d1022934ac038519de40b88158798c96f", - "reference": "835f8d2d1022934ac038519de40b88158798c96f", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/1e3e123fd1887fb2097ad38205a9a866a52d4dcc", + "reference": "1e3e123fd1887fb2097ad38205a9a866a52d4dcc", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/console": "<5.4", - "symfony/process": "<5.4" + "symfony/console": "<6.4", + "symfony/process": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1843,7 +1763,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.4.2" + "source": "https://github.com/symfony/dotenv/tree/v7.0.2" }, "funding": [ { @@ -1859,26 +1779,26 @@ "type": "tidelift" } ], - "time": "2023-12-28T19:16:56+00:00" + "time": "2023-12-28T19:18:20+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" + "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", - "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/80b1258be1b84c12a345d0ec3881bbf2e5270cc2", + "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", @@ -1887,7 +1807,7 @@ "require-dev": { "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "symfony/serializer": "^6.4|^7.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -1918,7 +1838,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.0" + "source": "https://github.com/symfony/error-handler/tree/v7.0.0" }, "funding": [ { @@ -1934,28 +1854,28 @@ "type": "tidelift" } ], - "time": "2023-10-18T09:43:34+00:00" + "time": "2023-10-20T16:35:23+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "e95216850555cd55e71b857eb9d6c2674124603a" + "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e95216850555cd55e71b857eb9d6c2674124603a", - "reference": "e95216850555cd55e71b857eb9d6c2674124603a", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/098b62ae81fdd6cbf941f355059f617db28f4f9a", + "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -1964,13 +1884,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "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/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0|^7.0" + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1998,7 +1918,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.2" }, "funding": [ { @@ -2014,7 +1934,7 @@ "type": "tidelift" } ], - "time": "2023-12-27T22:16:42+00:00" + "time": "2023-12-27T22:24:19+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -2094,20 +2014,20 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" + "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7da8ea2362a283771478c5f7729cfcb43a76b8b7", + "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, @@ -2137,7 +2057,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.0" + "source": "https://github.com/symfony/filesystem/tree/v7.0.0" }, "funding": [ { @@ -2153,27 +2073,27 @@ "type": "tidelift" } ], - "time": "2023-07-26T17:27:13+00:00" + "time": "2023-07-27T06:33:22+00:00" }, { "name": "symfony/finder", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56", + "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "symfony/filesystem": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -2201,7 +2121,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.0" + "source": "https://github.com/symfony/finder/tree/v7.0.0" }, "funding": [ { @@ -2217,7 +2137,7 @@ "type": "tidelift" } ], - "time": "2023-10-31T17:30:12+00:00" + "time": "2023-10-31T17:59:56+00:00" }, { "name": "symfony/flex", @@ -2286,56 +2206,55 @@ }, { "name": "symfony/form", - "version": "v6.4.1", + "version": "v7.0.1", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "10649ab710b58a04bcf1886f005ccab58d9cf0a4" + "reference": "c5d23da3425eadf23c3335a0ed6f2ef3a135e8c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/10649ab710b58a04bcf1886f005ccab58d9cf0a4", - "reference": "10649ab710b58a04bcf1886f005ccab58d9cf0a4", + "url": "https://api.github.com/repos/symfony/form/zipball/c5d23da3425eadf23c3335a0ed6f2ef3a135e8c9", + "reference": "c5d23da3425eadf23c3335a0ed6f2ef3a135e8c9", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/options-resolver": "^5.4|^6.0|^7.0", + "php": ">=8.2", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/options-resolver": "^6.4|^7.0", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-icu": "^1.21", "symfony/polyfill-mbstring": "~1.0", - "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-access": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", - "symfony/error-handler": "<5.4", - "symfony/framework-bundle": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/translation": "<5.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/error-handler": "<6.4", + "symfony/framework-bundle": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<6.3" + "symfony/twig-bridge": "<6.4" }, "require-dev": { "doctrine/collections": "^1.0|^2.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/security-core": "^6.2|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/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|^7.0", + "symfony/uid": "^6.4|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -2363,7 +2282,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v6.4.1" + "source": "https://github.com/symfony/form/tree/v7.0.1" }, "funding": [ { @@ -2379,111 +2298,109 @@ "type": "tidelift" } ], - "time": "2023-11-30T11:08:34+00:00" + "time": "2023-11-30T11:38:21+00:00" }, { "name": "symfony/framework-bundle", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "c26a221e0462027d1f9d4a802ed63f8ab07a43d0" + "reference": "c647b0162e2190cbcd4a21174482af645e11367c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/c26a221e0462027d1f9d4a802ed63f8ab07a43d0", - "reference": "c26a221e0462027d1f9d4a802ed63f8ab07a43d0", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/c647b0162e2190cbcd4a21174482af645e11367c", + "reference": "c647b0162e2190cbcd4a21174482af645e11367c", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", - "php": ">=8.1", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^6.1|^7.0", + "php": ">=8.2", + "symfony/cache": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", "symfony/dependency-injection": "^6.4|^7.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.1|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/filesystem": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4", + "symfony/http-kernel": "^6.4|^7.0", "symfony/polyfill-mbstring": "~1.0", "symfony/routing": "^6.4|^7.0" }, "conflict": { - "doctrine/annotations": "<1.13.1", "doctrine/persistence": "<1.3", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/asset": "<5.4", + "symfony/asset": "<6.4", "symfony/asset-mapper": "<6.4", - "symfony/clock": "<6.3", - "symfony/console": "<5.4|>=7.0", + "symfony/clock": "<6.4", + "symfony/console": "<6.4", "symfony/dom-crawler": "<6.4", - "symfony/dotenv": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<6.3", - "symfony/lock": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<6.3", + "symfony/dotenv": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", + "symfony/lock": "<6.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", "symfony/mime": "<6.4", - "symfony/property-access": "<5.4", - "symfony/property-info": "<5.4", + "symfony/property-access": "<6.4", + "symfony/property-info": "<6.4", "symfony/scheduler": "<6.4", - "symfony/security-core": "<5.4", - "symfony/security-csrf": "<5.4", + "symfony/security-core": "<6.4", + "symfony/security-csrf": "<6.4", "symfony/serializer": "<6.4", - "symfony/stopwatch": "<5.4", + "symfony/stopwatch": "<6.4", "symfony/translation": "<6.4", - "symfony/twig-bridge": "<5.4", - "symfony/twig-bundle": "<5.4", + "symfony/twig-bridge": "<6.4", + "symfony/twig-bundle": "<6.4", "symfony/validator": "<6.4", "symfony/web-profiler-bundle": "<6.4", "symfony/workflow": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.13.1|^2", "doctrine/persistence": "^1.3|^2|^3", "dragonmantank/cron-expression": "^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "seld/jsonlint": "^1.10", - "symfony/asset": "^5.4|^6.0|^7.0", + "symfony/asset": "^6.4|^7.0", "symfony/asset-mapper": "^6.4|^7.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/console": "^5.4.9|^6.0.9|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-client": "^6.3|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/mailer": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.3|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", + "symfony/notifier": "^6.4|^7.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0", "symfony/scheduler": "^6.4|^7.0", - "symfony/security-bundle": "^5.4|^6.0|^7.0", - "symfony/semaphore": "^5.4|^6.0|^7.0", + "symfony/security-bundle": "^6.4|^7.0", + "symfony/semaphore": "^6.4|^7.0", "symfony/serializer": "^6.4|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/string": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/string": "^6.4|^7.0", "symfony/translation": "^6.4|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/twig-bundle": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", "symfony/validator": "^6.4|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", + "symfony/web-link": "^6.4|^7.0", "symfony/workflow": "^6.4|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", - "twig/twig": "^2.10|^3.0" + "symfony/yaml": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, "type": "symfony-bundle", "autoload": { @@ -2511,7 +2428,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.4.2" + "source": "https://github.com/symfony/framework-bundle/tree/v7.0.2" }, "funding": [ { @@ -2527,40 +2444,40 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:34:34+00:00" + "time": "2023-12-29T15:37:40+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.2", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271" + "reference": "47d72323200934694def5d57083899d774a2b110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/172d807f9ef3fc3fbed8377cc57c20d389269271", - "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/47d72323200934694def5d57083899d774a2b110", + "reference": "47d72323200934694def5d57083899d774a2b110", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.3" + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" + "symfony/cache": "^6.4|^7.0", + "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" }, "type": "library", "autoload": { @@ -2588,7 +2505,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.2" + "source": "https://github.com/symfony/http-foundation/tree/v7.0.0" }, "funding": [ { @@ -2604,76 +2521,75 @@ "type": "tidelift" } ], - "time": "2023-12-27T22:16:42+00:00" + "time": "2023-11-07T15:10:37+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "13e8387320b5942d0dc408440c888e2d526efef4" + "reference": "237d3008bc3f5db3e066e348dc0a6435d70a52bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/13e8387320b5942d0dc408440c888e2d526efef4", - "reference": "13e8387320b5942d0dc408440c888e2d526efef4", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/237d3008bc3f5db3e066e348dc0a6435d70a52bb", + "reference": "237d3008bc3f5db3e066e348dc0a6435d70a52bb", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", + "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.0.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/routing": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/uid": "^6.4|^7.0", "symfony/validator": "^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/var-exporter": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, "type": "library", "autoload": { @@ -2701,7 +2617,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.2" + "source": "https://github.com/symfony/http-kernel/tree/v7.0.2" }, "funding": [ { @@ -2717,43 +2633,43 @@ "type": "tidelift" } ], - "time": "2023-12-30T15:31:44+00:00" + "time": "2023-12-30T15:41:17+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "6da89e5c9202f129717a770a03183fb140720168" + "reference": "c51c8f411062ef8fec837c76b0dad15dd5a6ab16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/6da89e5c9202f129717a770a03183fb140720168", - "reference": "6da89e5c9202f129717a770a03183fb140720168", + "url": "https://api.github.com/repos/symfony/mailer/zipball/c51c8f411062ef8fec837c76b0dad15dd5a6ab16", + "reference": "c51c8f411062ef8fec837c76b0dad15dd5a6ab16", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.1", + "php": ">=8.2", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/messenger": "<6.2", - "symfony/mime": "<6.2", - "symfony/twig-bridge": "<6.2.1" + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^7.0" + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/twig-bridge": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -2781,7 +2697,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.2" + "source": "https://github.com/symfony/mailer/tree/v7.0.2" }, "funding": [ { @@ -2797,25 +2713,24 @@ "type": "tidelift" } ], - "time": "2023-12-19T09:12:31+00:00" + "time": "2023-12-19T11:23:03+00:00" }, { "name": "symfony/mime", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" + "reference": "0a2fff95c1a10df97f571d67e76c7ae0f0d4f535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "url": "https://api.github.com/repos/symfony/mime/zipball/0a2fff95c1a10df97f571d67e76c7ae0f0d4f535", + "reference": "0a2fff95c1a10df97f571d67e76c7ae0f0d4f535", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -2823,17 +2738,17 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", - "symfony/serializer": "<6.3.2" + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3.2|^7.0" + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -2865,7 +2780,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.0" + "source": "https://github.com/symfony/mime/tree/v7.0.0" }, "funding": [ { @@ -2881,24 +2796,24 @@ "type": "tidelift" } ], - "time": "2023-10-17T11:49:05+00:00" + "time": "2023-10-19T14:20:43+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "22301f0e7fdeaacc14318928612dee79be99860e" + "reference": "700ff4096e346f54cb628ea650767c8130f1001f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22301f0e7fdeaacc14318928612dee79be99860e", - "reference": "22301f0e7fdeaacc14318928612dee79be99860e", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/700ff4096e346f54cb628ea650767c8130f1001f", + "reference": "700ff4096e346f54cb628ea650767c8130f1001f", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -2932,7 +2847,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.4.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.0.0" }, "funding": [ { @@ -2948,31 +2863,31 @@ "type": "tidelift" } ], - "time": "2023-08-08T10:16:24+00:00" + "time": "2023-08-08T10:20:21+00:00" }, { "name": "symfony/password-hasher", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "e001f752338a49d644ee0523fd7891aabaccb7e2" + "reference": "d2da68c2f7a240bd6edf7e96fdc7aca5e7beea66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/e001f752338a49d644ee0523fd7891aabaccb7e2", - "reference": "e001f752338a49d644ee0523fd7891aabaccb7e2", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/d2da68c2f7a240bd6edf7e96fdc7aca5e7beea66", + "reference": "d2da68c2f7a240bd6edf7e96fdc7aca5e7beea66", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/security-core": "<5.4" + "symfony/security-core": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/security-core": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0", + "symfony/security-core": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3004,7 +2919,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v6.4.0" + "source": "https://github.com/symfony/password-hasher/tree/v7.0.0" }, "funding": [ { @@ -3020,7 +2935,7 @@ "type": "tidelift" } ], - "time": "2023-11-06T11:00:25+00:00" + "time": "2023-11-07T10:26:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -3526,25 +3441,24 @@ }, { "name": "symfony/property-access", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "75f6990ae8e8040dd587162f3f1863f755957129" + "reference": "740e8cb8c54a4f16c82179e8558c29d9fc49901d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/75f6990ae8e8040dd587162f3f1863f755957129", - "reference": "75f6990ae8e8040dd587162f3f1863f755957129", + "url": "https://api.github.com/repos/symfony/property-access/zipball/740e8cb8c54a4f16c82179e8558c29d9fc49901d", + "reference": "740e8cb8c54a4f16c82179e8558c29d9fc49901d", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/property-info": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/property-info": "^6.4|^7.0" }, "require-dev": { - "symfony/cache": "^5.4|^6.0|^7.0" + "symfony/cache": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3583,7 +3497,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v6.4.0" + "source": "https://github.com/symfony/property-access/tree/v7.0.0" }, "funding": [ { @@ -3599,37 +3513,37 @@ "type": "tidelift" } ], - "time": "2023-09-25T12:52:38+00:00" + "time": "2023-09-27T14:05:33+00:00" }, { "name": "symfony/property-info", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "288be71bae2ebc88676f5d3a03d23f70b278fcc1" + "reference": "ce627df05f5629ce4feec536ee827ad0a12689b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/288be71bae2ebc88676f5d3a03d23f70b278fcc1", - "reference": "288be71bae2ebc88676f5d3a03d23f70b278fcc1", + "url": "https://api.github.com/repos/symfony/property-info/zipball/ce627df05f5629ce4feec536ee827ad0a12689b6", + "reference": "ce627df05f5629ce4feec536ee827ad0a12689b6", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/string": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/string": "^6.4|^7.0" }, "conflict": { "phpdocumentor/reflection-docblock": "<5.2", "phpdocumentor/type-resolver": "<1.5.1", - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/serializer": "<6.4" }, "require-dev": { "phpdocumentor/reflection-docblock": "^5.2", "phpstan/phpdoc-parser": "^1.0", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/cache": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", "symfony/serializer": "^6.4|^7.0" }, "type": "library", @@ -3666,7 +3580,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v6.4.0" + "source": "https://github.com/symfony/property-info/tree/v7.0.0" }, "funding": [ { @@ -3682,40 +3596,38 @@ "type": "tidelift" } ], - "time": "2023-11-25T16:57:46+00:00" + "time": "2023-11-25T08:38:27+00:00" }, { "name": "symfony/routing", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "98eab13a07fddc85766f1756129c69f207ffbc21" + "reference": "78866be67255f42716271e33d1d8b64eb6e47bd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/98eab13a07fddc85766f1756129c69f207ffbc21", - "reference": "98eab13a07fddc85766f1756129c69f207ffbc21", + "url": "https://api.github.com/repos/symfony/routing/zipball/78866be67255f42716271e33d1d8b64eb6e47bd9", + "reference": "78866be67255f42716271e33d1d8b64eb6e47bd9", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "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" }, "type": "library", "autoload": { @@ -3749,7 +3661,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.2" + "source": "https://github.com/symfony/routing/tree/v7.0.2" }, "funding": [ { @@ -3765,35 +3677,35 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:34:34+00:00" + "time": "2023-12-29T15:37:40+00:00" }, { "name": "symfony/runtime", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "86539231fadfdc7f7e9911d6fa7ed84a606e7d34" + "reference": "65a4e69b1cdcee4f4f7a619a41d4b7ec79e85406" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/86539231fadfdc7f7e9911d6fa7ed84a606e7d34", - "reference": "86539231fadfdc7f7e9911d6fa7ed84a606e7d34", + "url": "https://api.github.com/repos/symfony/runtime/zipball/65a4e69b1cdcee4f4f7a619a41d4b7ec79e85406", + "reference": "65a4e69b1cdcee4f4f7a619a41d4b7ec79e85406", "shasum": "" }, "require": { "composer-plugin-api": "^1.0|^2.0", - "php": ">=8.1" + "php": ">=8.2" }, "conflict": { - "symfony/dotenv": "<5.4" + "symfony/dotenv": "<6.4" }, "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "symfony/console": "^5.4.9|^6.0.9|^7.0", - "symfony/dotenv": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0" + "composer/composer": "^2.6", + "symfony/console": "^6.4|^7.0", + "symfony/dotenv": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0" }, "type": "composer-plugin", "extra": { @@ -3828,7 +3740,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v6.4.0" + "source": "https://github.com/symfony/runtime/tree/v7.0.0" }, "funding": [ { @@ -3844,69 +3756,68 @@ "type": "tidelift" } ], - "time": "2023-10-18T09:43:34+00:00" + "time": "2023-10-20T16:35:23+00:00" }, { "name": "symfony/security-bundle", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "97d4fb6dbee700937738036ec54b0fcb0641d7d6" + "reference": "5c781fc5cc853286613d7fec1ecbe00cfbec967e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/97d4fb6dbee700937738036ec54b0fcb0641d7d6", - "reference": "97d4fb6dbee700937738036ec54b0fcb0641d7d6", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/5c781fc5cc853286613d7fec1ecbe00cfbec967e", + "reference": "5c781fc5cc853286613d7fec1ecbe00cfbec967e", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", - "php": ">=8.1", - "symfony/clock": "^6.3|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.2|^7.0", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.2|^7.0", - "symfony/http-kernel": "^6.2", - "symfony/password-hasher": "^5.4|^6.0|^7.0", - "symfony/security-core": "^6.2|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/security-http": "^6.3.6|^7.0", + "php": ">=8.2", + "symfony/clock": "^6.4|^7.0", + "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/password-hasher": "^6.4|^7.0", + "symfony/security-core": "^6.4|^7.0", + "symfony/security-csrf": "^6.4|^7.0", + "symfony/security-http": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/console": "<5.4", + "symfony/browser-kit": "<6.4", + "symfony/console": "<6.4", "symfony/framework-bundle": "<6.4", - "symfony/http-client": "<5.4", - "symfony/ldap": "<5.4", + "symfony/http-client": "<6.4", + "symfony/ldap": "<6.4", "symfony/serializer": "<6.4", - "symfony/twig-bundle": "<5.4", + "symfony/twig-bundle": "<6.4", "symfony/validator": "<6.4" }, "require-dev": { - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", - "symfony/ldap": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", - "symfony/twig-bridge": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0|^7.0", + "symfony/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": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4", + "symfony/yaml": "^6.4|^7.0", + "twig/twig": "^3.0.4", "web-token/jwt-checker": "^3.1", "web-token/jwt-signature-algorithm-ecdsa": "^3.1", "web-token/jwt-signature-algorithm-eddsa": "^3.1", @@ -3940,7 +3851,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v6.4.2" + "source": "https://github.com/symfony/security-bundle/tree/v7.0.2" }, "funding": [ { @@ -3956,47 +3867,45 @@ "type": "tidelift" } ], - "time": "2023-12-24T09:11:31+00:00" + "time": "2023-12-24T09:15:37+00:00" }, { "name": "symfony/security-core", - "version": "v6.4.0", + "version": "v7.0.1", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "9e24a7199744d944c03fc1448276dc57f6237a33" + "reference": "2ba040de8e6d93e07edc7307dc75b42e06137405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/9e24a7199744d944c03fc1448276dc57f6237a33", - "reference": "9e24a7199744d944c03fc1448276dc57f6237a33", + "url": "https://api.github.com/repos/symfony/security-core/zipball/2ba040de8e6d93e07edc7307dc75b42e06137405", + "reference": "2ba040de8e6d93e07edc7307dc75b42e06137405", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3", - "symfony/password-hasher": "^5.4|^6.0|^7.0", + "symfony/password-hasher": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/event-dispatcher": "<5.4", - "symfony/http-foundation": "<5.4", - "symfony/ldap": "<5.4", - "symfony/security-guard": "<5.4", - "symfony/validator": "<5.4" + "symfony/event-dispatcher": "<6.4", + "symfony/http-foundation": "<6.4", + "symfony/ldap": "<6.4", + "symfony/validator": "<6.4" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", "psr/container": "^1.1|^2.0", "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/ldap": "^5.4|^6.0|^7.0", - "symfony/string": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/cache": "^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|^7.0", "symfony/validator": "^6.4|^7.0" }, "type": "library", @@ -4025,7 +3934,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v6.4.0" + "source": "https://github.com/symfony/security-core/tree/v7.0.1" }, "funding": [ { @@ -4041,31 +3950,31 @@ "type": "tidelift" } ], - "time": "2023-11-06T17:20:05+00:00" + "time": "2023-11-30T11:04:23+00:00" }, { "name": "symfony/security-csrf", - "version": "v6.4.0", + "version": "v7.0.1", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "b28413496ebfce2f98afbb990ad0ce0ba3586638" + "reference": "e261f2cc8d170ec2f310d037893b213850867b6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/b28413496ebfce2f98afbb990ad0ce0ba3586638", - "reference": "b28413496ebfce2f98afbb990ad0ce0ba3586638", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/e261f2cc8d170ec2f310d037893b213850867b6b", + "reference": "e261f2cc8d170ec2f310d037893b213850867b6b", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/security-core": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/security-core": "^6.4|^7.0" }, "conflict": { - "symfony/http-foundation": "<5.4" + "symfony/http-foundation": "<6.4" }, "require-dev": { - "symfony/http-foundation": "^5.4|^6.0|^7.0" + "symfony/http-foundation": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4093,7 +4002,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v6.4.0" + "source": "https://github.com/symfony/security-csrf/tree/v7.0.1" }, "funding": [ { @@ -4109,49 +4018,48 @@ "type": "tidelift" } ], - "time": "2023-08-25T16:27:31+00:00" + "time": "2023-11-30T11:04:23+00:00" }, { "name": "symfony/security-http", - "version": "v6.4.0", + "version": "v7.0.1", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "1b49ad8e9f2c3ceec011d67ac09e774e4107416b" + "reference": "acc9931d75cd16de08b1663223cb8ab36f61cc0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/1b49ad8e9f2c3ceec011d67ac09e774e4107416b", - "reference": "1b49ad8e9f2c3ceec011d67ac09e774e4107416b", + "url": "https://api.github.com/repos/symfony/security-http/zipball/acc9931d75cd16de08b1663223cb8ab36f61cc0c", + "reference": "acc9931d75cd16de08b1663223cb8ab36f61cc0c", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-foundation": "^6.2|^7.0", - "symfony/http-kernel": "^6.3|^7.0", + "php": ">=8.2", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-access": "^6.4|^7.0", "symfony/security-core": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/clock": "<6.3", - "symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9", + "symfony/clock": "<6.4", + "symfony/event-dispatcher": "<6.4", "symfony/http-client-contracts": "<3.0", - "symfony/security-bundle": "<5.4", - "symfony/security-csrf": "<5.4" + "symfony/security-bundle": "<6.4", + "symfony/security-csrf": "<6.4" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.3|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/cache": "^6.4|^7.0", + "symfony/clock": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", "symfony/http-client-contracts": "^3.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "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", "web-token/jwt-checker": "^3.1", "web-token/jwt-signature-algorithm-ecdsa": "^3.1" }, @@ -4181,7 +4089,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v6.4.0" + "source": "https://github.com/symfony/security-http/tree/v7.0.1" }, "funding": [ { @@ -4197,7 +4105,7 @@ "type": "tidelift" } ], - "time": "2023-11-24T21:18:21+00:00" + "time": "2023-11-30T11:04:23+00:00" }, { "name": "symfony/service-contracts", @@ -4283,20 +4191,20 @@ }, { "name": "symfony/string", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc" + "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/7cb80bc10bfcdf6b5492741c0b9357dac66940bc", - "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc", + "url": "https://api.github.com/repos/symfony/string/zipball/cc78f14f91f5e53b42044d0620961c48028ff9f5", + "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -4306,11 +4214,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4349,7 +4257,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.2" + "source": "https://github.com/symfony/string/tree/v7.0.2" }, "funding": [ { @@ -4365,37 +4273,36 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:15:48+00:00" + "time": "2023-12-10T16:54:46+00:00" }, { "name": "symfony/translation", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "a2ab2ec1a462e53016de8e8d5e8912bfd62ea681" + "reference": "a7566ad85f4328c4a8cdaf441fcfab18ece995e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/a2ab2ec1a462e53016de8e8d5e8912bfd62ea681", - "reference": "a2ab2ec1a462e53016de8e8d5e8912bfd62ea681", + "url": "https://api.github.com/repos/symfony/translation/zipball/a7566ad85f4328c4a8cdaf441fcfab18ece995e1", + "reference": "a7566ad85f4328c4a8cdaf441fcfab18ece995e1", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", + "symfony/http-kernel": "<6.4", "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" @@ -4403,17 +4310,17 @@ "require-dev": { "nikic/php-parser": "^4.13", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/routing": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4444,7 +4351,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.2" + "source": "https://github.com/symfony/translation/tree/v7.0.2" }, "funding": [ { @@ -4460,7 +4367,7 @@ "type": "tidelift" } ], - "time": "2023-12-18T09:25:29+00:00" + "time": "2023-12-19T11:23:03+00:00" }, { "name": "symfony/translation-contracts", @@ -4542,55 +4449,53 @@ }, { "name": "symfony/validator", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "15fe2c6ed815b06b6b8636d8ba3ef9807ee1a75c" + "reference": "24911cba25f0ef2a8e23327c100664502e1b95cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/15fe2c6ed815b06b6b8636d8ba3ef9807ee1a75c", - "reference": "15fe2c6ed815b06b6b8636d8ba3ef9807ee1a75c", + "url": "https://api.github.com/repos/symfony/validator/zipball/24911cba25f0ef2a8e23327c100664502e1b95cb", + "reference": "24911cba25f0ef2a8e23327c100664502e1b95cb", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php83": "^1.27", "symfony/translation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.13", "doctrine/lexer": "<1.1", - "symfony/dependency-injection": "<5.4", - "symfony/expression-language": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/intl": "<5.4", - "symfony/property-info": "<5.4", - "symfony/translation": "<5.4", - "symfony/yaml": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<7.0", + "symfony/expression-language": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/intl": "<6.4", + "symfony/property-info": "<6.4", + "symfony/translation": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.13|^2", "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "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|^7.0", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4618,7 +4523,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.2" + "source": "https://github.com/symfony/validator/tree/v7.0.2" }, "funding": [ { @@ -4634,38 +4539,36 @@ "type": "tidelift" } ], - "time": "2023-12-29T16:34:12+00:00" + "time": "2023-12-30T09:57:06+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f" + "reference": "5f6f1a527002068f6d40fda068399220eabebf71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", - "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5f6f1a527002068f6d40fda068399220eabebf71", + "reference": "5f6f1a527002068f6d40fda068399220eabebf71", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" + "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" }, "bin": [ "Resources/bin/var-dump-server" @@ -4703,7 +4606,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.2" + "source": "https://github.com/symfony/var-dumper/tree/v7.0.2" }, "funding": [ { @@ -4719,28 +4622,27 @@ "type": "tidelift" } ], - "time": "2023-12-28T19:16:56+00:00" + "time": "2023-12-28T19:18:20+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e" + "reference": "345c62fefe92243c3a06fc0cc65f2ec1a47e0764" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/5fe9a0021b8d35e67d914716ec8de50716a68e7e", - "reference": "5fe9a0021b8d35e67d914716ec8de50716a68e7e", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/345c62fefe92243c3a06fc0cc65f2ec1a47e0764", + "reference": "345c62fefe92243c3a06fc0cc65f2ec1a47e0764", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.2" }, "require-dev": { - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4778,7 +4680,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.2" + "source": "https://github.com/symfony/var-exporter/tree/v7.0.2" }, "funding": [ { @@ -4794,32 +4696,31 @@ "type": "tidelift" } ], - "time": "2023-12-27T08:18:35+00:00" + "time": "2023-12-27T08:42:13+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587" + "reference": "0055b230c408428b9b5cde7c55659555be5c0278" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587", - "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0055b230c408428b9b5cde7c55659555be5c0278", + "reference": "0055b230c408428b9b5cde7c55659555be5c0278", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -4850,7 +4751,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.0" + "source": "https://github.com/symfony/yaml/tree/v7.0.0" }, "funding": [ { @@ -4866,7 +4767,7 @@ "type": "tidelift" } ], - "time": "2023-11-06T11:00:25+00:00" + "time": "2023-11-07T10:26:03+00:00" } ], "packages-dev": [ @@ -5405,19 +5306,19 @@ "source": { "type": "git", "url": "https://github.com/Codeception/module-symfony.git", - "reference": "5798e3e6328d20e9c41a5d1680f245e9881a4a43" + "reference": "b887260336680c0d5080b1ae5fd65334e9643618" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-symfony/zipball/5798e3e6328d20e9c41a5d1680f245e9881a4a43", - "reference": "5798e3e6328d20e9c41a5d1680f245e9881a4a43", + "url": "https://api.github.com/repos/Codeception/module-symfony/zipball/b887260336680c0d5080b1ae5fd65334e9643618", + "reference": "b887260336680c0d5080b1ae5fd65334e9643618", "shasum": "" }, "require": { "codeception/codeception": "^5.0.8", "codeception/lib-innerbrowser": "^3.1.1 | ^4.0", "ext-json": "*", - "php": "^8.0" + "php": "^8.1" }, "require-dev": { "codeception/module-asserts": "^3.0", @@ -5480,9 +5381,9 @@ ], "support": { "issues": "https://github.com/Codeception/module-symfony/issues", - "source": "https://github.com/Codeception/module-symfony/tree/3.2.0" + "source": "https://github.com/Codeception/module-symfony/tree/main" }, - "time": "2024-01-02T03:05:57+00:00" + "time": "2024-01-10T23:28:58+00:00" }, { "name": "codeception/stub", @@ -7345,18 +7246,65 @@ ], "time": "2023-11-12T21:59:55+00:00" }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.25.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" + }, + "time": "2024-01-04T17:06:16+00:00" + }, { "name": "phpstan/phpstan", - "version": "1.10.54", + "version": "1.10.55", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "3e25f279dada0adc14ffd7bad09af2e2fc3523bb" + "reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3e25f279dada0adc14ffd7bad09af2e2fc3523bb", - "reference": "3e25f279dada0adc14ffd7bad09af2e2fc3523bb", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9a88f9d18ddf4cf54c922fbeac16c4cb164c5949", + "reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949", "shasum": "" }, "require": { @@ -7405,7 +7353,7 @@ "type": "tidelift" } ], - "time": "2024-01-05T15:50:47+00:00" + "time": "2024-01-08T12:32:40+00:00" }, { "name": "phpunit/php-code-coverage", @@ -8114,42 +8062,32 @@ }, { "name": "rector/rector", - "version": "0.12.23", + "version": "0.18.13", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "690b31768b322db886b35845f8452025eba2cacb" + "reference": "f8011a76d36aa4f839f60f3b4f97707d97176618" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/690b31768b322db886b35845f8452025eba2cacb", - "reference": "690b31768b322db886b35845f8452025eba2cacb", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/f8011a76d36aa4f839f60f3b4f97707d97176618", + "reference": "f8011a76d36aa4f839f60f3b4f97707d97176618", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.6" + "phpstan/phpstan": "^1.10.35" }, "conflict": { - "phpstan/phpdoc-parser": "<1.2", - "rector/rector-cakephp": "*", "rector/rector-doctrine": "*", - "rector/rector-laravel": "*", - "rector/rector-nette": "*", - "rector/rector-phpoffice": "*", + "rector/rector-downgrade-php": "*", "rector/rector-phpunit": "*", - "rector/rector-prefixed": "*", "rector/rector-symfony": "*" }, "bin": [ "bin/rector" ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.12-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -8160,9 +8098,15 @@ "MIT" ], "description": "Instant Upgrade and Automated Refactoring of any PHP code", + "keywords": [ + "automation", + "dev", + "migration", + "refactoring" + ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/0.12.23" + "source": "https://github.com/rectorphp/rector/tree/0.18.13" }, "funding": [ { @@ -8170,7 +8114,7 @@ "type": "github" } ], - "time": "2022-05-01T15:50:16+00:00" + "time": "2023-12-20T16:08:01+00:00" }, { "name": "sebastian/cli-parser", @@ -9169,27 +9113,27 @@ }, { "name": "symfony/browser-kit", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502" + "reference": "c53a6e9bcb4528be535d458450b07aa81620459e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a3bb210e001580ec75e1d02b27fae3452e6bf502", - "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c53a6e9bcb4528be535d458450b07aa81620459e", + "reference": "c53a6e9bcb4528be535d458450b07aa81620459e", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/dom-crawler": "^5.4|^6.0|^7.0" + "php": ">=8.2", + "symfony/dom-crawler": "^6.4|^7.0" }, "require-dev": { - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0" + "symfony/css-selector": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -9217,7 +9161,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v6.4.0" + "source": "https://github.com/symfony/browser-kit/tree/v7.0.0" }, "funding": [ { @@ -9233,24 +9177,24 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:18:17+00:00" + "time": "2023-10-31T17:37:24+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4" + "reference": "bb51d46e53ef8d50d523f0c5faedba056a27943e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/d036c6c0d0b09e24a14a35f8292146a658f986e4", - "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/bb51d46e53ef8d50d523f0c5faedba056a27943e", + "reference": "bb51d46e53ef8d50d523f0c5faedba056a27943e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -9282,7 +9226,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.0" + "source": "https://github.com/symfony/css-selector/tree/v7.0.0" }, "funding": [ { @@ -9298,37 +9242,37 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:40:20+00:00" + "time": "2023-10-31T17:59:56+00:00" }, { "name": "symfony/debug-bundle", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", - "reference": "1e07027423d1d37125b60a50997ada26a9d9d202" + "reference": "7e540aebec5b7848bbdfaa1a045ed130e1791156" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/1e07027423d1d37125b60a50997ada26a9d9d202", - "reference": "1e07027423d1d37125b60a50997ada26a9d9d202", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/7e540aebec5b7848bbdfaa1a045ed130e1791156", + "reference": "7e540aebec5b7848bbdfaa1a045ed130e1791156", "shasum": "" }, "require": { "ext-xml": "*", - "php": ">=8.1", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/twig-bridge": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "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": "<5.4", - "symfony/dependency-injection": "<5.4" + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4" }, "require-dev": { - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "symfony/web-profiler-bundle": "^6.4|^7.0" }, "type": "symfony-bundle", "autoload": { @@ -9356,7 +9300,7 @@ "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug-bundle/tree/v6.4.0" + "source": "https://github.com/symfony/debug-bundle/tree/v7.0.0" }, "funding": [ { @@ -9372,30 +9316,30 @@ "type": "tidelift" } ], - "time": "2023-11-01T12:07:38+00:00" + "time": "2023-11-07T10:26:03+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33" + "reference": "d13205f444a535f4a6e52186aedbc99664f66a86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", - "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d13205f444a535f4a6e52186aedbc99664f66a86", + "reference": "d13205f444a535f4a6e52186aedbc99664f66a86", "shasum": "" }, "require": { "masterminds/html5": "^2.6", - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "^5.4|^6.0|^7.0" + "symfony/css-selector": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -9423,7 +9367,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.0" + "source": "https://github.com/symfony/dom-crawler/tree/v7.0.0" }, "funding": [ { @@ -9439,7 +9383,7 @@ "type": "tidelift" } ], - "time": "2023-11-20T16:41:16+00:00" + "time": "2023-11-20T16:43:42+00:00" }, { "name": "symfony/maker-bundle", @@ -9535,20 +9479,20 @@ }, { "name": "symfony/process", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241" + "reference": "acd3eb5cb02382c1cb0287ba29b2908cc6ffa83a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c4b1ef0bc80533d87a2e969806172f1c2a980241", - "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241", + "url": "https://api.github.com/repos/symfony/process/zipball/acd3eb5cb02382c1cb0287ba29b2908cc6ffa83a", + "reference": "acd3eb5cb02382c1cb0287ba29b2908cc6ffa83a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -9576,7 +9520,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.2" + "source": "https://github.com/symfony/process/tree/v7.0.2" }, "funding": [ { @@ -9592,24 +9536,24 @@ "type": "tidelift" } ], - "time": "2023-12-22T16:42:54+00:00" + "time": "2023-12-24T09:15:37+00:00" }, { "name": "symfony/stopwatch", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" + "reference": "7bbfa3dd564a0ce12eb4acaaa46823c740f9cb7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", - "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/7bbfa3dd564a0ce12eb4acaaa46823c740f9cb7a", + "reference": "7bbfa3dd564a0ce12eb4acaaa46823c740f9cb7a", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/service-contracts": "^2.5|^3" }, "type": "library", @@ -9638,7 +9582,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.4.0" + "source": "https://github.com/symfony/stopwatch/tree/v7.0.0" }, "funding": [ { @@ -9654,69 +9598,68 @@ "type": "tidelift" } ], - "time": "2023-02-16T10:14:28+00:00" + "time": "2023-07-05T13:06:06+00:00" }, { "name": "symfony/twig-bridge", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "97af829e4733125ee70e806694d56165c60b4ee1" + "reference": "d6236c6e75ee70317a27f0fd4c3f9bb956f22366" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/97af829e4733125ee70e806694d56165c60b4ee1", - "reference": "97af829e4733125ee70e806694d56165c60b4ee1", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d6236c6e75ee70317a27f0fd4c3f9bb956f22366", + "reference": "d6236c6e75ee70317a27f0fd4c3f9bb956f22366", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/translation-contracts": "^2.5|^3", - "twig/twig": "^2.13|^3.0.4" + "twig/twig": "^3.0.4" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.4", - "symfony/form": "<6.3", - "symfony/http-foundation": "<5.4", + "symfony/console": "<6.4", + "symfony/form": "<6.4", + "symfony/http-foundation": "<6.4", "symfony/http-kernel": "<6.4", - "symfony/mime": "<6.2", + "symfony/mime": "<6.4", "symfony/serializer": "<6.4", - "symfony/translation": "<5.4", - "symfony/workflow": "<5.4" + "symfony/translation": "<6.4", + "symfony/workflow": "<6.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/asset-mapper": "^6.3|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/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/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/form": "^6.4|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^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": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/property-info": "^6.4|^7.0", + "symfony/routing": "^6.4|^7.0", "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^5.4|^6.0|^7.0", - "symfony/security-csrf": "^5.4|^6.0|^7.0", - "symfony/security-http": "^5.4|^6.0|^7.0", + "symfony/security-core": "^6.4|^7.0", + "symfony/security-csrf": "^6.4|^7.0", + "symfony/security-http": "^6.4|^7.0", "symfony/serializer": "^6.4|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^6.1|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/workflow": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0", + "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" @@ -9747,7 +9690,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.2" + "source": "https://github.com/symfony/twig-bridge/tree/v7.0.2" }, "funding": [ { @@ -9763,47 +9706,47 @@ "type": "tidelift" } ], - "time": "2023-12-15T12:36:48+00:00" + "time": "2023-12-15T12:36:57+00:00" }, { "name": "symfony/twig-bundle", - "version": "v6.4.0", + "version": "v7.0.0", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "35d84393e598dfb774e6a2bf49e5229a8a6dbe4c" + "reference": "42c4a60f1b83894cd85a6b00533f8216c413ac11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/35d84393e598dfb774e6a2bf49e5229a8a6dbe4c", - "reference": "35d84393e598dfb774e6a2bf49e5229a8a6dbe4c", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/42c4a60f1b83894cd85a6b00533f8216c413ac11", + "reference": "42c4a60f1b83894cd85a6b00533f8216c413ac11", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", - "php": ">=8.1", - "symfony/config": "^6.1|^7.0", - "symfony/dependency-injection": "^6.1|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^6.2", - "symfony/twig-bridge": "^6.4", - "twig/twig": "^2.13|^3.0.4" + "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" }, "conflict": { - "symfony/framework-bundle": "<5.4", - "symfony/translation": "<5.4" + "symfony/framework-bundle": "<6.4", + "symfony/translation": "<6.4" }, "require-dev": { - "symfony/asset": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/form": "^5.4|^6.0|^7.0", - "symfony/framework-bundle": "^5.4|^6.0|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/web-link": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/asset": "^6.4|^7.0", + "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" }, "type": "symfony-bundle", "autoload": { @@ -9831,7 +9774,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v6.4.0" + "source": "https://github.com/symfony/twig-bundle/tree/v7.0.0" }, "funding": [ { @@ -9847,42 +9790,41 @@ "type": "tidelift" } ], - "time": "2023-11-07T14:57:07+00:00" + "time": "2023-11-26T15:16:53+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v6.4.2", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "38462d16856740ec0d1ba2cb902eebf09100dde2" + "reference": "b3746379ad31d02a578aff360caacf521e753b85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/38462d16856740ec0d1ba2cb902eebf09100dde2", - "reference": "38462d16856740ec0d1ba2cb902eebf09100dde2", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/b3746379ad31d02a578aff360caacf521e753b85", + "reference": "b3746379ad31d02a578aff360caacf521e753b85", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/config": "^5.4|^6.0|^7.0", + "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": "^5.4|^6.0|^7.0", - "symfony/twig-bundle": "^5.4|^6.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/routing": "^6.4|^7.0", + "symfony/twig-bundle": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, "conflict": { - "symfony/form": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/twig-bundle": ">=7.0" + "symfony/form": "<6.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4" }, "require-dev": { - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0" + "symfony/browser-kit": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/css-selector": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0" }, "type": "symfony-bundle", "autoload": { @@ -9913,7 +9855,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.2" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.0.2" }, "funding": [ { @@ -9929,7 +9871,7 @@ "type": "tidelift" } ], - "time": "2023-12-27T08:18:35+00:00" + "time": "2023-12-27T08:42:13+00:00" }, { "name": "theseer/tokenizer", @@ -10139,20 +10081,20 @@ } ], "aliases": [], - "minimum-stability": "RC", + "minimum-stability": "stable", "stability-flags": { "codeception/module-symfony": 20 }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=8.1.0", + "php": ">=8.2.0", "ext-ctype": "*", "ext-iconv": "*" }, "platform-dev": [], "platform-overrides": { - "php": "8.1.0" + "php": "8.2.0" }, "plugin-api-version": "2.3.0" } diff --git a/config/bundles.php b/config/bundles.php index edb66e2..417f6fe 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -5,8 +5,8 @@ Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true], Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true], + Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], - Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], ]; diff --git a/config/packages/dev/debug.php b/config/packages/dev/debug.php index ff1d38a..a553b5a 100644 --- a/config/packages/dev/debug.php +++ b/config/packages/dev/debug.php @@ -4,7 +4,6 @@ use Symfony\Config\DebugConfig; -return static function (DebugConfig $debug): void -{ +return static function (DebugConfig $debug): void { $debug->dumpDestination('tcp://%env(VAR_DUMPER_SERVER)%'); }; diff --git a/config/packages/dev/framework.php b/config/packages/dev/framework.php index c5884f8..0e00410 100644 --- a/config/packages/dev/framework.php +++ b/config/packages/dev/framework.php @@ -4,10 +4,10 @@ use Symfony\Config\FrameworkConfig; -return static function (FrameworkConfig $framework): void -{ +return static function (FrameworkConfig $framework): void { // Web Profiler $framework->profiler([ - 'only_exceptions' => false + 'only_exceptions' => false, + 'collect_serializer_data' => true, ]); }; diff --git a/config/packages/dev/web_profiler.php b/config/packages/dev/web_profiler.php index fb0d9db..96873b6 100644 --- a/config/packages/dev/web_profiler.php +++ b/config/packages/dev/web_profiler.php @@ -4,10 +4,8 @@ use Symfony\Config\WebProfilerConfig; -return static function (WebProfilerConfig $webProfiler): void -{ +return static function (WebProfilerConfig $webProfiler): void { $webProfiler ->toolbar(true) - ->interceptRedirects(false) - ; + ->interceptRedirects(false); }; diff --git a/config/packages/doctrine.php b/config/packages/doctrine.php index e045520..10cabe4 100644 --- a/config/packages/doctrine.php +++ b/config/packages/doctrine.php @@ -4,26 +4,28 @@ use Symfony\Config\DoctrineConfig; -return static function (DoctrineConfig $doctrine): void -{ - $doctrineDbal = $doctrine->dbal(); - $doctrineDbal->connection('default', [ - 'url' => '%env(resolve:DATABASE_URL)%' - ]); - +return static function (DoctrineConfig $doctrine): void { $doctrineOrm = $doctrine->orm(); - $doctrineOrm->autoGenerateProxyClasses(true); - $doctrineOrm->entityManager('default', [ - 'naming_strategy' => 'doctrine.orm.naming_strategy.underscore_number_aware', - 'auto_mapping' => true, - 'mappings' => [ - 'App' => [ - 'is_bundle' => false, - 'type' => 'annotation', - 'dir' => '%kernel.project_dir%/src/Entity', - 'prefix' => 'App\Entity', - 'alias' => 'App' - ] - ] - ]); + $defaultEm = $doctrineOrm->entityManager('default'); + $defaultConnection = $doctrine->dbal()->connection('default'); + + $defaultConnection + ->url('%env(resolve:DATABASE_URL)%') + ->profilingCollectBacktrace('%kernel.debug%'); + + $doctrineOrm + ->autoGenerateProxyClasses(true) + ->enableLazyGhostObjects(true); + $defaultEm + ->autoMapping(true) + ->namingStrategy('doctrine.orm.naming_strategy.underscore_number_aware') + ->reportFieldsWhereDeclared(true) + ->validateXmlMapping(true) + ->mapping('App', [ + 'alias' => 'App', + 'dir' => '%kernel.project_dir%/src/Entity', + 'is_bundle' => false, + 'prefix' => 'App\Entity', + 'type' => 'attribute', + ]); }; diff --git a/config/packages/framework.php b/config/packages/framework.php index 9a37ce0..49e7ec9 100644 --- a/config/packages/framework.php +++ b/config/packages/framework.php @@ -4,39 +4,33 @@ use Symfony\Config\FrameworkConfig; -return static function (FrameworkConfig $framework): void -{ +return static function (FrameworkConfig $framework): void { // Cache $framework->cache(); // Framework $framework->secret('%env(APP_SECRET)%'); - $framework->httpMethodOverride(false); - $framework->session([ - 'cookie_secure' => 'auto', - 'cookie_samesite' => 'lax', - 'storage_factory_id' => 'session.storage.factory.native' - ])->handlerId(null); - $framework->phpErrors([ - 'log' => true - ]); + $framework->handleAllThrowables(true); + $framework->session() + ->handlerId(null) + ->cookieSecure('auto') + ->cookieSamesite('lax'); + $framework->phpErrors() + ->log(); // Mailer - $framework->mailer([ - 'dsn' => '%env(MAILER_DSN)%' - ]); + $framework->mailer() + ->dsn('%env(MAILER_DSN)%'); // Routing - $framework->router([ - 'utf8' => true - ]); + $framework->router() + ->utf8(true); // Translation - $framework->defaultLocale('%locale%'); - $framework->translator([ - 'default_path' => '%kernel.project_dir%/resources/lang', - 'fallbacks' => ['%locale%'] - ]); + $framework->defaultLocale('en'); + $framework->translator() + ->defaultPath('%kernel.project_dir%/resources/lang') + ->fallbacks('en'); // Validator $framework->validation([ diff --git a/config/packages/prod/doctrine.php b/config/packages/prod/doctrine.php index 2f47fb4..0d1dd2e 100644 --- a/config/packages/prod/doctrine.php +++ b/config/packages/prod/doctrine.php @@ -4,22 +4,17 @@ use Symfony\Config\DoctrineConfig; -return static function (DoctrineConfig $doctrine): void -{ +return static function (DoctrineConfig $doctrine): void { $doctrineOrm = $doctrine->orm(); - $doctrineOrm->autoGenerateProxyClasses(false); - $doctrineOrm->entityManager('default', [ - 'metadata_cache_driver' => [ - 'type' => 'pool', - 'pool' => 'doctrine.system_cache_pool' - ], - 'query_cache_driver' => [ - 'type' => 'pool', - 'pool' => 'doctrine.system_cache_pool' - ], - 'result_cache_driver' => [ - 'type' => 'pool', - 'pool' => 'doctrine.result_cache_pool' - ] - ]); + $defaultEm = $doctrineOrm->entityManager('default'); + + $doctrineOrm + ->autoGenerateProxyClasses(false) + ->proxyDir('%kernel.build_dir%/doctrine/orm/Proxies'); + $defaultEm->resultCacheDriver() + ->type('pool') + ->pool('doctrine.result_cache_pool'); + $defaultEm->resultCacheDriver() + ->type('pool') + ->pool('doctrine.system_cache_pool'); }; diff --git a/config/packages/prod/framework.php b/config/packages/prod/framework.php index 71b1db3..1dcf821 100644 --- a/config/packages/prod/framework.php +++ b/config/packages/prod/framework.php @@ -4,13 +4,13 @@ use Symfony\Config\FrameworkConfig; -return static function (FrameworkConfig $framework): void -{ +return static function (FrameworkConfig $framework): void { // Doctrine - $cache = $framework->cache(); - $cache->pool('doctrine.result_cache_pool')->adapters(['cache.app']); - $cache->pool('doctrine.system_cache_pool')->adapters(['cache.system']); + $framework->cache() + ->pool('doctrine.result_cache_pool')->adapters(['cache.app']) + ->pool('doctrine.system_cache_pool')->adapters(['cache.system']); // Routing - $framework->router()->strictRequirements(null); + $framework->router() + ->strictRequirements(null); }; diff --git a/config/packages/security.php b/config/packages/security.php index 495ee03..cbb8691 100644 --- a/config/packages/security.php +++ b/config/packages/security.php @@ -4,39 +4,28 @@ use App\Entity\User; use App\Security\SecurityAuthenticator; +use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; use Symfony\Config\SecurityConfig; -return static function (SecurityConfig $security): void -{ - $security->enableAuthenticatorManager(true); +return static function (SecurityConfig $security): void { + $security->passwordHasher(PasswordAuthenticatedUserInterface::class, 'auto'); + $userProvider = $security->provider('app_user_provider'); + $userProvider->entity() + ->class(User::class) + ->property('email'); - $security->passwordHasher(User::class, [ - 'algorithm' => 'auto' - ]); - $security->provider('app_user_provider', [ - 'entity' => [ - 'class' => User::class, - 'property' => 'email' - ] - ]); + $devFirewall = $security->firewall('dev'); + $devFirewall + ->pattern('^/(_(profiler|wdt)|css|images|js)/') + ->security(false); - $security->firewall('dev', [ - 'pattern' => '^/(_(profiler|wdt)|css|images|js)/', - 'security' => false - ]); - $mainFirewall = $security->firewall('main', [ - 'lazy' => true, - 'provider' => 'app_user_provider', - 'custom_authenticators' => [SecurityAuthenticator::class], - 'logout' => [ - 'path' => 'app_logout' - ], - 'remember_me' => [ - 'secret' => '%env(APP_SECRET)%' - ] - ]); - $mainFirewall->formLogin(); - $mainFirewall->entryPoint('form_login'); + $mainFirewall = $security->firewall('main'); + $mainFirewall + ->lazy(true) + ->provider('app_user_provider') + ->customAuthenticators([SecurityAuthenticator::class]); + $mainFirewall->logout(['path' => 'app_logout']); + $mainFirewall->rememberMe(['secret' => '%env(APP_SECRET)%']); $security->accessControl([ 'path' => '^/dashboard', 'roles' => 'ROLE_USER' diff --git a/config/packages/test/doctrine.php b/config/packages/test/doctrine.php index 7afadbb..c51665e 100644 --- a/config/packages/test/doctrine.php +++ b/config/packages/test/doctrine.php @@ -4,9 +4,7 @@ use Symfony\Config\DoctrineConfig; -return static function (DoctrineConfig $doctrine): void -{ - $doctrineDbal = $doctrine->dbal(); - $doctrineDbal->connection('default' - )->dbname('main_test%env(default::TEST_TOKEN)%'); +return static function (DoctrineConfig $doctrine): void { + $defaultConnection = $doctrine->dbal()->connection('default'); + $defaultConnection->dbnameSuffix('_test%env(default::TEST_TOKEN)%'); }; diff --git a/config/packages/test/framework.php b/config/packages/test/framework.php index 8129f8d..e65314f 100644 --- a/config/packages/test/framework.php +++ b/config/packages/test/framework.php @@ -4,19 +4,16 @@ use Symfony\Config\FrameworkConfig; -return static function (FrameworkConfig $framework): void -{ +return static function (FrameworkConfig $framework): void { // Framework $framework->test(true); - $framework->session([ - 'storage_factory_id' => 'session.storage.factory.mock_file' - ]); + $framework->session() + ->storageFactoryId('session.storage.factory.mock_file'); // Validator $framework->validation() ->notCompromisedPassword() - ->enabled(false) - ; + ->enabled(false); // Web Profiler $framework->profiler([ diff --git a/config/packages/test/security.php b/config/packages/test/security.php new file mode 100644 index 0000000..c62f567 --- /dev/null +++ b/config/packages/test/security.php @@ -0,0 +1,15 @@ +passwordHasher(PasswordAuthenticatedUserInterface::class, [ + 'algorithm' => 'auto', + // 'cost' => 4, + // 'time_cost' => 3, + // 'memory_cost' => 10, + ]); +}; diff --git a/config/packages/test/twig.php b/config/packages/test/twig.php index 78c2d3b..625b3d7 100644 --- a/config/packages/test/twig.php +++ b/config/packages/test/twig.php @@ -4,7 +4,6 @@ use Symfony\Config\TwigConfig; -return static function (TwigConfig $twig): void -{ +return static function (TwigConfig $twig): void { $twig->strictVariables(true); }; diff --git a/config/packages/test/web_profiler.php b/config/packages/test/web_profiler.php index d516d8e..898dd4e 100644 --- a/config/packages/test/web_profiler.php +++ b/config/packages/test/web_profiler.php @@ -4,10 +4,8 @@ use Symfony\Config\WebProfilerConfig; -return static function (WebProfilerConfig $webProfiler): void -{ +return static function (WebProfilerConfig $webProfiler): void { $webProfiler ->toolbar(false) - ->interceptRedirects(false) - ; + ->interceptRedirects(false); }; diff --git a/config/packages/twig.php b/config/packages/twig.php index 865b045..324f788 100644 --- a/config/packages/twig.php +++ b/config/packages/twig.php @@ -4,9 +4,7 @@ use Symfony\Config\TwigConfig; -return static function (TwigConfig $twig): void -{ +return static function (TwigConfig $twig): void { $twig->defaultPath('%kernel.project_dir%/resources/views'); - $twig->global('business_shortname')->value('%app.business_shortname%'); - $twig->global('business_shortname')->value('%app.business_fullname%'); + $twig->global('business_name')->value('%app.business_name%'); }; diff --git a/config/routes.php b/config/routes.php index afa07a6..df16e1a 100644 --- a/config/routes.php +++ b/config/routes.php @@ -9,17 +9,16 @@ use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; return static function (RoutingConfigurator $routes): void { - $routes->add('index', '/') ->controller(HomeController::class) ->methods(['GET']); $routes->add('app_login', '/login') - ->controller(SecurityController::class . '::login') + ->controller([SecurityController::class, 'login']) ->methods(['GET', 'POST']); $routes->add('app_logout', '/logout') - ->controller(SecurityController::class . '::logout') + ->controller([SecurityController::class, 'logout']) ->methods(['GET']); $routes->add('dashboard', '/dashboard') diff --git a/config/routes/dev/framework.php b/config/routes/dev/framework.php index c19c60f..fb536c3 100644 --- a/config/routes/dev/framework.php +++ b/config/routes/dev/framework.php @@ -5,7 +5,6 @@ use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; return static function (RoutingConfigurator $routes): void { - $routes->import('@FrameworkBundle/Resources/config/routing/errors.xml') ->prefix('/_error'); }; diff --git a/config/routes/dev/web_profiler.php b/config/routes/dev/web_profiler.php index 923e72f..2aaf786 100644 --- a/config/routes/dev/web_profiler.php +++ b/config/routes/dev/web_profiler.php @@ -5,10 +5,8 @@ use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; return static function (RoutingConfigurator $routes): void { - $routes->import('@WebProfilerBundle/Resources/config/routing/wdt.xml') ->prefix('/_wdt'); - $routes->import('@WebProfilerBundle/Resources/config/routing/profiler.xml') ->prefix('/_profiler'); }; diff --git a/config/routes/security.php b/config/routes/security.php new file mode 100644 index 0000000..48b39c4 --- /dev/null +++ b/config/routes/security.php @@ -0,0 +1,9 @@ +import('security.route_loader.logout', 'service'); +}; diff --git a/config/services.php b/config/services.php index 5ca4fbf..50577de 100644 --- a/config/services.php +++ b/config/services.php @@ -3,14 +3,13 @@ declare(strict_types=1); use App\Doctrine\UserHashPasswordListener; +use App\Entity\User; +use Doctrine\ORM\Events; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; -return static function (ContainerConfigurator $config): void -{ +return static function (ContainerConfigurator $config): void { $config->parameters() - ->set('locale', 'es') - ->set('app.business_shortname', '%env(BUSINESS_SHORTNAME)%') - ->set('app.business_fullname', '%env(BUSINESS_FULLNAME)%'); + ->set('app.business_name', '%env(BUSINESS_NAME)%'); $services = $config->services(); @@ -19,8 +18,12 @@ ->autoconfigure(); $services->load('App\\', '../src/*') - ->exclude('../src/{DependencyInjection,Entity,Tests,Kernel.php}'); + ->exclude('../src/{DependencyInjection,Entity,Kernel.php}'); $services->set(UserHashPasswordListener::class) - ->tag('doctrine.orm.entity_listener', ['lazy' => true]); + ->tag('doctrine.orm.entity_listener', [ + 'event' => Events::prePersist, + 'entity' => User::class, + 'lazy' => true, + ]); }; diff --git a/config/services_test.php b/config/services_test.php index 587839d..4bf4d62 100644 --- a/config/services_test.php +++ b/config/services_test.php @@ -2,11 +2,10 @@ declare(strict_types=1); +use Symfony\Bundle\SecurityBundle\Security; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; -use Symfony\Component\Security\Core\Security; -return static function (ContainerConfigurator $config): void -{ +return static function (ContainerConfigurator $config): void { $services = $config->services(); $services->alias(Security::class, 'security.helper') diff --git a/phpcs.xml.dist b/phpcs.xml.dist index 452d282..89195e2 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -1,8 +1,8 @@ - + + + diff --git a/psalm.xml b/psalm.xml deleted file mode 100644 index 8f34572..0000000 --- a/psalm.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - diff --git a/public/.htaccess b/public/.htaccess index 6abdcb2..b329d52 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -6,7 +6,7 @@ DirectoryIndex index.php - Options +FollowSymlinks + Options +SymLinksIfOwnerMatch RewriteEngine On @@ -20,7 +20,7 @@ DirectoryIndex index.php RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^(.*)$ %{ENV:BASE}/index.php [QSA,L] + RewriteRule ^ %{ENV:BASE}/index.php [L] diff --git a/rector.php b/rector.php index f5e0e53..899dc56 100644 --- a/rector.php +++ b/rector.php @@ -2,34 +2,47 @@ declare(strict_types=1); -use Rector\Core\Configuration\Option; -use Rector\Core\ValueObject\PhpVersion; +use Rector\Config\RectorConfig; use Rector\Doctrine\Set\DoctrineSetList; +use Rector\PHPUnit\Set\PHPUnitLevelSetList; use Rector\PHPUnit\Set\PHPUnitSetList; +use Rector\Set\ValueObject\LevelSetList; use Rector\Set\ValueObject\SetList; +use Rector\Symfony\Set\SymfonyLevelSetList; use Rector\Symfony\Set\SymfonySetList; -use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; -return static function (ContainerConfigurator $config): void { - $parameters = $config->parameters(); +return static function (RectorConfig $rectorConfig): void { + $rectorConfig->paths([ + __DIR__ . '/src', + ]); - $config->import(SetList::ACTION_INJECTION_TO_CONSTRUCTOR_INJECTION); - $config->import(SetList::CODE_QUALITY); - $config->import(SetList::CODING_STYLE); - $config->import(SetList::FRAMEWORK_EXTRA_BUNDLE_50); - $config->import(SetList::PHP_74); - $config->import(SetList::PSR_4); - $config->import(SetList::TYPE_DECLARATION); - $config->import(SetList::TYPE_DECLARATION_STRICT); - $config->import(SymfonySetList::SYMFONY_52); - $config->import(SymfonySetList::SYMFONY_CODE_QUALITY); - $config->import(SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION); - $config->import(DoctrineSetList::DOCTRINE_ORM_29); - $config->import(DoctrineSetList::DOCTRINE_DBAL_30); - $config->import(DoctrineSetList::DOCTRINE_CODE_QUALITY); - $config->import(DoctrineSetList::DOCTRINE_25); - $config->import(PHPUnitSetList::PHPUNIT_91); - $config->import(PHPUnitSetList::PHPUNIT_CODE_QUALITY); - - $parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_74); + $rectorConfig->sets([ + DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES, + DoctrineSetList::DOCTRINE_BUNDLE_210, + DoctrineSetList::DOCTRINE_CODE_QUALITY, + DoctrineSetList::DOCTRINE_COMMON_20, + DoctrineSetList::DOCTRINE_DBAL_40, + DoctrineSetList::DOCTRINE_ORM_214, + LevelSetList::UP_TO_PHP_82, + PHPUnitLevelSetList::UP_TO_PHPUNIT_100, + PHPUnitSetList::ANNOTATIONS_TO_ATTRIBUTES, + PHPUnitSetList::PHPUNIT_100, + PHPUnitSetList::PHPUNIT_CODE_QUALITY, + SetList::CODE_QUALITY, + SetList::CODING_STYLE, + SetList::DEAD_CODE, + SetList::EARLY_RETURN, + SetList::INSTANCEOF, + SetList::NAMING, + SetList::PHP_82, + SetList::PRIVATIZATION, + SetList::STRICT_BOOLEANS, + SetList::TYPE_DECLARATION, + SymfonyLevelSetList::UP_TO_SYMFONY_63, + SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES, + SymfonySetList::CONFIGS, + SymfonySetList::SYMFONY_64, + SymfonySetList::SYMFONY_CODE_QUALITY, + SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION, + ]); }; diff --git a/resources/views/blog/home.html.twig b/resources/views/blog/home.html.twig index cf793f1..57ceed8 100644 --- a/resources/views/blog/home.html.twig +++ b/resources/views/blog/home.html.twig @@ -1,2 +1,2 @@ {% extends 'layout.html.twig' %} -{% set page_title = 'Inicio | ' ~ business_shortname %} \ No newline at end of file +{% set page_title = 'Inicio | ' ~ business_name %} \ No newline at end of file diff --git a/resources/views/dashboard/index.html.twig b/resources/views/dashboard/index.html.twig index 582c740..3b904dd 100644 --- a/resources/views/dashboard/index.html.twig +++ b/resources/views/dashboard/index.html.twig @@ -1,5 +1,5 @@ {% extends 'layout.html.twig' %} -{% set page_title = 'Inicio | ' ~ business_shortname %} +{% set page_title = 'Inicio | ' ~ business_name %} {% block body %}

You are in the Dashboard!

diff --git a/resources/views/layout.html.twig b/resources/views/layout.html.twig index 2a8a54a..c773645 100644 --- a/resources/views/layout.html.twig +++ b/resources/views/layout.html.twig @@ -1,5 +1,5 @@ - + {{ page_title }} diff --git a/src/Command/ExampleCommand.php b/src/Command/ExampleCommand.php index dcfa2c5..ad0ec1a 100644 --- a/src/Command/ExampleCommand.php +++ b/src/Command/ExampleCommand.php @@ -10,6 +10,7 @@ use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; + #[AsCommand('app:example-command', 'An example command.')] final class ExampleCommand extends Command { diff --git a/src/Controller/RegistrationController.php b/src/Controller/RegistrationController.php index a0b3264..c020e8d 100644 --- a/src/Controller/RegistrationController.php +++ b/src/Controller/RegistrationController.php @@ -16,20 +16,11 @@ final class RegistrationController extends AbstractController { - private Mailer $mailer; - - private UserRepositoryInterface $userRepository; - - private EventDispatcherInterface $eventDispatcher; - public function __construct( - Mailer $mailer, - UserRepositoryInterface $userRepository, - EventDispatcherInterface $eventDispatcher + private readonly Mailer $mailer, + private readonly UserRepositoryInterface $userRepository, + private readonly EventDispatcherInterface $eventDispatcher ) { - $this->mailer = $mailer; - $this->userRepository = $userRepository; - $this->eventDispatcher = $eventDispatcher; } public function __invoke(Request $request): Response @@ -52,7 +43,7 @@ public function __invoke(Request $request): Response } return $this->render('security/register.html.twig', [ - 'registrationForm' => $form->createView(), + 'registrationForm' => $form, ]); } } diff --git a/src/Controller/SecurityController.php b/src/Controller/SecurityController.php index a1bb59c..691adca 100644 --- a/src/Controller/SecurityController.php +++ b/src/Controller/SecurityController.php @@ -7,13 +7,14 @@ use LogicException; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Http\Authentication\AuthenticationUtils; final class SecurityController extends AbstractController { public function login(AuthenticationUtils $authenticationUtils): Response { - if ($this->getUser() !== null) { + if ($this->getUser() instanceof UserInterface) { return $this->redirectToRoute('dashboard'); } @@ -23,7 +24,7 @@ public function login(AuthenticationUtils $authenticationUtils): Response return $this->render('security/login.html.twig', ['last_username' => $lastUsername, 'error' => $error]); } - public function logout(): void + public function logout(): never { throw new LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.'); } diff --git a/src/Doctrine/UserHashPasswordListener.php b/src/Doctrine/UserHashPasswordListener.php index 9a1d801..b24dcc4 100644 --- a/src/Doctrine/UserHashPasswordListener.php +++ b/src/Doctrine/UserHashPasswordListener.php @@ -7,13 +7,10 @@ use App\Entity\User; use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; -final class UserHashPasswordListener +final readonly class UserHashPasswordListener { - private UserPasswordHasherInterface $hasher; - - public function __construct(UserPasswordHasherInterface $userPasswordHasher) + public function __construct(private UserPasswordHasherInterface $hasher) { - $this->hasher = $userPasswordHasher; } public function prePersist(User $user): void diff --git a/src/Entity/User.php b/src/Entity/User.php index e7f57b2..0f45e2c 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -10,33 +10,22 @@ use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; use Symfony\Component\Security\Core\User\UserInterface; -/** - * @ORM\Entity(repositoryClass=UserRepository::class) - * @ORM\EntityListeners({"App\Doctrine\UserHashPasswordListener"}) - * @UniqueEntity(fields={"email"}, message="There is already an account with this email") - */ +#[ORM\Entity(repositoryClass: UserRepository::class)] +#[UniqueEntity(fields: ['email'], message: 'There is already an account with this email')] class User implements UserInterface, PasswordAuthenticatedUserInterface { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private ?int $id = null; - /** - * @ORM\Column(type="string", length=180, unique=true) - */ + #[ORM\Column(type: 'string', length: 180, unique: true)] private string $email = ''; - /** - * @ORM\Column(type="json") - */ + #[ORM\Column(type: 'json')] private array $roles = []; - /** - * @ORM\Column(type="string") - */ + #[ORM\Column(type: 'string')] private string $password = ''; public static function create(string $email, string $password, array $roles = []): self diff --git a/src/Event/UserRegisteredEvent.php b/src/Event/UserRegisteredEvent.php index e968232..231f0ab 100644 --- a/src/Event/UserRegisteredEvent.php +++ b/src/Event/UserRegisteredEvent.php @@ -1,7 +1,9 @@ urlGenerator = $urlGenerator; } public function supports(Request $request): bool diff --git a/src/Utils/Mailer.php b/src/Utils/Mailer.php index f9873b2..5ab6646 100644 --- a/src/Utils/Mailer.php +++ b/src/Utils/Mailer.php @@ -9,13 +9,10 @@ use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Mime\Address; -final class Mailer +final readonly class Mailer { - private MailerInterface $mailer; - - public function __construct(MailerInterface $mailer) + public function __construct(private MailerInterface $mailer) { - $this->mailer = $mailer; } public function sendConfirmationEmail(User $user): TemplatedEmail diff --git a/symfony.lock b/symfony.lock index 54d7291..18329f2 100644 --- a/symfony.lock +++ b/symfony.lock @@ -1,7 +1,4 @@ { - "behat/gherkin": { - "version": "4.x-dev" - }, "codeception/codeception": { "version": "5.0", "recipe": { @@ -9,98 +6,20 @@ "branch": "main", "version": "2.3", "ref": "89689e24507d8cb2c4a7937ece549db3836b608c" - }, - "files": [ - "codeception.yml", - "tests/_data/.gitignore", - "tests/_output/.gitignore", - "tests/_support/AcceptanceTester.php", - "tests/_support/FunctionalTester.php", - "tests/_support/Helper/Acceptance.php", - "tests/_support/Helper/Functional.php", - "tests/_support/Helper/Unit.php", - "tests/_support/UnitTester.php", - "tests/_support/_generated/.gitignore", - "tests/acceptance.suite.yml", - "tests/acceptance/.gitignore", - "tests/functional.suite.yml", - "tests/functional/.gitignore", - "tests/unit.suite.yml", - "tests/unit/.gitignore" - ] - }, - "codeception/lib-asserts": { - "version": "2.0.0" - }, - "codeception/lib-innerbrowser": { - "version": "3.1.2" - }, - "codeception/lib-web": { - "version": "1.0.1" - }, - "codeception/module-asserts": { - "version": "dev-master" - }, - "codeception/module-doctrine2": { - "version": "dev-master" - }, - "codeception/module-phpbrowser": { - "version": "dev-master" - }, - "codeception/module-symfony": { - "version": "dev-main" - }, - "codeception/stub": { - "version": "4.0.2" - }, - "composer/pcre": { - "version": "3.x-dev" - }, - "composer/semver": { - "version": "3.x-dev" - }, - "composer/xdebug-handler": { - "version": "3.0.3" - }, - "doctrine/annotations": { - "version": "1.14", - "recipe": { - "repo": "github.com/symfony/recipes", - "branch": "main", - "version": "1.10", - "ref": "64d8583af5ea57b7afa4aba4b159907f3a148b05" } }, - "doctrine/cache": { - "version": "2.1.x-dev" - }, - "doctrine/collections": { - "version": "1.7.x-dev" - }, - "doctrine/common": { - "version": "3.3.x-dev" - }, - "doctrine/data-fixtures": { - "version": "1.6.x-dev" - }, - "doctrine/dbal": { - "version": "3.4.x-dev" - }, - "doctrine/deprecations": { - "version": "v1.0.0" - }, "doctrine/doctrine-bundle": { - "version": "2.6", + "version": "2.11", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "2.4", - "ref": "5b7882dd9d05ef9b7e71fceed66af1ea573a70d4" + "version": "2.10", + "ref": "0b4a11ee7e60b36227502ed26874edd7e8b66353" }, "files": [ - "config/packages/doctrine.yaml", - "src/Entity/.gitignore", - "src/Repository/.gitignore" + "./config/packages/doctrine.yaml", + "./src/Entity/.gitignore", + "./src/Repository/.gitignore" ] }, "doctrine/doctrine-fixtures-bundle": { @@ -115,32 +34,8 @@ "./src/DataFixtures/AppFixtures.php" ] }, - "doctrine/event-manager": { - "version": "1.2.x-dev" - }, - "doctrine/inflector": { - "version": "2.1.x-dev" - }, - "doctrine/instantiator": { - "version": "1.5.x-dev" - }, - "doctrine/lexer": { - "version": "1.3.x-dev" - }, - "doctrine/orm": { - "version": "2.13.x-dev" - }, - "doctrine/persistence": { - "version": "3.1.x-dev" - }, - "doctrine/sql-formatter": { - "version": "1.2.x-dev" - }, - "egulias/email-validator": { - "version": "3.x-dev" - }, "friendsofphp/php-cs-fixer": { - "version": "3.8", + "version": "3.46", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -151,85 +46,22 @@ "./.php-cs-fixer.dist.php" ] }, - "graham-campbell/result-type": { - "version": "1.0.x-dev" - }, - "guzzlehttp/guzzle": { - "version": "7.4-dev" - }, - "guzzlehttp/promises": { - "version": "1.5-dev" - }, - "guzzlehttp/psr7": { - "version": "2.2-dev" - }, - "masterminds/html5": { - "version": "2.7.5" - }, - "monolog/monolog": { - "version": "2.x-dev" - }, - "myclabs/deep-copy": { - "version": "1.x-dev" - }, - "nikic/php-parser": { - "version": "v4.13.2" - }, - "pdepend/pdepend": { - "version": "2.x-dev" - }, - "phar-io/manifest": { - "version": "2.0.x-dev" - }, - "phar-io/version": { - "version": "3.2.1" - }, - "php-cs-fixer/diff": { - "version": "v2.0.2" - }, - "phpdocumentor/reflection-common": { - "version": "2.x-dev" - }, - "phpdocumentor/reflection-docblock": { - "version": "5.x-dev" - }, - "phpdocumentor/type-resolver": { - "version": "1.x-dev" - }, - "phpmd/phpmd": { - "version": "dev-master" - }, - "phpoption/phpoption": { - "version": "1.8-dev" - }, - "phpspec/prophecy": { - "version": "1.x-dev" - }, "phpstan/phpstan": { - "version": "1.7.x-dev" - }, - "phpunit/php-code-coverage": { - "version": "9.2.x-dev" - }, - "phpunit/php-file-iterator": { - "version": "3.0.x-dev" - }, - "phpunit/php-invoker": { - "version": "3.1.1" - }, - "phpunit/php-text-template": { - "version": "2.0.4" - }, - "phpunit/php-timer": { - "version": "5.0.3" + "version": "1.10", + "recipe": { + "repo": "github.com/symfony/recipes-contrib", + "branch": "main", + "version": "1.0", + "ref": "5e490cc197fb6bb1ae22e5abbc531ddc633b6767" + } }, "phpunit/phpunit": { - "version": "9.5", + "version": "10.5", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "9.3", - "ref": "a6249a6c4392e9169b87abf93225f7f9f59025e6" + "version": "9.6", + "ref": "7364a21d87e658eb363c5020c072ecfdc12e2326" }, "files": [ "./.env.test", @@ -237,86 +69,8 @@ "./tests/bootstrap.php" ] }, - "psr/cache": { - "version": "3.0.0" - }, - "psr/container": { - "version": "2.0.2" - }, - "psr/event-dispatcher": { - "version": "1.0.0" - }, - "psr/http-client": { - "version": "1.0.x-dev" - }, - "psr/http-factory": { - "version": "1.0.x-dev" - }, - "psr/http-message": { - "version": "1.0.x-dev" - }, - "psr/log": { - "version": "3.0.0" - }, - "psy/psysh": { - "version": "0.11.x-dev" - }, - "ralouphie/getallheaders": { - "version": "3.0.3" - }, - "rector/rector": { - "version": "0.12-dev" - }, - "roave/security-advisories": { - "version": "dev-latest" - }, - "sebastian/cli-parser": { - "version": "1.0.1" - }, - "sebastian/code-unit": { - "version": "1.0.8" - }, - "sebastian/code-unit-reverse-lookup": { - "version": "2.0.3" - }, - "sebastian/comparator": { - "version": "4.0.6" - }, - "sebastian/complexity": { - "version": "2.0.2" - }, - "sebastian/diff": { - "version": "4.0.4" - }, - "sebastian/environment": { - "version": "5.1.x-dev" - }, - "sebastian/exporter": { - "version": "4.0.x-dev" - }, - "sebastian/global-state": { - "version": "5.0.x-dev" - }, - "sebastian/lines-of-code": { - "version": "1.0.3" - }, - "sebastian/object-enumerator": { - "version": "4.0.4" - }, - "sebastian/object-reflector": { - "version": "2.0.4" - }, - "sebastian/recursion-context": { - "version": "4.0.4" - }, - "sebastian/type": { - "version": "3.0.x-dev" - }, - "sebastian/version": { - "version": "3.0.x-dev" - }, "squizlabs/php_codesniffer": { - "version": "4.0", + "version": "3.8", "recipe": { "repo": "github.com/symfony/recipes-contrib", "branch": "main", @@ -330,26 +84,11 @@ "repo": "github.com/symfony/recipes-contrib", "branch": "main", "version": "1.0", - "ref": "efb318193e48384eb5c5aadff15396ed698f8ffc" - }, - "files": [ - "public/.htaccess" - ] - }, - "symfony/browser-kit": { - "version": "6.0.x-dev" - }, - "symfony/cache": { - "version": "v6.0.8" - }, - "symfony/cache-contracts": { - "version": "v3.0.1" - }, - "symfony/config": { - "version": "v6.0.8" + "ref": "0f18b4decdf5695d692c1d0dfd65516a07a6adf1" + } }, "symfony/console": { - "version": "6.0", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -360,11 +99,8 @@ "./bin/console" ] }, - "symfony/css-selector": { - "version": "6.0.x-dev" - }, "symfony/debug-bundle": { - "version": "6.0", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -375,38 +111,8 @@ "./config/packages/debug.yaml" ] }, - "symfony/dependency-injection": { - "version": "v6.0.8" - }, - "symfony/deprecation-contracts": { - "version": "v3.0.1" - }, - "symfony/doctrine-bridge": { - "version": "6.0.x-dev" - }, - "symfony/dom-crawler": { - "version": "6.0.x-dev" - }, - "symfony/dotenv": { - "version": "v6.0.5" - }, - "symfony/error-handler": { - "version": "v6.0.8" - }, - "symfony/event-dispatcher": { - "version": "v6.0.3" - }, - "symfony/event-dispatcher-contracts": { - "version": "v3.0.1" - }, - "symfony/filesystem": { - "version": "v6.0.7" - }, - "symfony/finder": { - "version": "v6.0.8" - }, "symfony/flex": { - "version": "2.2", + "version": "2.4", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -414,39 +120,30 @@ "ref": "146251ae39e06a95be0fe3d13c807bcf3938b172" }, "files": [ - ".env" + "./.env" ] }, - "symfony/form": { - "version": "6.0.x-dev" - }, "symfony/framework-bundle": { - "version": "6.2", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "6.2", - "ref": "af47254c5e4cd543e6af3e4508298ffebbdaddd3" + "version": "7.0", + "ref": "de6e1b3e2bbbe69e36262d72c3f3db858b1ab391" }, "files": [ - "config/packages/cache.yaml", - "config/packages/framework.yaml", - "config/preload.php", - "config/routes/framework.yaml", - "config/services.yaml", - "public/index.php", - "src/Controller/.gitignore", - "src/Kernel.php" + "./config/packages/cache.yaml", + "./config/packages/framework.yaml", + "./config/preload.php", + "./config/routes/framework.yaml", + "./config/services.yaml", + "./public/index.php", + "./src/Controller/.gitignore", + "./src/Kernel.php" ] }, - "symfony/http-foundation": { - "version": "v6.0.8" - }, - "symfony/http-kernel": { - "version": "v6.0.8" - }, "symfony/mailer": { - "version": "6.2", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -454,11 +151,11 @@ "ref": "2bf89438209656b85b9a49238c4467bff1b1f939" }, "files": [ - "config/packages/mailer.yaml" + "./config/packages/mailer.yaml" ] }, "symfony/maker-bundle": { - "version": "1.41", + "version": "1.52", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -466,56 +163,8 @@ "ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f" } }, - "symfony/mime": { - "version": "6.0.x-dev" - }, - "symfony/monolog-bridge": { - "version": "6.0.x-dev" - }, - "symfony/monolog-bundle": { - "version": "3.9999999", - "recipe": { - "repo": "github.com/symfony/recipes", - "branch": "main", - "version": "3.7", - "ref": "213676c4ec929f046dfde5ea8e97625b81bc0578" - }, - "files": [ - "./config/packages/monolog.yaml" - ] - }, - "symfony/options-resolver": { - "version": "6.0.x-dev" - }, - "symfony/password-hasher": { - "version": "6.0.x-dev" - }, - "symfony/polyfill-intl-grapheme": { - "version": "v1.25.0" - }, - "symfony/polyfill-intl-icu": { - "version": "v1.25.0" - }, - "symfony/polyfill-intl-idn": { - "version": "v1.25.0" - }, - "symfony/polyfill-intl-normalizer": { - "version": "v1.25.0" - }, - "symfony/polyfill-mbstring": { - "version": "v1.25.0" - }, - "symfony/process": { - "version": "6.0.x-dev" - }, - "symfony/property-access": { - "version": "6.0.x-dev" - }, - "symfony/property-info": { - "version": "6.0.x-dev" - }, "symfony/routing": { - "version": "6.2", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -523,69 +172,43 @@ "ref": "e0a11b4ccb8c9e70b574ff5ad3dfdcd41dec5aa6" }, "files": [ - "config/packages/routing.yaml", - "config/routes.yaml" + "./config/packages/routing.yaml", + "./config/routes.yaml" ] }, - "symfony/runtime": { - "version": "v6.0.8" - }, "symfony/security-bundle": { - "version": "6.2", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "6.0", - "ref": "8a5b112826f7d3d5b07027f93786ae11a1c7de48" + "version": "6.4", + "ref": "2ae08430db28c8eb4476605894296c82a642028f" }, "files": [ - "config/packages/security.yaml" + "./config/packages/security.yaml", + "./config/routes/security.yaml" ] }, - "symfony/security-core": { - "version": "6.0.x-dev" - }, - "symfony/security-csrf": { - "version": "6.0.x-dev" - }, - "symfony/security-http": { - "version": "6.0.x-dev" - }, - "symfony/service-contracts": { - "version": "v3.0.1" - }, - "symfony/stopwatch": { - "version": "6.0.x-dev" - }, - "symfony/string": { - "version": "v6.0.8" - }, "symfony/translation": { - "version": "6.0", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "5.3", - "ref": "da64f5a2b6d96f5dc24914517c0350a5f91dee43" + "version": "6.3", + "ref": "64fe617084223633e1dedf9112935d8c95410d3e" }, "files": [ "./config/packages/translation.yaml", "./translations/.gitignore" ] }, - "symfony/translation-contracts": { - "version": "3.1-dev" - }, - "symfony/twig-bridge": { - "version": "6.0.x-dev" - }, "symfony/twig-bundle": { - "version": "6.0", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", - "version": "5.4", - "ref": "bb2178c57eee79e6be0b297aa96fc0c0def81387" + "version": "6.3", + "ref": "b7772eb20e92f3fb4d4fe756e7505b4ba2ca1a2c" }, "files": [ "./config/packages/twig.yaml", @@ -593,7 +216,7 @@ ] }, "symfony/validator": { - "version": "6.0", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -604,14 +227,8 @@ "./config/packages/validator.yaml" ] }, - "symfony/var-dumper": { - "version": "v6.0.8" - }, - "symfony/var-exporter": { - "version": "v6.0.8" - }, "symfony/web-profiler-bundle": { - "version": "6.2", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", @@ -619,23 +236,8 @@ "ref": "e42b3f0177df239add25373083a564e5ead4e13a" }, "files": [ - "config/packages/web_profiler.yaml", - "config/routes/web_profiler.yaml" + "./config/packages/web_profiler.yaml", + "./config/routes/web_profiler.yaml" ] - }, - "symfony/yaml": { - "version": "v6.0.3" - }, - "theseer/tokenizer": { - "version": "1.2.1" - }, - "twig/twig": { - "version": "3.x-dev" - }, - "vlucas/phpdotenv": { - "version": "5.4-dev" - }, - "webmozart/assert": { - "version": "1.10-dev" } } diff --git a/tests/Functional.suite.yml b/tests/Functional.suite.yml index 9020570..681bd49 100644 --- a/tests/Functional.suite.yml +++ b/tests/Functional.suite.yml @@ -4,10 +4,8 @@ modules: enabled: - Asserts - Symfony: - app_path: 'src' - environment: 'test' - mailer: 'symfony_mailer' + app_path: 'src' + environment: 'test' - Doctrine2: - depends: Symfony - cleanup: true - - \App\Tests\Helper\Functional + depends: Symfony + cleanup: true diff --git a/tests/Functional/BrowserCest.php b/tests/Functional/BrowserCest.php index 05245b2..08e9343 100644 --- a/tests/Functional/BrowserCest.php +++ b/tests/Functional/BrowserCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Entity\User; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class BrowserCest { diff --git a/tests/Functional/ConsoleCest.php b/tests/Functional/ConsoleCest.php index 695c437..183586e 100644 --- a/tests/Functional/ConsoleCest.php +++ b/tests/Functional/ConsoleCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Command\ExampleCommand; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class ConsoleCest { diff --git a/tests/Functional/DoctrineCest.php b/tests/Functional/DoctrineCest.php index 64f699b..6f66550 100644 --- a/tests/Functional/DoctrineCest.php +++ b/tests/Functional/DoctrineCest.php @@ -7,7 +7,7 @@ use App\Entity\User; use App\Repository\Model\UserRepositoryInterface; use App\Repository\UserRepository; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class DoctrineCest { diff --git a/tests/Functional/EventsCest.php b/tests/Functional/EventsCest.php index 2278f83..c7eaf7d 100644 --- a/tests/Functional/EventsCest.php +++ b/tests/Functional/EventsCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Event\UserRegisteredEvent; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; use PHPUnit\Framework\ExpectationFailedException; use Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector; use Symfony\Component\Console\ConsoleEvents; diff --git a/tests/Functional/FormCest.php b/tests/Functional/FormCest.php index 8f3bfa5..139c0f8 100644 --- a/tests/Functional/FormCest.php +++ b/tests/Functional/FormCest.php @@ -4,7 +4,7 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class FormCest { diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php index 6595e8b..c0fa13f 100644 --- a/tests/Functional/IssuesCest.php +++ b/tests/Functional/IssuesCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Entity\User; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; use Doctrine\DBAL\Connection; final class IssuesCest diff --git a/tests/Functional/MailerCest.php b/tests/Functional/MailerCest.php index 162270d..03ca54f 100644 --- a/tests/Functional/MailerCest.php +++ b/tests/Functional/MailerCest.php @@ -4,7 +4,7 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class MailerCest { diff --git a/tests/Functional/MimeCest.php b/tests/Functional/MimeCest.php index 88cf186..eee29e5 100644 --- a/tests/Functional/MimeCest.php +++ b/tests/Functional/MimeCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Entity\User; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; use App\Utils\Mailer; final class MimeCest diff --git a/tests/Functional/ParameterCest.php b/tests/Functional/ParameterCest.php index c926dc8..bcb9801 100644 --- a/tests/Functional/ParameterCest.php +++ b/tests/Functional/ParameterCest.php @@ -4,13 +4,13 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class ParameterCest { public function grabParameter(FunctionalTester $I) { - $locale = (string) $I->grabParameter('locale'); - $I->assertSame('es', $locale); + $locale = (string) $I->grabParameter('app.business_name'); + $I->assertSame('Codeception', $locale); } } diff --git a/tests/Functional/RouterCest.php b/tests/Functional/RouterCest.php index 995b432..0ae5bc3 100644 --- a/tests/Functional/RouterCest.php +++ b/tests/Functional/RouterCest.php @@ -4,7 +4,7 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class RouterCest { diff --git a/tests/Functional/SecurityCest.php b/tests/Functional/SecurityCest.php index 348fe2a..4d1ddfe 100644 --- a/tests/Functional/SecurityCest.php +++ b/tests/Functional/SecurityCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Entity\User; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class SecurityCest { diff --git a/tests/Functional/ServicesCest.php b/tests/Functional/ServicesCest.php index 600f1d9..bf10e67 100644 --- a/tests/Functional/ServicesCest.php +++ b/tests/Functional/ServicesCest.php @@ -4,8 +4,8 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; -use Symfony\Component\Security\Core\Security; +use App\Tests\Support\FunctionalTester; +use Symfony\Bundle\SecurityBundle\Security; final class ServicesCest { diff --git a/tests/Functional/SessionCest.php b/tests/Functional/SessionCest.php index f34a734..16b0f09 100644 --- a/tests/Functional/SessionCest.php +++ b/tests/Functional/SessionCest.php @@ -5,7 +5,7 @@ namespace App\Tests\Functional; use App\Entity\User; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; final class SessionCest diff --git a/tests/Functional/TimeCest.php b/tests/Functional/TimeCest.php index e031130..1f3e444 100644 --- a/tests/Functional/TimeCest.php +++ b/tests/Functional/TimeCest.php @@ -4,7 +4,7 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class TimeCest { diff --git a/tests/Functional/TwigCest.php b/tests/Functional/TwigCest.php index 91f4f91..e674da2 100644 --- a/tests/Functional/TwigCest.php +++ b/tests/Functional/TwigCest.php @@ -4,7 +4,7 @@ namespace App\Tests\Functional; -use App\Tests\FunctionalTester; +use App\Tests\Support\FunctionalTester; final class TwigCest { diff --git a/tests/_build/data/.gitignore b/tests/Support/Data/.gitignore similarity index 100% rename from tests/_build/data/.gitignore rename to tests/Support/Data/.gitignore diff --git a/tests/_build/support/FunctionalTester.php b/tests/Support/FunctionalTester.php similarity index 83% rename from tests/_build/support/FunctionalTester.php rename to tests/Support/FunctionalTester.php index ce9fe7a..6015508 100644 --- a/tests/_build/support/FunctionalTester.php +++ b/tests/Support/FunctionalTester.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Tests; +namespace App\Tests\Support; use Codeception\Actor; diff --git a/tests/_build/support/Page/.gitignore b/tests/Support/Helper/.gitignore similarity index 100% rename from tests/_build/support/Page/.gitignore rename to tests/Support/Helper/.gitignore diff --git a/tests/_build/output/.gitignore b/tests/Support/_generated/.gitignore similarity index 100% rename from tests/_build/output/.gitignore rename to tests/Support/_generated/.gitignore diff --git a/tests/_build/support/Helper/Functional.php b/tests/_build/support/Helper/Functional.php deleted file mode 100644 index 8ce81ec..0000000 --- a/tests/_build/support/Helper/Functional.php +++ /dev/null @@ -1,10 +0,0 @@ -