From 83a894823fe9cdcc1ee27e0df394ab177fd03f61 Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Mon, 14 Feb 2022 17:33:52 +0100 Subject: [PATCH] release 1.17.2 (#3135) * allow to input password interactively in console * added block to simplify overwriting export template parts * prevent installation in PHP 8.1 * composer update * phpunit version to 9 * support negative amounts in excel export * added system configuration actions for calendar, weekly timesheet, users * added method to render text with full markdown support --- .github/workflows/coverage.yaml | 2 +- .github/workflows/testing.yaml | 2 +- composer.json | 6 +- composer.lock | 1765 ++++++++++------- phpunit.xml.dist | 60 +- src/Command/AbstractUserCommand.php | 40 + src/Command/ChangePasswordCommand.php | 12 +- src/Command/CreateUserCommand.php | 32 +- src/Configuration/ThemeConfiguration.php | 9 +- .../Actions/CalendarSubscriber.php | 4 + .../Actions/QuickEntrySubscriber.php | 4 + .../Actions/UsersSubscriber.php | 4 + .../Base/AbstractSpreadsheetRenderer.php | 4 +- src/Export/Base/PDFRenderer.php | 4 +- src/Form/TimesheetEditForm.php | 1 - src/Twig/Runtime/MarkdownExtension.php | 2 +- src/Utils/Duration.php | 8 +- src/Utils/MPdfConverter.php | 1 - src/Utils/Markdown.php | 31 +- src/Utils/ParsedownExtension.php | 5 +- symfony.lock | 18 +- templates/embeds/comments.html.twig | 2 +- templates/export/pdf-layout.html.twig | 24 +- templates/invoice/listing.html.twig | 4 +- tests/Command/ChangePasswordCommandTest.php | 22 +- tests/Controller/Auth/SamlControllerTest.php | 12 +- tests/Controller/CalendarControllerTest.php | 18 + tests/Controller/CustomerControllerTest.php | 8 + tests/Controller/ProjectControllerTest.php | 8 + tests/Controller/UserControllerTest.php | 1 + .../DependencyInjection/AppExtensionTest.php | 7 +- .../Export/Renderer/AbstractRendererTest.php | 13 +- tests/Export/Renderer/CsvRendererTest.php | 36 +- tests/Export/Renderer/HtmlRendererTest.php | 5 +- tests/Twig/Runtime/MarkdownExtensionTest.php | 8 +- tests/phpstan-doctrine.php | 6 +- translations/export.he.xlf | 2 +- 37 files changed, 1298 insertions(+), 892 deletions(-) create mode 100644 src/Command/AbstractUserCommand.php diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 9d3db37a..108fba0c 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -19,7 +19,7 @@ jobs: options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: matrix: - php: ['7.4'] + php: ['8.0'] name: Coverage (${{ matrix.php }}) steps: diff --git a/.github/workflows/testing.yaml b/.github/workflows/testing.yaml index 6afe76b7..603cdd29 100644 --- a/.github/workflows/testing.yaml +++ b/.github/workflows/testing.yaml @@ -19,7 +19,7 @@ jobs: options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: matrix: - php: ['7.3', '7.4', '8.0'] + php: ['7.4', '8.0', '8.1'] name: Integration (${{ matrix.php }}) steps: diff --git a/composer.json b/composer.json index 01d229a8..acfc90fd 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ } ], "require": { - "php": ">=7.3", + "php": "7.3.*||7.4.*||8.0.*", "ext-gd": "*", "ext-intl": "*", "ext-json": "*", @@ -78,12 +78,12 @@ "dama/doctrine-test-bundle": "^6.0", "doctrine/doctrine-fixtures-bundle": "^3.2", "fakerphp/faker": "^1.15", - "friendsofphp/php-cs-fixer": "3.2.*", + "friendsofphp/php-cs-fixer": "^3.2", "phpstan/phpstan": "^1.0", "phpstan/phpstan-doctrine": "^1.0", "phpstan/phpstan-phpunit": "^1.0", "phpstan/phpstan-symfony": "^1.0", - "phpunit/phpunit": "^8.0", + "phpunit/phpunit": "^9.0", "symfony/browser-kit": "^4.4", "symfony/css-selector": "^4.4", "symfony/debug-bundle": "^4.4", diff --git a/composer.lock b/composer.lock index bb1e1682..f5b30cdb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5dde0b8628ebb8a37360ca2726f224df", + "content-hash": "9da67e53e0187887471dba86f8c08cc9", "packages": [ { "name": "beberlei/doctrineextensions", @@ -427,16 +427,16 @@ }, { "name": "doctrine/common", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "e927fc2410c8723d053b8032e591cdff76587cdb" + "reference": "295082d3750987065912816a9d536c2df735f637" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/e927fc2410c8723d053b8032e591cdff76587cdb", - "reference": "e927fc2410c8723d053b8032e591cdff76587cdb", + "url": "https://api.github.com/repos/doctrine/common/zipball/295082d3750987065912816a9d536c2df735f637", + "reference": "295082d3750987065912816a9d536c2df735f637", "shasum": "" }, "require": { @@ -445,7 +445,7 @@ }, "require-dev": { "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^1.2.0", + "phpstan/phpstan": "^1.4.1", "phpstan/phpstan-phpunit": "^1", "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0", "squizlabs/php_codesniffer": "^3.0", @@ -497,7 +497,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.2.1" + "source": "https://github.com/doctrine/common/tree/3.2.2" }, "funding": [ { @@ -513,7 +513,7 @@ "type": "tidelift" } ], - "time": "2021-12-26T22:39:45+00:00" + "time": "2022-02-02T09:15:57+00:00" }, { "name": "doctrine/dbal", @@ -782,16 +782,16 @@ }, { "name": "doctrine/doctrine-migrations-bundle", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", - "reference": "c1b10bc1466e08bba82640e49c7bbcce0c9853c2" + "reference": "3393f411ba25ade21969c33f2053220044854d01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/c1b10bc1466e08bba82640e49c7bbcce0c9853c2", - "reference": "c1b10bc1466e08bba82640e49c7bbcce0c9853c2", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/3393f411ba25ade21969c33f2053220044854d01", + "reference": "3393f411ba25ade21969c33f2053220044854d01", "shasum": "" }, "require": { @@ -831,11 +831,11 @@ }, { "name": "Doctrine Project", - "homepage": "http://www.doctrine-project.org" + "homepage": "https://www.doctrine-project.org" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony DoctrineMigrationsBundle", @@ -847,7 +847,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", - "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.1" + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.2" }, "funding": [ { @@ -863,7 +863,7 @@ "type": "tidelift" } ], - "time": "2021-11-11T11:08:52+00:00" + "time": "2022-02-01T18:08:07+00:00" }, { "name": "doctrine/event-manager", @@ -1197,16 +1197,16 @@ }, { "name": "doctrine/migrations", - "version": "3.4.0", + "version": "3.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "e17a946a9d3693cc2f3c285e6667522ded237f71" + "reference": "e7df670aa9565b435ffec636cebdb4d0a1987f10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/e17a946a9d3693cc2f3c285e6667522ded237f71", - "reference": "e17a946a9d3693cc2f3c285e6667522ded237f71", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/e7df670aa9565b435ffec636cebdb4d0a1987f10", + "reference": "e7df670aa9565b435ffec636cebdb4d0a1987f10", "shasum": "" }, "require": { @@ -1283,7 +1283,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.4.0" + "source": "https://github.com/doctrine/migrations/tree/3.4.1" }, "funding": [ { @@ -1299,20 +1299,20 @@ "type": "tidelift" } ], - "time": "2022-01-14T08:19:22+00:00" + "time": "2022-01-28T21:58:35+00:00" }, { "name": "doctrine/orm", - "version": "2.11.0", + "version": "2.11.1", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "bfed8cb6ed448f4ab1ea3fff06e4d6c44439e4ef" + "reference": "4b88ce787d3916c8366abf52f6c658a7a27ed3a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/bfed8cb6ed448f4ab1ea3fff06e4d6c44439e4ef", - "reference": "bfed8cb6ed448f4ab1ea3fff06e4d6c44439e4ef", + "url": "https://api.github.com/repos/doctrine/orm/zipball/4b88ce787d3916c8366abf52f6c658a7a27ed3a6", + "reference": "4b88ce787d3916c8366abf52f6c658a7a27ed3a6", "shasum": "" }, "require": { @@ -1342,12 +1342,12 @@ "doctrine/annotations": "^1.13", "doctrine/coding-standard": "^9.0", "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "1.3.3", + "phpstan/phpstan": "1.4.3", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", "squizlabs/php_codesniffer": "3.6.2", "symfony/cache": "^4.4 || ^5.4 || ^6.0", "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "vimeo/psalm": "4.18.1" + "vimeo/psalm": "4.19.0" }, "suggest": { "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0", @@ -1396,9 +1396,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.11.0" + "source": "https://github.com/doctrine/orm/tree/2.11.1" }, - "time": "2022-01-12T13:20:33+00:00" + "time": "2022-01-30T21:47:06+00:00" }, { "name": "doctrine/persistence", @@ -1836,16 +1836,16 @@ }, { "name": "friendsofsymfony/rest-bundle", - "version": "3.2.1", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", - "reference": "c20efbbfecc311663baa939e4956d1f13350029a" + "reference": "54f5ffec4bff71b727a2aa4877915ad81358defc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/c20efbbfecc311663baa939e4956d1f13350029a", - "reference": "c20efbbfecc311663baa939e4956d1f13350029a", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/54f5ffec4bff71b727a2aa4877915ad81358defc", + "reference": "54f5ffec4bff71b727a2aa4877915ad81358defc", "shasum": "" }, "require": { @@ -1858,7 +1858,7 @@ "symfony/http-kernel": "^4.4|^5.3|^6.0", "symfony/routing": "^4.4|^5.3|^6.0", "symfony/security-core": "^4.4|^5.3|^6.0", - "willdurand/jsonp-callback-validator": "^1.0", + "willdurand/jsonp-callback-validator": "^1.0|^2.0", "willdurand/negotiation": "^2.0|^3.0" }, "conflict": { @@ -1936,9 +1936,9 @@ ], "support": { "issues": "https://github.com/FriendsOfSymfony/FOSRestBundle/issues", - "source": "https://github.com/FriendsOfSymfony/FOSRestBundle/tree/3.2.1" + "source": "https://github.com/FriendsOfSymfony/FOSRestBundle/tree/3.3.0" }, - "time": "2022-01-08T12:14:48+00:00" + "time": "2022-02-03T20:06:00+00:00" }, { "name": "gedmo/doctrine-extensions", @@ -3296,12 +3296,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, "files": [ "src/DeepCopy/deep_copy.php" - ] + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4722,16 +4722,16 @@ }, { "name": "symfony/amazon-mailer", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/amazon-mailer.git", - "reference": "cb2040ae3fcfcb1bbc60f7a2ac812af930d257c3" + "reference": "f77a8d51a6354a44463f043d761957da1aae9074" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/amazon-mailer/zipball/cb2040ae3fcfcb1bbc60f7a2ac812af930d257c3", - "reference": "cb2040ae3fcfcb1bbc60f7a2ac812af930d257c3", + "url": "https://api.github.com/repos/symfony/amazon-mailer/zipball/f77a8d51a6354a44463f043d761957da1aae9074", + "reference": "f77a8d51a6354a44463f043d761957da1aae9074", "shasum": "" }, "require": { @@ -4767,7 +4767,7 @@ "description": "Symfony Amazon Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/amazon-mailer/tree/v4.4.27" + "source": "https://github.com/symfony/amazon-mailer/tree/v4.4.37" }, "funding": [ { @@ -4783,20 +4783,20 @@ "type": "tidelift" } ], - "time": "2021-07-19T21:26:15+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/asset", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "1910a978dbe03503d9ee72408e2fef7c4041d97d" + "reference": "ca30ea16ff9c2917bc3d86796b940194f02985ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/1910a978dbe03503d9ee72408e2fef7c4041d97d", - "reference": "1910a978dbe03503d9ee72408e2fef7c4041d97d", + "url": "https://api.github.com/repos/symfony/asset/zipball/ca30ea16ff9c2917bc3d86796b940194f02985ae", + "reference": "ca30ea16ff9c2917bc3d86796b940194f02985ae", "shasum": "" }, "require": { @@ -4836,7 +4836,7 @@ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset/tree/v4.4.27" + "source": "https://github.com/symfony/asset/tree/v4.4.37" }, "funding": [ { @@ -4852,20 +4852,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:19:41+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/cache", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "1caa6c63f0ebf3022b88263a2b90260cff33f6dc" + "reference": "7613787f68c5eaad98f0bd21d694e6d639b07bf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/1caa6c63f0ebf3022b88263a2b90260cff33f6dc", - "reference": "1caa6c63f0ebf3022b88263a2b90260cff33f6dc", + "url": "https://api.github.com/repos/symfony/cache/zipball/7613787f68c5eaad98f0bd21d694e6d639b07bf0", + "reference": "7613787f68c5eaad98f0bd21d694e6d639b07bf0", "shasum": "" }, "require": { @@ -4931,7 +4931,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v4.4.36" + "source": "https://github.com/symfony/cache/tree/v4.4.37" }, "funding": [ { @@ -4947,7 +4947,7 @@ "type": "tidelift" } ], - "time": "2021-12-28T10:59:50+00:00" + "time": "2022-01-26T15:03:25+00:00" }, { "name": "symfony/cache-contracts", @@ -5030,16 +5030,16 @@ }, { "name": "symfony/config", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "03218ffbd5faeda5e6a97f9109acebf7973ff385" + "reference": "e8c2d2c951ddedecb6d28954d336cb7d2e852d0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/03218ffbd5faeda5e6a97f9109acebf7973ff385", - "reference": "03218ffbd5faeda5e6a97f9109acebf7973ff385", + "url": "https://api.github.com/repos/symfony/config/zipball/e8c2d2c951ddedecb6d28954d336cb7d2e852d0e", + "reference": "e8c2d2c951ddedecb6d28954d336cb7d2e852d0e", "shasum": "" }, "require": { @@ -5088,7 +5088,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/v4.4.36" + "source": "https://github.com/symfony/config/tree/v4.4.37" }, "funding": [ { @@ -5104,20 +5104,20 @@ "type": "tidelift" } ], - "time": "2021-12-12T15:06:47+00:00" + "time": "2022-01-03T09:46:22+00:00" }, { "name": "symfony/console", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "621379b62bb19af213b569b60013200b11dd576f" + "reference": "0259f01dbf9d77badddbbf4c2abb681f24c9cac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/621379b62bb19af213b569b60013200b11dd576f", - "reference": "621379b62bb19af213b569b60013200b11dd576f", + "url": "https://api.github.com/repos/symfony/console/zipball/0259f01dbf9d77badddbbf4c2abb681f24c9cac6", + "reference": "0259f01dbf9d77badddbbf4c2abb681f24c9cac6", "shasum": "" }, "require": { @@ -5178,7 +5178,7 @@ "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/console/tree/v4.4.36" + "source": "https://github.com/symfony/console/tree/v4.4.37" }, "funding": [ { @@ -5194,20 +5194,20 @@ "type": "tidelift" } ], - "time": "2021-12-15T10:33:10+00:00" + "time": "2022-01-26T16:15:26+00:00" }, { "name": "symfony/css-selector", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "5194f18bd80d106f11efa8f7cd0fbdcc3af96ce6" + "reference": "0628e6c6d7c92f1a7bae543959bdc17347be2436" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/5194f18bd80d106f11efa8f7cd0fbdcc3af96ce6", - "reference": "5194f18bd80d106f11efa8f7cd0fbdcc3af96ce6", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/0628e6c6d7c92f1a7bae543959bdc17347be2436", + "reference": "0628e6c6d7c92f1a7bae543959bdc17347be2436", "shasum": "" }, "require": { @@ -5244,7 +5244,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v4.4.27" + "source": "https://github.com/symfony/css-selector/tree/v4.4.37" }, "funding": [ { @@ -5260,20 +5260,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:19:41+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/debug", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "346e1507eeb3f566dcc7a116fefaa407ee84691b" + "reference": "5de6c6e7f52b364840e53851c126be4d71e60470" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/346e1507eeb3f566dcc7a116fefaa407ee84691b", - "reference": "346e1507eeb3f566dcc7a116fefaa407ee84691b", + "url": "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470", + "reference": "5de6c6e7f52b364840e53851c126be4d71e60470", "shasum": "" }, "require": { @@ -5312,7 +5312,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.36" + "source": "https://github.com/symfony/debug/tree/v4.4.37" }, "funding": [ { @@ -5328,20 +5328,20 @@ "type": "tidelift" } ], - "time": "2021-11-29T08:40:48+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "24e802b4973d3a60c01fd77bdaac8a66944202e1" + "reference": "c00a23904b42f140087d36e1d22c88801bb39689" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/24e802b4973d3a60c01fd77bdaac8a66944202e1", - "reference": "24e802b4973d3a60c01fd77bdaac8a66944202e1", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c00a23904b42f140087d36e1d22c88801bb39689", + "reference": "c00a23904b42f140087d36e1d22c88801bb39689", "shasum": "" }, "require": { @@ -5398,7 +5398,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/v4.4.36" + "source": "https://github.com/symfony/dependency-injection/tree/v4.4.37" }, "funding": [ { @@ -5414,7 +5414,7 @@ "type": "tidelift" } ], - "time": "2021-12-29T10:03:29+00:00" + "time": "2022-01-24T17:17:45+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5485,16 +5485,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "5fa7d1d10879f0028aec98a24a9a649377fe0a5b" + "reference": "899a603d7edde120d7c0b26cafcbfdb5d10a5bbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/5fa7d1d10879f0028aec98a24a9a649377fe0a5b", - "reference": "5fa7d1d10879f0028aec98a24a9a649377fe0a5b", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/899a603d7edde120d7c0b26cafcbfdb5d10a5bbd", + "reference": "899a603d7edde120d7c0b26cafcbfdb5d10a5bbd", "shasum": "" }, "require": { @@ -5575,7 +5575,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v4.4.36" + "source": "https://github.com/symfony/doctrine-bridge/tree/v4.4.37" }, "funding": [ { @@ -5591,20 +5591,20 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:17:20+00:00" + "time": "2022-01-13T14:51:07+00:00" }, { "name": "symfony/dotenv", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "15a389dd8d1764565543ca063db2857940d3f00d" + "reference": "fcedd6d382b3afc3e1e786aa4e4fc4cf06f564cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/15a389dd8d1764565543ca063db2857940d3f00d", - "reference": "15a389dd8d1764565543ca063db2857940d3f00d", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/fcedd6d382b3afc3e1e786aa4e4fc4cf06f564cf", + "reference": "fcedd6d382b3afc3e1e786aa4e4fc4cf06f564cf", "shasum": "" }, "require": { @@ -5644,7 +5644,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v4.4.36" + "source": "https://github.com/symfony/dotenv/tree/v4.4.37" }, "funding": [ { @@ -5660,20 +5660,20 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:17:20+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/error-handler", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "1fa841189eae3d59c7a29c3751fd9ed8ab65ca5c" + "reference": "8d80ad881e1ce17979547873d093e3c987a6a629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/1fa841189eae3d59c7a29c3751fd9ed8ab65ca5c", - "reference": "1fa841189eae3d59c7a29c3751fd9ed8ab65ca5c", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8d80ad881e1ce17979547873d093e3c987a6a629", + "reference": "8d80ad881e1ce17979547873d093e3c987a6a629", "shasum": "" }, "require": { @@ -5712,7 +5712,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/v4.4.36" + "source": "https://github.com/symfony/error-handler/tree/v4.4.37" }, "funding": [ { @@ -5728,20 +5728,20 @@ "type": "tidelift" } ], - "time": "2021-12-01T13:25:30+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8" + "reference": "3ccfcfb96ecce1217d7b0875a0736976bc6e63dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8", - "reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3ccfcfb96ecce1217d7b0875a0736976bc6e63dc", + "reference": "3ccfcfb96ecce1217d7b0875a0736976bc6e63dc", "shasum": "" }, "require": { @@ -5796,7 +5796,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/v4.4.34" + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.37" }, "funding": [ { @@ -5812,7 +5812,7 @@ "type": "tidelift" } ], - "time": "2021-11-15T14:42:25+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5895,16 +5895,16 @@ }, { "name": "symfony/expression-language", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "6331d834d364cce857e5a83368ce19141d5147bd" + "reference": "b25f28d2bca785d0715426bdd4af873288fe1d89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/6331d834d364cce857e5a83368ce19141d5147bd", - "reference": "6331d834d364cce857e5a83368ce19141d5147bd", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/b25f28d2bca785d0715426bdd4af873288fe1d89", + "reference": "b25f28d2bca785d0715426bdd4af873288fe1d89", "shasum": "" }, "require": { @@ -5938,7 +5938,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v4.4.34" + "source": "https://github.com/symfony/expression-language/tree/v4.4.37" }, "funding": [ { @@ -5954,20 +5954,20 @@ "type": "tidelift" } ], - "time": "2021-11-16T18:00:05+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/filesystem", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "517fb795794faf29086a77d99eb8f35e457837a7" + "reference": "c59f37705c3e513ae55b2735f128f4ce363c82ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/517fb795794faf29086a77d99eb8f35e457837a7", - "reference": "517fb795794faf29086a77d99eb8f35e457837a7", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/c59f37705c3e513ae55b2735f128f4ce363c82ec", + "reference": "c59f37705c3e513ae55b2735f128f4ce363c82ec", "shasum": "" }, "require": { @@ -6001,7 +6001,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v4.4.27" + "source": "https://github.com/symfony/filesystem/tree/v4.4.37" }, "funding": [ { @@ -6017,20 +6017,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:19:41+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/finder", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "1fef05633cd61b629e963e5d8200fb6b67ecf42c" + "reference": "b17d76d7ed179f017aad646e858c90a2771af15d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/1fef05633cd61b629e963e5d8200fb6b67ecf42c", - "reference": "1fef05633cd61b629e963e5d8200fb6b67ecf42c", + "url": "https://api.github.com/repos/symfony/finder/zipball/b17d76d7ed179f017aad646e858c90a2771af15d", + "reference": "b17d76d7ed179f017aad646e858c90a2771af15d", "shasum": "" }, "require": { @@ -6063,7 +6063,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v4.4.36" + "source": "https://github.com/symfony/finder/tree/v4.4.37" }, "funding": [ { @@ -6079,20 +6079,20 @@ "type": "tidelift" } ], - "time": "2021-12-15T10:33:10+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/flex", - "version": "v1.18.1", + "version": "v1.18.3", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "90ee9ddddaadee602dff23ae530310a59936bc8b" + "reference": "d40a6b176b70ea323af2b08507319d1c417520fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/90ee9ddddaadee602dff23ae530310a59936bc8b", - "reference": "90ee9ddddaadee602dff23ae530310a59936bc8b", + "url": "https://api.github.com/repos/symfony/flex/zipball/d40a6b176b70ea323af2b08507319d1c417520fd", + "reference": "d40a6b176b70ea323af2b08507319d1c417520fd", "shasum": "" }, "require": { @@ -6128,7 +6128,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v1.18.1" + "source": "https://github.com/symfony/flex/tree/v1.18.3" }, "funding": [ { @@ -6144,20 +6144,20 @@ "type": "tidelift" } ], - "time": "2022-01-19T17:52:31+00:00" + "time": "2022-01-27T10:24:58+00:00" }, { "name": "symfony/form", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "384c0be0f33d2b166b2188194aaf57b0f1c54f77" + "reference": "e2d3b99a247e71dc3e3ff82c39ae6d5883dcd967" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/384c0be0f33d2b166b2188194aaf57b0f1c54f77", - "reference": "384c0be0f33d2b166b2188194aaf57b0f1c54f77", + "url": "https://api.github.com/repos/symfony/form/zipball/e2d3b99a247e71dc3e3ff82c39ae6d5883dcd967", + "reference": "e2d3b99a247e71dc3e3ff82c39ae6d5883dcd967", "shasum": "" }, "require": { @@ -6226,7 +6226,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v4.4.36" + "source": "https://github.com/symfony/form/tree/v4.4.37" }, "funding": [ { @@ -6242,20 +6242,20 @@ "type": "tidelift" } ], - "time": "2021-12-13T12:41:27+00:00" + "time": "2022-01-26T16:21:46+00:00" }, { "name": "symfony/framework-bundle", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "c2d12e37719fc066739e579c09dd1772e7db6d5a" + "reference": "5ae3655a69ac8b6a7bf46ce2b1e04b7be2ec05c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/c2d12e37719fc066739e579c09dd1772e7db6d5a", - "reference": "c2d12e37719fc066739e579c09dd1772e7db6d5a", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5ae3655a69ac8b6a7bf46ce2b1e04b7be2ec05c7", + "reference": "5ae3655a69ac8b6a7bf46ce2b1e04b7be2ec05c7", "shasum": "" }, "require": { @@ -6372,7 +6372,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/v4.4.36" + "source": "https://github.com/symfony/framework-bundle/tree/v4.4.37" }, "funding": [ { @@ -6388,20 +6388,20 @@ "type": "tidelift" } ], - "time": "2021-12-11T11:50:57+00:00" + "time": "2022-01-12T11:20:14+00:00" }, { "name": "symfony/google-mailer", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/google-mailer.git", - "reference": "bfe85fa499b53c8a5bf1426ce8273ccedeeaf64d" + "reference": "04b82f048c9c84024f937ca3d4e11cb6269e9034" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/google-mailer/zipball/bfe85fa499b53c8a5bf1426ce8273ccedeeaf64d", - "reference": "bfe85fa499b53c8a5bf1426ce8273ccedeeaf64d", + "url": "https://api.github.com/repos/symfony/google-mailer/zipball/04b82f048c9c84024f937ca3d4e11cb6269e9034", + "reference": "04b82f048c9c84024f937ca3d4e11cb6269e9034", "shasum": "" }, "require": { @@ -6434,7 +6434,7 @@ "description": "Symfony Google Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/google-mailer/tree/v4.4.34" + "source": "https://github.com/symfony/google-mailer/tree/v4.4.37" }, "funding": [ { @@ -6450,20 +6450,20 @@ "type": "tidelift" } ], - "time": "2021-11-20T11:06:35+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/http-client", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "35e2cd1862b9ec2b46ebf050fbb13e285944b6a3" + "reference": "8129ccd6233338e1d495b7734c003053766cb262" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/35e2cd1862b9ec2b46ebf050fbb13e285944b6a3", - "reference": "35e2cd1862b9ec2b46ebf050fbb13e285944b6a3", + "url": "https://api.github.com/repos/symfony/http-client/zipball/8129ccd6233338e1d495b7734c003053766cb262", + "reference": "8129ccd6233338e1d495b7734c003053766cb262", "shasum": "" }, "require": { @@ -6515,7 +6515,7 @@ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v4.4.36" + "source": "https://github.com/symfony/http-client/tree/v4.4.37" }, "funding": [ { @@ -6531,7 +6531,7 @@ "type": "tidelift" } ], - "time": "2021-12-29T09:28:53+00:00" + "time": "2022-01-19T13:29:07+00:00" }, { "name": "symfony/http-client-contracts", @@ -6613,16 +6613,16 @@ }, { "name": "symfony/http-foundation", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "0948e99457615ddb05380adde3584484ffd951d4" + "reference": "27782a72399b92f44624f801adc5c28fb3f9d6c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0948e99457615ddb05380adde3584484ffd951d4", - "reference": "0948e99457615ddb05380adde3584484ffd951d4", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27782a72399b92f44624f801adc5c28fb3f9d6c7", + "reference": "27782a72399b92f44624f801adc5c28fb3f9d6c7", "shasum": "" }, "require": { @@ -6661,7 +6661,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.36" + "source": "https://github.com/symfony/http-foundation/tree/v4.4.37" }, "funding": [ { @@ -6677,20 +6677,20 @@ "type": "tidelift" } ], - "time": "2021-12-27T18:40:22+00:00" + "time": "2022-01-27T14:30:55+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "dfb65dcad12ef433d45ad1c97f632cd52c7faa68" + "reference": "ef830fb76eea90dc778fd68c8a7816fbc6109ed6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/dfb65dcad12ef433d45ad1c97f632cd52c7faa68", - "reference": "dfb65dcad12ef433d45ad1c97f632cd52c7faa68", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ef830fb76eea90dc778fd68c8a7816fbc6109ed6", + "reference": "ef830fb76eea90dc778fd68c8a7816fbc6109ed6", "shasum": "" }, "require": { @@ -6765,7 +6765,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/v4.4.36" + "source": "https://github.com/symfony/http-kernel/tree/v4.4.37" }, "funding": [ { @@ -6781,20 +6781,20 @@ "type": "tidelift" } ], - "time": "2021-12-29T12:48:41+00:00" + "time": "2022-01-28T10:47:23+00:00" }, { "name": "symfony/inflector", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", - "reference": "cbbde60aa3aa2e7ea51830fd590b6151615c57bc" + "reference": "e5e4c618a40e562d51757b54305bd113df59c29f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/inflector/zipball/cbbde60aa3aa2e7ea51830fd590b6151615c57bc", - "reference": "cbbde60aa3aa2e7ea51830fd590b6151615c57bc", + "url": "https://api.github.com/repos/symfony/inflector/zipball/e5e4c618a40e562d51757b54305bd113df59c29f", + "reference": "e5e4c618a40e562d51757b54305bd113df59c29f", "shasum": "" }, "require": { @@ -6836,7 +6836,7 @@ "words" ], "support": { - "source": "https://github.com/symfony/inflector/tree/v4.4.34" + "source": "https://github.com/symfony/inflector/tree/v4.4.37" }, "funding": [ { @@ -6853,20 +6853,20 @@ } ], "abandoned": "EnglishInflector from the String component", - "time": "2021-10-29T15:39:54+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/intl", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "5a7fa2fab0f25b24c5cd0b8fd09f9dcb0dac8e40" + "reference": "98e367e79b52962bca3c87b5469b3d08b295f3e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/5a7fa2fab0f25b24c5cd0b8fd09f9dcb0dac8e40", - "reference": "5a7fa2fab0f25b24c5cd0b8fd09f9dcb0dac8e40", + "url": "https://api.github.com/repos/symfony/intl/zipball/98e367e79b52962bca3c87b5469b3d08b295f3e1", + "reference": "98e367e79b52962bca3c87b5469b3d08b295f3e1", "shasum": "" }, "require": { @@ -6925,7 +6925,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v4.4.36" + "source": "https://github.com/symfony/intl/tree/v4.4.37" }, "funding": [ { @@ -6941,20 +6941,20 @@ "type": "tidelift" } ], - "time": "2021-11-25T16:40:00+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/mailchimp-mailer", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/mailchimp-mailer.git", - "reference": "8bacb8b75c71fc8b607a8c13d78cd7634cdb1260" + "reference": "022294c1f34f27e13c88c8f9ce4dd63dc3fe5aa4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailchimp-mailer/zipball/8bacb8b75c71fc8b607a8c13d78cd7634cdb1260", - "reference": "8bacb8b75c71fc8b607a8c13d78cd7634cdb1260", + "url": "https://api.github.com/repos/symfony/mailchimp-mailer/zipball/022294c1f34f27e13c88c8f9ce4dd63dc3fe5aa4", + "reference": "022294c1f34f27e13c88c8f9ce4dd63dc3fe5aa4", "shasum": "" }, "require": { @@ -6990,7 +6990,7 @@ "description": "Symfony Mailchimp Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailchimp-mailer/tree/v4.4.27" + "source": "https://github.com/symfony/mailchimp-mailer/tree/v4.4.37" }, "funding": [ { @@ -7006,20 +7006,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T08:56:39+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/mailer", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "7c58943257767a0a031758e6507b5e2bff8ed3c9" + "reference": "603703c41cc3765156b22143b7a585dd10e4cfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/7c58943257767a0a031758e6507b5e2bff8ed3c9", - "reference": "7c58943257767a0a031758e6507b5e2bff8ed3c9", + "url": "https://api.github.com/repos/symfony/mailer/zipball/603703c41cc3765156b22143b7a585dd10e4cfb6", + "reference": "603703c41cc3765156b22143b7a585dd10e4cfb6", "shasum": "" }, "require": { @@ -7071,7 +7071,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v4.4.36" + "source": "https://github.com/symfony/mailer/tree/v4.4.37" }, "funding": [ { @@ -7087,20 +7087,20 @@ "type": "tidelift" } ], - "time": "2021-12-11T14:02:40+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/mailgun-mailer", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "e2965e3eae0ec8e99ad0ce70934b369416214f5e" + "reference": "41e729c9336b9015da4b81ff35ccf3a4ebcc8253" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/e2965e3eae0ec8e99ad0ce70934b369416214f5e", - "reference": "e2965e3eae0ec8e99ad0ce70934b369416214f5e", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/41e729c9336b9015da4b81ff35ccf3a4ebcc8253", + "reference": "41e729c9336b9015da4b81ff35ccf3a4ebcc8253", "shasum": "" }, "require": { @@ -7136,7 +7136,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v4.4.27" + "source": "https://github.com/symfony/mailgun-mailer/tree/v4.4.37" }, "funding": [ { @@ -7152,20 +7152,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T08:56:39+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/mime", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "fee42d10c8920b2308f466269cbf924ddc4fce94" + "reference": "a4fb074827e59a80bc3c5df4657fa782bac7cdab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/fee42d10c8920b2308f466269cbf924ddc4fce94", - "reference": "fee42d10c8920b2308f466269cbf924ddc4fce94", + "url": "https://api.github.com/repos/symfony/mime/zipball/a4fb074827e59a80bc3c5df4657fa782bac7cdab", + "reference": "a4fb074827e59a80bc3c5df4657fa782bac7cdab", "shasum": "" }, "require": { @@ -7212,7 +7212,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v4.4.36" + "source": "https://github.com/symfony/mime/tree/v4.4.37" }, "funding": [ { @@ -7228,20 +7228,20 @@ "type": "tidelift" } ], - "time": "2021-12-25T19:39:39+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "9882c03d4c237d77ba5b2845639700653dcd9a84" + "reference": "152dcde5092b6fe034369f4a2dea05de38db9b79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/9882c03d4c237d77ba5b2845639700653dcd9a84", - "reference": "9882c03d4c237d77ba5b2845639700653dcd9a84", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/152dcde5092b6fe034369f4a2dea05de38db9b79", + "reference": "152dcde5092b6fe034369f4a2dea05de38db9b79", "shasum": "" }, "require": { @@ -7292,7 +7292,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v4.4.27" + "source": "https://github.com/symfony/monolog-bridge/tree/v4.4.37" }, "funding": [ { @@ -7308,7 +7308,7 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:41:52+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/monolog-bundle", @@ -7393,16 +7393,16 @@ }, { "name": "symfony/options-resolver", - "version": "v4.4.30", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "fa0b12a3a47ed25749d47d6b4f61412fd5ca1554" + "reference": "41d1e741a292574887629369400820c9645e8a87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/fa0b12a3a47ed25749d47d6b4f61412fd5ca1554", - "reference": "fa0b12a3a47ed25749d47d6b4f61412fd5ca1554", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/41d1e741a292574887629369400820c9645e8a87", + "reference": "41d1e741a292574887629369400820c9645e8a87", "shasum": "" }, "require": { @@ -7440,7 +7440,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v4.4.30" + "source": "https://github.com/symfony/options-resolver/tree/v4.4.37" }, "funding": [ { @@ -7456,7 +7456,7 @@ "type": "tidelift" } ], - "time": "2021-08-04T20:31:23+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/polyfill-ctype", @@ -7571,12 +7571,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7741,12 +7741,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7826,12 +7826,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -7907,12 +7907,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -7986,12 +7986,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -8069,12 +8069,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -8154,12 +8154,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Uuid\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8204,16 +8204,16 @@ }, { "name": "symfony/postmark-mailer", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/postmark-mailer.git", - "reference": "c97057b7427d94ce85c7dadc3d0cf9d3b9b3b9b9" + "reference": "8bada37e67d595b970aa086a202cc999d50a1c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/postmark-mailer/zipball/c97057b7427d94ce85c7dadc3d0cf9d3b9b3b9b9", - "reference": "c97057b7427d94ce85c7dadc3d0cf9d3b9b3b9b9", + "url": "https://api.github.com/repos/symfony/postmark-mailer/zipball/8bada37e67d595b970aa086a202cc999d50a1c3c", + "reference": "8bada37e67d595b970aa086a202cc999d50a1c3c", "shasum": "" }, "require": { @@ -8249,7 +8249,7 @@ "description": "Symfony Postmark Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/postmark-mailer/tree/v4.4.27" + "source": "https://github.com/symfony/postmark-mailer/tree/v4.4.37" }, "funding": [ { @@ -8265,20 +8265,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T08:56:39+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/property-access", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "21c6c7a887e5b514c3decaa42d406a1f9ed92641" + "reference": "28466f1248cdaa357c73cc835cda701bee258a1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/21c6c7a887e5b514c3decaa42d406a1f9ed92641", - "reference": "21c6c7a887e5b514c3decaa42d406a1f9ed92641", + "url": "https://api.github.com/repos/symfony/property-access/zipball/28466f1248cdaa357c73cc835cda701bee258a1d", + "reference": "28466f1248cdaa357c73cc835cda701bee258a1d", "shasum": "" }, "require": { @@ -8329,7 +8329,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v4.4.36" + "source": "https://github.com/symfony/property-access/tree/v4.4.37" }, "funding": [ { @@ -8345,20 +8345,20 @@ "type": "tidelift" } ], - "time": "2021-12-11T14:17:37+00:00" + "time": "2022-01-12T18:05:29+00:00" }, { "name": "symfony/property-info", - "version": "v4.4.31", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "b9955daf3605753c6054ef1dc3ddee993c7ccb5b" + "reference": "cd9a8c2e3d19d4d4b9475e9d448cb4fbaee0e495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/b9955daf3605753c6054ef1dc3ddee993c7ccb5b", - "reference": "b9955daf3605753c6054ef1dc3ddee993c7ccb5b", + "url": "https://api.github.com/repos/symfony/property-info/zipball/cd9a8c2e3d19d4d4b9475e9d448cb4fbaee0e495", + "reference": "cd9a8c2e3d19d4d4b9475e9d448cb4fbaee0e495", "shasum": "" }, "require": { @@ -8418,7 +8418,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v4.4.31" + "source": "https://github.com/symfony/property-info/tree/v4.4.37" }, "funding": [ { @@ -8434,20 +8434,20 @@ "type": "tidelift" } ], - "time": "2021-08-26T13:43:47+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/routing", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "fc9dda0c8496f8ef0a89805c2eabfc43b8cef366" + "reference": "324f7f73b89cd30012575119430ccfb1dfbc24be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/fc9dda0c8496f8ef0a89805c2eabfc43b8cef366", - "reference": "fc9dda0c8496f8ef0a89805c2eabfc43b8cef366", + "url": "https://api.github.com/repos/symfony/routing/zipball/324f7f73b89cd30012575119430ccfb1dfbc24be", + "reference": "324f7f73b89cd30012575119430ccfb1dfbc24be", "shasum": "" }, "require": { @@ -8507,7 +8507,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v4.4.34" + "source": "https://github.com/symfony/routing/tree/v4.4.37" }, "funding": [ { @@ -8523,20 +8523,20 @@ "type": "tidelift" } ], - "time": "2021-11-04T12:23:33+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/security-bundle", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "ea53c7fc357a330e7d865ed1bf2d3583f462e3f5" + "reference": "7000530d95d040dd0095b844191792644b4ccf3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/ea53c7fc357a330e7d865ed1bf2d3583f462e3f5", - "reference": "ea53c7fc357a330e7d865ed1bf2d3583f462e3f5", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/7000530d95d040dd0095b844191792644b4ccf3c", + "reference": "7000530d95d040dd0095b844191792644b4ccf3c", "shasum": "" }, "require": { @@ -8603,7 +8603,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/v4.4.36" + "source": "https://github.com/symfony/security-bundle/tree/v4.4.37" }, "funding": [ { @@ -8619,20 +8619,20 @@ "type": "tidelift" } ], - "time": "2021-11-25T16:40:00+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/security-core", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "642c0dd4f56b0618ac3ead44f4576fd908456661" + "reference": "77e11ed8d647608a45b7b93ed677761cceef2a7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/642c0dd4f56b0618ac3ead44f4576fd908456661", - "reference": "642c0dd4f56b0618ac3ead44f4576fd908456661", + "url": "https://api.github.com/repos/symfony/security-core/zipball/77e11ed8d647608a45b7b93ed677761cceef2a7d", + "reference": "77e11ed8d647608a45b7b93ed677761cceef2a7d", "shasum": "" }, "require": { @@ -8690,7 +8690,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v4.4.36" + "source": "https://github.com/symfony/security-core/tree/v4.4.37" }, "funding": [ { @@ -8706,20 +8706,20 @@ "type": "tidelift" } ], - "time": "2021-12-23T16:49:24+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/security-csrf", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "e5bba6497d2f1178e23615d5ca01933a29b65a45" + "reference": "45c956ef58135091f53732646a0acd28034f02c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/e5bba6497d2f1178e23615d5ca01933a29b65a45", - "reference": "e5bba6497d2f1178e23615d5ca01933a29b65a45", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/45c956ef58135091f53732646a0acd28034f02c0", + "reference": "45c956ef58135091f53732646a0acd28034f02c0", "shasum": "" }, "require": { @@ -8762,7 +8762,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v4.4.27" + "source": "https://github.com/symfony/security-csrf/tree/v4.4.37" }, "funding": [ { @@ -8778,20 +8778,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:19:41+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/security-guard", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/security-guard.git", - "reference": "68d4be4fe90f4eccbbf379d478f2067550a25469" + "reference": "cf8922b164e1659726c8852663eaaa593eef668c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/68d4be4fe90f4eccbbf379d478f2067550a25469", - "reference": "68d4be4fe90f4eccbbf379d478f2067550a25469", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/cf8922b164e1659726c8852663eaaa593eef668c", + "reference": "cf8922b164e1659726c8852663eaaa593eef668c", "shasum": "" }, "require": { @@ -8828,7 +8828,7 @@ "description": "Symfony Security Component - Guard", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-guard/tree/v4.4.27" + "source": "https://github.com/symfony/security-guard/tree/v4.4.37" }, "funding": [ { @@ -8844,20 +8844,20 @@ "type": "tidelift" } ], - "time": "2021-07-18T14:08:08+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/security-http", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "7807f29d6bee69a40ca8f37b5d7e2b286d5af3b0" + "reference": "d2edc6fc8974e81d83614092340e84d05ee15a58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/7807f29d6bee69a40ca8f37b5d7e2b286d5af3b0", - "reference": "7807f29d6bee69a40ca8f37b5d7e2b286d5af3b0", + "url": "https://api.github.com/repos/symfony/security-http/zipball/d2edc6fc8974e81d83614092340e84d05ee15a58", + "reference": "d2edc6fc8974e81d83614092340e84d05ee15a58", "shasum": "" }, "require": { @@ -8907,7 +8907,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v4.4.36" + "source": "https://github.com/symfony/security-http/tree/v4.4.37" }, "funding": [ { @@ -8923,20 +8923,20 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:17:20+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/sendgrid-mailer", - "version": "v4.4.30", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/sendgrid-mailer.git", - "reference": "62f4880de192277245073a1e321987bb8c2f9026" + "reference": "a209a4ec5894942c59c8b9dd024a809f690820df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/sendgrid-mailer/zipball/62f4880de192277245073a1e321987bb8c2f9026", - "reference": "62f4880de192277245073a1e321987bb8c2f9026", + "url": "https://api.github.com/repos/symfony/sendgrid-mailer/zipball/a209a4ec5894942c59c8b9dd024a809f690820df", + "reference": "a209a4ec5894942c59c8b9dd024a809f690820df", "shasum": "" }, "require": { @@ -8972,7 +8972,7 @@ "description": "Symfony Sendgrid Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/sendgrid-mailer/tree/v4.4.30" + "source": "https://github.com/symfony/sendgrid-mailer/tree/v4.4.37" }, "funding": [ { @@ -8988,20 +8988,20 @@ "type": "tidelift" } ], - "time": "2021-08-01T14:25:20+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/serializer", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "46809cc4694007c09b3134d6da76e508d8b72e46" + "reference": "91a221aa75f5e47aa3a49267587b189cc33fbe5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/46809cc4694007c09b3134d6da76e508d8b72e46", - "reference": "46809cc4694007c09b3134d6da76e508d8b72e46", + "url": "https://api.github.com/repos/symfony/serializer/zipball/91a221aa75f5e47aa3a49267587b189cc33fbe5c", + "reference": "91a221aa75f5e47aa3a49267587b189cc33fbe5c", "shasum": "" }, "require": { @@ -9066,7 +9066,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v4.4.36" + "source": "https://github.com/symfony/serializer/tree/v4.4.37" }, "funding": [ { @@ -9082,7 +9082,7 @@ "type": "tidelift" } ], - "time": "2021-11-28T13:57:19+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/service-contracts", @@ -9169,16 +9169,16 @@ }, { "name": "symfony/stopwatch", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "c85d997af06a58ba83e2d2538e335b894c24523d" + "reference": "ad652049cc8d62417a33373f5d69edde4cbb29d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c85d997af06a58ba83e2d2538e335b894c24523d", - "reference": "c85d997af06a58ba83e2d2538e335b894c24523d", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/ad652049cc8d62417a33373f5d69edde4cbb29d5", + "reference": "ad652049cc8d62417a33373f5d69edde4cbb29d5", "shasum": "" }, "require": { @@ -9211,7 +9211,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v4.4.27" + "source": "https://github.com/symfony/stopwatch/tree/v4.4.37" }, "funding": [ { @@ -9227,20 +9227,20 @@ "type": "tidelift" } ], - "time": "2021-07-10T08:41:57+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/string", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d" + "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", - "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", + "url": "https://api.github.com/repos/symfony/string/zipball/92043b7d8383e48104e411bc9434b260dbeb5a10", + "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10", "shasum": "" }, "require": { @@ -9297,7 +9297,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.2" + "source": "https://github.com/symfony/string/tree/v5.4.3" }, "funding": [ { @@ -9313,20 +9313,20 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:52:00+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/translation", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "26d330720627b234803595ecfc0191eeabc65190" + "reference": "4ce00d6875230b839f5feef82e51971f6c886e00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/26d330720627b234803595ecfc0191eeabc65190", - "reference": "26d330720627b234803595ecfc0191eeabc65190", + "url": "https://api.github.com/repos/symfony/translation/zipball/4ce00d6875230b839f5feef82e51971f6c886e00", + "reference": "4ce00d6875230b839f5feef82e51971f6c886e00", "shasum": "" }, "require": { @@ -9386,7 +9386,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.34" + "source": "https://github.com/symfony/translation/tree/v4.4.37" }, "funding": [ { @@ -9402,7 +9402,7 @@ "type": "tidelift" } ], - "time": "2021-11-04T12:23:33+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/translation-contracts", @@ -9484,16 +9484,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "9ca8db38f34058b4e94fb540a18dca1a9cd77111" + "reference": "ad832919f412e464bb099a1514c28d6d53223c76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9ca8db38f34058b4e94fb540a18dca1a9cd77111", - "reference": "9ca8db38f34058b4e94fb540a18dca1a9cd77111", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/ad832919f412e464bb099a1514c28d6d53223c76", + "reference": "ad832919f412e464bb099a1514c28d6d53223c76", "shasum": "" }, "require": { @@ -9581,7 +9581,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v4.4.36" + "source": "https://github.com/symfony/twig-bridge/tree/v4.4.37" }, "funding": [ { @@ -9597,20 +9597,20 @@ "type": "tidelift" } ], - "time": "2021-11-25T16:40:00+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/twig-bundle", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "3f6dd82ad6707dc647dd8d8e01c0931a4378c1ff" + "reference": "7c32051cbe51e8fe922551fd298ec635d2dc7b52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/3f6dd82ad6707dc647dd8d8e01c0931a4378c1ff", - "reference": "3f6dd82ad6707dc647dd8d8e01c0931a4378c1ff", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/7c32051cbe51e8fe922551fd298ec635d2dc7b52", + "reference": "7c32051cbe51e8fe922551fd298ec635d2dc7b52", "shasum": "" }, "require": { @@ -9669,7 +9669,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/v4.4.36" + "source": "https://github.com/symfony/twig-bundle/tree/v4.4.37" }, "funding": [ { @@ -9685,20 +9685,20 @@ "type": "tidelift" } ], - "time": "2021-11-25T16:40:00+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/uid", - "version": "v5.4.2", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "89b2e717aa45a57cc0dbe8bff57b9d15b919c67b" + "reference": "2b52d90f0a913a1f770e0b09be3e9baf298b4872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/89b2e717aa45a57cc0dbe8bff57b9d15b919c67b", - "reference": "89b2e717aa45a57cc0dbe8bff57b9d15b919c67b", + "url": "https://api.github.com/repos/symfony/uid/zipball/2b52d90f0a913a1f770e0b09be3e9baf298b4872", + "reference": "2b52d90f0a913a1f770e0b09be3e9baf298b4872", "shasum": "" }, "require": { @@ -9743,7 +9743,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v5.4.2" + "source": "https://github.com/symfony/uid/tree/v5.4.3" }, "funding": [ { @@ -9759,20 +9759,20 @@ "type": "tidelift" } ], - "time": "2021-12-16T21:52:00+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/validator", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "dba84cf8f0f26bdf76057235b3cdc881c476a282" + "reference": "e0af98b98085ed5307d0b85862763ef48b8d0220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/dba84cf8f0f26bdf76057235b3cdc881c476a282", - "reference": "dba84cf8f0f26bdf76057235b3cdc881c476a282", + "url": "https://api.github.com/repos/symfony/validator/zipball/e0af98b98085ed5307d0b85862763ef48b8d0220", + "reference": "e0af98b98085ed5307d0b85862763ef48b8d0220", "shasum": "" }, "require": { @@ -9849,7 +9849,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v4.4.36" + "source": "https://github.com/symfony/validator/tree/v4.4.37" }, "funding": [ { @@ -9865,20 +9865,20 @@ "type": "tidelift" } ], - "time": "2021-12-20T09:31:34+00:00" + "time": "2022-01-06T12:39:17+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "02685c62fcbc4262235cc72a54fbd45ab719ce3c" + "reference": "e74eee4ec02de71db3d60151aa5b203c990556df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/02685c62fcbc4262235cc72a54fbd45ab719ce3c", - "reference": "02685c62fcbc4262235cc72a54fbd45ab719ce3c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e74eee4ec02de71db3d60151aa5b203c990556df", + "reference": "e74eee4ec02de71db3d60151aa5b203c990556df", "shasum": "" }, "require": { @@ -9938,7 +9938,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v4.4.36" + "source": "https://github.com/symfony/var-dumper/tree/v4.4.37" }, "funding": [ { @@ -9954,20 +9954,20 @@ "type": "tidelift" } ], - "time": "2021-12-29T09:28:53+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/var-exporter", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "75a297f25a87ce9343d39241679578886f3fd458" + "reference": "70efd494974592a6581ad44e962238e3f76baea4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/75a297f25a87ce9343d39241679578886f3fd458", - "reference": "75a297f25a87ce9343d39241679578886f3fd458", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/70efd494974592a6581ad44e962238e3f76baea4", + "reference": "70efd494974592a6581ad44e962238e3f76baea4", "shasum": "" }, "require": { @@ -10011,7 +10011,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v4.4.34" + "source": "https://github.com/symfony/var-exporter/tree/v4.4.37" }, "funding": [ { @@ -10027,7 +10027,7 @@ "type": "tidelift" } ], - "time": "2021-11-22T10:04:59+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/webpack-encore-bundle", @@ -10102,16 +10102,16 @@ }, { "name": "symfony/yaml", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "a19f7c44ba665fa9d9d415cc4493361381b93f9b" + "reference": "d7f637cc0f0cc14beb0984f2bb50da560b271311" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/a19f7c44ba665fa9d9d415cc4493361381b93f9b", - "reference": "a19f7c44ba665fa9d9d415cc4493361381b93f9b", + "url": "https://api.github.com/repos/symfony/yaml/zipball/d7f637cc0f0cc14beb0984f2bb50da560b271311", + "reference": "d7f637cc0f0cc14beb0984f2bb50da560b271311", "shasum": "" }, "require": { @@ -10153,7 +10153,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v4.4.36" + "source": "https://github.com/symfony/yaml/tree/v4.4.37" }, "funding": [ { @@ -10169,7 +10169,7 @@ "type": "tidelift" } ], - "time": "2021-11-25T16:40:00+00:00" + "time": "2022-01-24T20:11:01+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -10296,16 +10296,16 @@ }, { "name": "twig/extra-bundle", - "version": "v3.3.7", + "version": "v3.3.8", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "e0cc9c35a0650006b0da232a3f749cc060c65d3b" + "reference": "2e58256b0e9fe52f30149347c0547e4633304765" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/e0cc9c35a0650006b0da232a3f749cc060c65d3b", - "reference": "e0cc9c35a0650006b0da232a3f749cc060c65d3b", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/2e58256b0e9fe52f30149347c0547e4633304765", + "reference": "2e58256b0e9fe52f30149347c0547e4633304765", "shasum": "" }, "require": { @@ -10359,7 +10359,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.3.7" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.3.8" }, "funding": [ { @@ -10371,7 +10371,7 @@ "type": "tidelift" } ], - "time": "2022-01-03T21:04:59+00:00" + "time": "2022-01-04T13:58:53+00:00" }, { "name": "twig/inky-extra", @@ -10587,16 +10587,16 @@ }, { "name": "twig/twig", - "version": "v3.3.7", + "version": "v3.3.8", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "8f168c6ffa3ce76d1786b3cd52275424a3fc675b" + "reference": "972d8604a92b7054828b539f2febb0211dd5945c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/8f168c6ffa3ce76d1786b3cd52275424a3fc675b", - "reference": "8f168c6ffa3ce76d1786b3cd52275424a3fc675b", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/972d8604a92b7054828b539f2febb0211dd5945c", + "reference": "972d8604a92b7054828b539f2febb0211dd5945c", "shasum": "" }, "require": { @@ -10647,7 +10647,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.3.7" + "source": "https://github.com/twigphp/Twig/tree/v3.3.8" }, "funding": [ { @@ -10659,7 +10659,7 @@ "type": "tidelift" } ], - "time": "2022-01-03T21:15:37+00:00" + "time": "2022-02-04T06:59:48+00:00" }, { "name": "webmozart/assert", @@ -10721,23 +10721,23 @@ }, { "name": "willdurand/jsonp-callback-validator", - "version": "v1.1.0", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/willdurand/JsonpCallbackValidator.git", - "reference": "1a7d388bb521959e612ef50c5c7b1691b097e909" + "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/1a7d388bb521959e612ef50c5c7b1691b097e909", - "reference": "1a7d388bb521959e612ef50c5c7b1691b097e909", + "url": "https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/738c36e91d4d7e0ff0cac145f77057e0fb88526e", + "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.1.0" }, "require-dev": { - "phpunit/phpunit": "~3.7" + "symfony/phpunit-bridge": "^5.0" }, "type": "library", "autoload": { @@ -10752,29 +10752,28 @@ "authors": [ { "name": "William Durand", - "email": "william.durand1@gmail.com", - "homepage": "http://www.willdurand.fr" + "email": "will+git@drnd.me" } ], "description": "JSONP callback validator.", "support": { "issues": "https://github.com/willdurand/JsonpCallbackValidator/issues", - "source": "https://github.com/willdurand/JsonpCallbackValidator/tree/master" + "source": "https://github.com/willdurand/JsonpCallbackValidator/tree/v2.0.0" }, - "time": "2014-01-20T22:35:06+00:00" + "time": "2022-01-30T20:33:09+00:00" }, { "name": "willdurand/negotiation", - "version": "3.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/willdurand/Negotiation.git", - "reference": "04e14f38d4edfcc974114a07d2777d90c98f3d9c" + "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/04e14f38d4edfcc974114a07d2777d90c98f3d9c", - "reference": "04e14f38d4edfcc974114a07d2777d90c98f3d9c", + "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/68e9ea0553ef6e2ee8db5c1d98829f111e623ec2", + "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2", "shasum": "" }, "require": { @@ -10815,9 +10814,9 @@ ], "support": { "issues": "https://github.com/willdurand/Negotiation/issues", - "source": "https://github.com/willdurand/Negotiation/tree/3.0.0" + "source": "https://github.com/willdurand/Negotiation/tree/3.1.0" }, - "time": "2020-09-25T08:01:41+00:00" + "time": "2022-01-30T20:08:53+00:00" }, { "name": "zircote/swagger-php", @@ -10847,12 +10846,12 @@ ], "type": "library", "autoload": { - "psr-4": { - "Swagger\\": "src" - }, "files": [ "src/functions.php" - ] + ], + "psr-4": { + "Swagger\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10959,23 +10958,23 @@ }, { "name": "composer/semver", - "version": "3.2.7", + "version": "3.2.9", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "deac27056b57e46faf136fae7b449eeaa71661ee" + "reference": "a951f614bd64dcd26137bc9b7b2637ddcfc57649" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/deac27056b57e46faf136fae7b449eeaa71661ee", - "reference": "deac27056b57e46faf136fae7b449eeaa71661ee", + "url": "https://api.github.com/repos/composer/semver/zipball/a951f614bd64dcd26137bc9b7b2637ddcfc57649", + "reference": "a951f614bd64dcd26137bc9b7b2637ddcfc57649", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.54", + "phpstan/phpstan": "^1.4", "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", @@ -11020,7 +11019,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.2.7" + "source": "https://github.com/composer/semver/tree/3.2.9" }, "funding": [ { @@ -11036,7 +11035,7 @@ "type": "tidelift" } ], - "time": "2022-01-04T09:57:54+00:00" + "time": "2022-02-04T13:58:43+00:00" }, { "name": "composer/xdebug-handler", @@ -11106,21 +11105,22 @@ }, { "name": "dama/doctrine-test-bundle", - "version": "v6.7.3", + "version": "v6.7.5", "source": { "type": "git", "url": "https://github.com/dmaicher/doctrine-test-bundle.git", - "reference": "1f964d416cf89698064dd0d69b5fe3170d05558d" + "reference": "af6f8e8c56fcfdf2ae039b97607883961a14af9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/1f964d416cf89698064dd0d69b5fe3170d05558d", - "reference": "1f964d416cf89698064dd0d69b5fe3170d05558d", + "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/af6f8e8c56fcfdf2ae039b97607883961a14af9c", + "reference": "af6f8e8c56fcfdf2ae039b97607883961a14af9c", "shasum": "" }, "require": { "doctrine/dbal": "^2.9.3 || ^3.0", "doctrine/doctrine-bundle": "^1.11 || ^2.0", + "ext-json": "*", "php": "^7.1 || ^8.0", "psr/cache": "^1.0 || ^2.0 || ^3.0", "symfony/cache": "^4.4 || ^5.3 || ^6.0", @@ -11166,9 +11166,9 @@ ], "support": { "issues": "https://github.com/dmaicher/doctrine-test-bundle/issues", - "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v6.7.3" + "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v6.7.5" }, - "time": "2022-01-18T15:55:40+00:00" + "time": "2022-02-08T16:00:51+00:00" }, { "name": "doctrine/data-fixtures", @@ -11337,16 +11337,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.17.0", + "version": "v1.19.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "b85e9d44eae8c52cca7aa0939483611f7232b669" + "reference": "d7f08a622b3346766325488aa32ddc93ccdecc75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/b85e9d44eae8c52cca7aa0939483611f7232b669", - "reference": "b85e9d44eae8c52cca7aa0939483611f7232b669", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/d7f08a622b3346766325488aa32ddc93ccdecc75", + "reference": "d7f08a622b3346766325488aa32ddc93ccdecc75", "shasum": "" }, "require": { @@ -11359,10 +11359,12 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", "ext-intl": "*", "symfony/phpunit-bridge": "^4.4 || ^5.2" }, "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", "ext-curl": "Required by Faker\\Provider\\Image to download images.", "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", @@ -11371,7 +11373,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "v1.17-dev" + "dev-main": "v1.19-dev" } }, "autoload": { @@ -11396,22 +11398,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.17.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.19.0" }, - "time": "2021-12-05T17:14:47+00:00" + "time": "2022-02-02T17:38:57+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.2.1", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "13ae36a76b6e329e44ca3cafaa784ea02db9ff14" + "reference": "47177af1cfb9dab5d1cc4daf91b7179c2efe7fad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/13ae36a76b6e329e44ca3cafaa784ea02db9ff14", - "reference": "13ae36a76b6e329e44ca3cafaa784ea02db9ff14", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/47177af1cfb9dab5d1cc4daf91b7179c2efe7fad", + "reference": "47177af1cfb9dab5d1cc4daf91b7179c2efe7fad", "shasum": "" }, "require": { @@ -11420,39 +11422,38 @@ "doctrine/annotations": "^1.12", "ext-json": "*", "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", + "php": "^7.2.5 || ^8.0", "php-cs-fixer/diff": "^2.0", - "symfony/console": "^4.4.20 || ^5.1.3", - "symfony/event-dispatcher": "^4.4.20 || ^5.0", - "symfony/filesystem": "^4.4.20 || ^5.0", - "symfony/finder": "^4.4.20 || ^5.0", - "symfony/options-resolver": "^4.4.20 || ^5.0", - "symfony/polyfill-php72": "^1.23", + "symfony/console": "^4.4.20 || ^5.1.3 || ^6.0", + "symfony/event-dispatcher": "^4.4.20 || ^5.0 || ^6.0", + "symfony/filesystem": "^4.4.20 || ^5.0 || ^6.0", + "symfony/finder": "^4.4.20 || ^5.0 || ^6.0", + "symfony/options-resolver": "^4.4.20 || ^5.0 || ^6.0", + "symfony/polyfill-mbstring": "^1.23", "symfony/polyfill-php80": "^1.23", "symfony/polyfill-php81": "^1.23", - "symfony/process": "^4.4.20 || ^5.0", - "symfony/stopwatch": "^4.4.20 || ^5.0" + "symfony/process": "^4.4.20 || ^5.0 || ^6.0", + "symfony/stopwatch": "^4.4.20 || ^5.0 || ^6.0" }, "require-dev": { "justinrainbow/json-schema": "^5.2", "keradus/cli-executor": "^1.5", "mikey179/vfsstream": "^1.6.8", - "php-coveralls/php-coveralls": "^2.4.3", + "php-coveralls/php-coveralls": "^2.5.2", "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.10.3", + "phpspec/prophecy": "^1.15", "phpspec/prophecy-phpunit": "^1.1 || ^2.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5", + "phpunit/phpunit": "^8.5.21 || ^9.5", "phpunitgoodpractices/polyfill": "^1.5", "phpunitgoodpractices/traits": "^1.9.1", - "symfony/phpunit-bridge": "^5.2.4", - "symfony/yaml": "^4.4.20 || ^5.0" + "symfony/phpunit-bridge": "^5.2.4 || ^6.0", + "symfony/yaml": "^4.4.20 || ^5.0 || ^6.0" }, "suggest": { "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters.", - "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + "ext-mbstring": "For handling non-UTF8 characters." }, "bin": [ "php-cs-fixer" @@ -11480,7 +11481,7 @@ "description": "A tool to automatically fix PHP code style", "support": { "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", - "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.2.1" + "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.4.0" }, "funding": [ { @@ -11488,7 +11489,7 @@ "type": "github" } ], - "time": "2021-10-05T08:12:17+00:00" + "time": "2021-12-11T16:25:08+00:00" }, { "name": "nikic/php-parser", @@ -11608,16 +11609,16 @@ }, { "name": "phar-io/version", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "bae7c545bef187884426f042434e561ab1ddb182" + "reference": "15a90844ad40f127afd244c0cad228de2a80052a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", - "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "url": "https://api.github.com/repos/phar-io/version/zipball/15a90844ad40f127afd244c0cad228de2a80052a", + "reference": "15a90844ad40f127afd244c0cad228de2a80052a", "shasum": "" }, "require": { @@ -11653,9 +11654,9 @@ "description": "Library for handling version information and constraints", "support": { "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.1.0" + "source": "https://github.com/phar-io/version/tree/3.1.1" }, - "time": "2021-02-23T14:00:09+00:00" + "time": "2022-02-07T21:56:48+00:00" }, { "name": "php-cs-fixer/diff", @@ -11778,16 +11779,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.4.2", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "1dd8f3e40bf7aa30031a75c65cece99220a161b8" + "reference": "8a7761f1c520e0dad6e04d862fdc697445457cfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1dd8f3e40bf7aa30031a75c65cece99220a161b8", - "reference": "1dd8f3e40bf7aa30031a75c65cece99220a161b8", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8a7761f1c520e0dad6e04d862fdc697445457cfe", + "reference": "8a7761f1c520e0dad6e04d862fdc697445457cfe", "shasum": "" }, "require": { @@ -11818,7 +11819,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.4.2" + "source": "https://github.com/phpstan/phpstan/tree/1.4.6" }, "funding": [ { @@ -11838,20 +11839,20 @@ "type": "tidelift" } ], - "time": "2022-01-18T16:09:11+00:00" + "time": "2022-02-06T12:56:13+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.2.3", + "version": "1.2.10", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "16cb23af853014620473a0c72d188cf76b9a9401" + "reference": "5a5454cf8d7916b39c6423beed592fb141743937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/16cb23af853014620473a0c72d188cf76b9a9401", - "reference": "16cb23af853014620473a0c72d188cf76b9a9401", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/5a5454cf8d7916b39c6423beed592fb141743937", + "reference": "5a5454cf8d7916b39c6423beed592fb141743937", "shasum": "" }, "require": { @@ -11907,9 +11908,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.2.3" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.2.10" }, - "time": "2022-01-23T12:35:08+00:00" + "time": "2022-02-09T11:57:45+00:00" }, { "name": "phpstan/phpstan-phpunit", @@ -11968,16 +11969,16 @@ }, { "name": "phpstan/phpstan-symfony", - "version": "1.1.2", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "96ee630098c49c1c25326ae51b027e469bfd2064" + "reference": "4e20d2e6b65a6eb2d0b8ff285c6c8c049faff03d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/96ee630098c49c1c25326ae51b027e469bfd2064", - "reference": "96ee630098c49c1c25326ae51b027e469bfd2064", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/4e20d2e6b65a6eb2d0b8ff285c6c8c049faff03d", + "reference": "4e20d2e6b65a6eb2d0b8ff285c6c8c049faff03d", "shasum": "" }, "require": { @@ -12034,46 +12035,50 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.1.2" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.1.5" }, - "time": "2022-01-18T16:08:22+00:00" + "time": "2022-02-05T13:48:27+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.15", + "version": "9.2.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "819f92bba8b001d4363065928088de22f25a3a48" + "reference": "d5850aaf931743067f4bfc1ae4cbd06468400687" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48", - "reference": "819f92bba8b001d4363065928088de22f25a3a48", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d5850aaf931743067f4bfc1ae4cbd06468400687", + "reference": "d5850aaf931743067f4bfc1ae4cbd06468400687", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": ">=7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.3 || ^4.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.13.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^8.2.2" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.7.2" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -12101,7 +12106,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.10" }, "funding": [ { @@ -12109,32 +12114,32 @@ "type": "github" } ], - "time": "2021-07-26T12:20:09+00:00" + "time": "2021-12-05T09:12:13+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.5", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5" + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", - "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -12161,7 +12166,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.5" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" }, "funding": [ { @@ -12169,26 +12174,97 @@ "type": "github" } ], - "time": "2021-12-02T12:42:26+00:00" + "time": "2021-12-02T12:48:52+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -12212,34 +12288,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" }, - "time": "2015-06-21T13:50:34+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", - "version": "2.1.3", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -12265,7 +12347,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" }, "funding": [ { @@ -12273,80 +12355,20 @@ "type": "github" } ], - "time": "2020-11-30T08:20:02+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "abandoned": true, - "time": "2020-08-04T08:28:15+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.23", + "version": "9.5.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "efb20ff3623b9d09bf190a68fdfe574538a8d496" + "reference": "597cb647654ede35e43b137926dfdfef0fb11743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/efb20ff3623b9d09bf190a68fdfe574538a8d496", - "reference": "efb20ff3623b9d09bf190a68fdfe574538a8d496", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/597cb647654ede35e43b137926dfdfef0fb11743", + "reference": "597cb647654ede35e43b137926dfdfef0fb11743", "shasum": "" }, "require": { @@ -12357,32 +12379,35 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.0", + "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=7.2", - "phpspec/prophecy": "^1.10.3", - "phpunit/php-code-coverage": "^7.0.12", - "phpunit/php-file-iterator": "^2.0.4", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.3", - "sebastian/exporter": "^3.1.2", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.7", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3.4", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -12390,10 +12415,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], "classmap": [ "src/" ] @@ -12418,7 +12446,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.23" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.13" }, "funding": [ { @@ -12430,32 +12458,144 @@ "type": "github" } ], - "time": "2022-01-21T05:50:34+00:00" + "time": "2022-01-24T07:33:35+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "name": "sebastian/cli-parser", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" } }, "autoload": { @@ -12477,7 +12617,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, "funding": [ { @@ -12485,34 +12625,34 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.3", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": ">=7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -12551,7 +12691,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" }, "funding": [ { @@ -12559,33 +12699,90 @@ "type": "github" } ], - "time": "2020-11-30T08:04:30+00:00" + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.3", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { - "php": ">=7.1" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" } }, "autoload": { @@ -12617,7 +12814,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" }, "funding": [ { @@ -12625,27 +12822,27 @@ "type": "github" } ], - "time": "2020-11-30T07:59:04+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", - "version": "4.2.4", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -12653,7 +12850,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -12680,7 +12877,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" }, "funding": [ { @@ -12688,34 +12885,34 @@ "type": "github" } ], - "time": "2020-11-30T07:53:42+00:00" + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.4", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db", - "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -12750,14 +12947,14 @@ } ], "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.4" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" }, "funding": [ { @@ -12765,30 +12962,30 @@ "type": "github" } ], - "time": "2021-11-11T13:51:24+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.1", + "version": "5.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b" + "reference": "19c519631c5a511b7ed0ad64a6713fdb3fd25fe4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/474fb9edb7ab891665d3bfc6317f42a0a150454b", - "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/19c519631c5a511b7ed0ad64a6713fdb3fd25fe4", + "reference": "19c519631c5a511b7ed0ad64a6713fdb3fd25fe4", "shasum": "" }, "require": { - "php": ">=7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -12796,7 +12993,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -12821,7 +13018,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.4" }, "funding": [ { @@ -12829,34 +13026,91 @@ "type": "github" } ], - "time": "2020-11-30T07:43:24+00:00" + "time": "2022-02-10T07:01:19+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "3.0.4", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "nikic/php-parser": "^4.6", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" } }, "autoload": { @@ -12878,7 +13132,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, "funding": [ { @@ -12886,32 +13140,32 @@ "type": "github" } ], - "time": "2020-11-30T07:40:27+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.2", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -12933,7 +13187,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, "funding": [ { @@ -12941,32 +13195,32 @@ "type": "github" } ], - "time": "2020-11-30T07:37:18+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.1", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -12996,7 +13250,7 @@ "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" }, "funding": [ { @@ -13004,29 +13258,32 @@ "type": "github" } ], - "time": "2020-11-30T07:34:24+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.2", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -13048,7 +13305,7 @@ "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, "funding": [ { @@ -13056,32 +13313,32 @@ "type": "github" } ], - "time": "2020-11-30T07:30:19+00:00" + "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "1.1.4", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4" + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.3-dev" } }, "autoload": { @@ -13104,7 +13361,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/1.1.4" + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" }, "funding": [ { @@ -13112,29 +13369,29 @@ "type": "github" } ], - "time": "2020-11-30T07:25:11+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -13157,22 +13414,28 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/master" + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" }, - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "symfony/browser-kit", - "version": "v4.4.27", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "9629d1524d8ced5a4ec3e94abdbd638b4ec8319b" + "reference": "6e81008cac62369871cb6b8de64576ed138e3998" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9629d1524d8ced5a4ec3e94abdbd638b4ec8319b", - "reference": "9629d1524d8ced5a4ec3e94abdbd638b4ec8319b", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/6e81008cac62369871cb6b8de64576ed138e3998", + "reference": "6e81008cac62369871cb6b8de64576ed138e3998", "shasum": "" }, "require": { @@ -13215,7 +13478,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/v4.4.27" + "source": "https://github.com/symfony/browser-kit/tree/v4.4.37" }, "funding": [ { @@ -13231,20 +13494,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:19:41+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/debug-bundle", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", - "reference": "94d96888b6b572cbdb10b4fde9dc0d15c259b88f" + "reference": "f21cce588be146c9111cb9041f0784a6534fd648" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/94d96888b6b572cbdb10b4fde9dc0d15c259b88f", - "reference": "94d96888b6b572cbdb10b4fde9dc0d15c259b88f", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/f21cce588be146c9111cb9041f0784a6534fd648", + "reference": "f21cce588be146c9111cb9041f0784a6534fd648", "shasum": "" }, "require": { @@ -13294,7 +13557,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/v4.4.36" + "source": "https://github.com/symfony/debug-bundle/tree/v4.4.37" }, "funding": [ { @@ -13310,7 +13573,7 @@ "type": "tidelift" } ], - "time": "2021-12-11T09:46:05+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/dom-crawler", @@ -13466,16 +13729,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v4.4.34", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "cb7b39854cb0950cc898c5b9bf6974e1c68564c2" + "reference": "c28ae0cc18c9aa753f836be4630b672657de64eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/cb7b39854cb0950cc898c5b9bf6974e1c68564c2", - "reference": "cb7b39854cb0950cc898c5b9bf6974e1c68564c2", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/c28ae0cc18c9aa753f836be4630b672657de64eb", + "reference": "c28ae0cc18c9aa753f836be4630b672657de64eb", "shasum": "" }, "require": { @@ -13528,7 +13791,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v4.4.34" + "source": "https://github.com/symfony/phpunit-bridge/tree/v4.4.37" }, "funding": [ { @@ -13544,20 +13807,20 @@ "type": "tidelift" } ], - "time": "2021-11-09T20:46:07+00:00" + "time": "2022-01-26T16:15:26+00:00" }, { "name": "symfony/process", - "version": "v4.4.36", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "a35d6b8f82e2272504f23a267de49b8717ca0028" + "reference": "b2d924e5a4cb284f293d5092b1dbf0d364cb8b67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a35d6b8f82e2272504f23a267de49b8717ca0028", - "reference": "a35d6b8f82e2272504f23a267de49b8717ca0028", + "url": "https://api.github.com/repos/symfony/process/zipball/b2d924e5a4cb284f293d5092b1dbf0d364cb8b67", + "reference": "b2d924e5a4cb284f293d5092b1dbf0d364cb8b67", "shasum": "" }, "require": { @@ -13590,7 +13853,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v4.4.36" + "source": "https://github.com/symfony/process/tree/v4.4.37" }, "funding": [ { @@ -13606,20 +13869,20 @@ "type": "tidelift" } ], - "time": "2021-12-19T16:27:15+00:00" + "time": "2022-01-27T17:14:04+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v4.4.31", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "24227617a4ddbdf78f8ab12ce2b76dfb54a7d851" + "reference": "10c7660d46f6f87c4eb34a8dce89e7f5de2c5931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/24227617a4ddbdf78f8ab12ce2b76dfb54a7d851", - "reference": "24227617a4ddbdf78f8ab12ce2b76dfb54a7d851", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/10c7660d46f6f87c4eb34a8dce89e7f5de2c5931", + "reference": "10c7660d46f6f87c4eb34a8dce89e7f5de2c5931", "shasum": "" }, "require": { @@ -13669,7 +13932,7 @@ "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v4.4.31" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v4.4.37" }, "funding": [ { @@ -13685,7 +13948,7 @@ "type": "tidelift" } ], - "time": "2021-09-16T11:24:03+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "theseer/tokenizer", @@ -13744,7 +14007,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.3", + "php": "7.3.*||7.4.*||8.0.*", "ext-gd": "*", "ext-intl": "*", "ext-json": "*", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index eb29f5b3..da94c729 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,29 +1,25 @@ - + + - - - + + + - - + - + - \ No newline at end of file + diff --git a/src/Command/AbstractUserCommand.php b/src/Command/AbstractUserCommand.php new file mode 100644 index 00000000..2102eb29 --- /dev/null +++ b/src/Command/AbstractUserCommand.php @@ -0,0 +1,40 @@ +getHelper('question'); + + $passwordQuestion = new Question('Please enter the password: '); + $passwordQuestion->setHidden(true); + $passwordQuestion->setHiddenFallback(false); + $passwordQuestion->setValidator(function (?string $value) { + $password = trim($value); + if (empty($password)) { + throw new \Exception('The password may not be empty'); + } + + return $value; + }); + $passwordQuestion->setMaxAttempts(3); + + return $helper->ask($input, $output, $passwordQuestion); + } +} diff --git a/src/Command/ChangePasswordCommand.php b/src/Command/ChangePasswordCommand.php index 3875feab..d4251466 100644 --- a/src/Command/ChangePasswordCommand.php +++ b/src/Command/ChangePasswordCommand.php @@ -12,12 +12,11 @@ namespace App\Command; use App\User\UserService; use App\Utils\CommandStyle; use App\Validator\ValidationFailedException; -use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -class ChangePasswordCommand extends Command +final class ChangePasswordCommand extends AbstractUserCommand { private $userService; @@ -35,7 +34,7 @@ class ChangePasswordCommand extends Command ->setDescription('Change the password of a user.') ->setDefinition([ new InputArgument('username', InputArgument::REQUIRED, 'The username'), - new InputArgument('password', InputArgument::REQUIRED, 'The password'), + new InputArgument('password', InputArgument::OPTIONAL, 'The password'), ]) ->setHelp( <<<'EOT' @@ -59,7 +58,12 @@ EOT protected function execute(InputInterface $input, OutputInterface $output) { $username = $input->getArgument('username'); - $password = $input->getArgument('password'); + + if (null !== $input->getArgument('password')) { + $password = $input->getArgument('password'); + } else { + $password = $this->askForPassword($input, $output); + } $user = $this->userService->findUserByUsernameOrThrowException($username); diff --git a/src/Command/CreateUserCommand.php b/src/Command/CreateUserCommand.php index 528e2a8e..cc47d498 100644 --- a/src/Command/CreateUserCommand.php +++ b/src/Command/CreateUserCommand.php @@ -13,14 +13,11 @@ use App\Entity\User; use App\User\UserService; use App\Utils\CommandStyle; use App\Validator\ValidationFailedException; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Helper\QuestionHelper; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Question\Question; -final class CreateUserCommand extends Command +final class CreateUserCommand extends AbstractUserCommand { private $userService; @@ -91,31 +88,4 @@ final class CreateUserCommand extends Command return 0; } - - /** - * @param InputInterface $input - * @param OutputInterface $output - * - * @return string - */ - protected function askForPassword(InputInterface $input, OutputInterface $output): string - { - /** @var QuestionHelper $helper */ - $helper = $this->getHelper('question'); - - $passwordQuestion = new Question('Please enter the password: '); - $passwordQuestion->setHidden(true); - $passwordQuestion->setHiddenFallback(false); - $passwordQuestion->setValidator(function (?string $value) { - $password = trim($value); - if (empty($password)) { - throw new \Exception('The password may not be empty'); - } - - return $value; - }); - $passwordQuestion->setMaxAttempts(3); - - return $helper->ask($input, $output, $passwordQuestion); - } } diff --git a/src/Configuration/ThemeConfiguration.php b/src/Configuration/ThemeConfiguration.php index cc64c2b2..3840e8fa 100644 --- a/src/Configuration/ThemeConfiguration.php +++ b/src/Configuration/ThemeConfiguration.php @@ -21,10 +21,7 @@ final class ThemeConfiguration implements \ArrayAccess $this->systemConfiguration = $systemConfiguration; } - /** - * @return bool - */ - public function offsetExists($offset) + public function offsetExists($offset): bool { return $this->systemConfiguration->has('theme.' . $offset); } @@ -42,7 +39,7 @@ final class ThemeConfiguration implements \ArrayAccess * @param mixed $value * @throws \BadMethodCallException */ - public function offsetSet($offset, $value) + public function offsetSet($offset, $value): void { throw new \BadMethodCallException('ThemeConfiguration does not support offsetSet()'); } @@ -51,7 +48,7 @@ final class ThemeConfiguration implements \ArrayAccess * @param mixed $offset * @throws \BadMethodCallException */ - public function offsetUnset($offset) + public function offsetUnset($offset): void { throw new \BadMethodCallException('ThemeConfiguration does not support offsetUnset()'); } diff --git a/src/EventSubscriber/Actions/CalendarSubscriber.php b/src/EventSubscriber/Actions/CalendarSubscriber.php index 880cbc71..2890283d 100644 --- a/src/EventSubscriber/Actions/CalendarSubscriber.php +++ b/src/EventSubscriber/Actions/CalendarSubscriber.php @@ -24,6 +24,10 @@ class CalendarSubscriber extends AbstractActionsSubscriber $event->addCreate($this->path('timesheet_create')); } + if ($this->isGranted('system_configuration')) { + $event->addAction('settings', ['url' => $this->path('system_configuration_section', ['section' => 'calendar']), 'class' => 'modal-ajax-form']); + } + $event->addHelp($this->documentationLink('calendar.html')); } } diff --git a/src/EventSubscriber/Actions/QuickEntrySubscriber.php b/src/EventSubscriber/Actions/QuickEntrySubscriber.php index 83cd1740..7cf3632a 100644 --- a/src/EventSubscriber/Actions/QuickEntrySubscriber.php +++ b/src/EventSubscriber/Actions/QuickEntrySubscriber.php @@ -20,6 +20,10 @@ class QuickEntrySubscriber extends AbstractActionsSubscriber public function onActions(PageActionsEvent $event): void { + if ($this->isGranted('system_configuration')) { + $event->addAction('settings', ['url' => $this->path('system_configuration_section', ['section' => 'quick_entry']), 'class' => 'modal-ajax-form']); + } + $event->addHelp($this->documentationLink('weekly-times.html')); } } diff --git a/src/EventSubscriber/Actions/UsersSubscriber.php b/src/EventSubscriber/Actions/UsersSubscriber.php index 0f14bb11..84a85df7 100644 --- a/src/EventSubscriber/Actions/UsersSubscriber.php +++ b/src/EventSubscriber/Actions/UsersSubscriber.php @@ -38,6 +38,10 @@ class UsersSubscriber extends AbstractActionsSubscriber $event->addCreate($this->path('admin_user_create'), false); } + if ($this->isGranted('system_configuration')) { + $event->addAction('settings', ['url' => $this->path('system_configuration_section', ['section' => 'user']), 'class' => 'modal-ajax-form']); + } + $event->addHelp($this->documentationLink('users.html')); } } diff --git a/src/Export/Base/AbstractSpreadsheetRenderer.php b/src/Export/Base/AbstractSpreadsheetRenderer.php index d0726ee6..5f7f5c4a 100644 --- a/src/Export/Base/AbstractSpreadsheetRenderer.php +++ b/src/Export/Base/AbstractSpreadsheetRenderer.php @@ -45,8 +45,10 @@ abstract class AbstractSpreadsheetRenderer public const TIME_FORMAT = 'hh:mm'; public const DURATION_FORMAT = '[hh]:mm'; public const DURATION_DECIMAL = '#0.00'; + // https://support.microsoft.com/de-de/office/zahlenformatcodes-5026bbd6-04bc-48cd-bf33-80f18b4eae68 + // Part 1 = positive; Part 2 = negative; Part 3 = zero; Part 4 = Text public const RATE_FORMAT_DEFAULT = '#.##0,00 [$%1$s];-#.##0,00 [$%1$s]'; - public const RATE_FORMAT_LEFT = '_("%1$s"* #,##0.00_);_("%1$s"* \(#,##0.00\);_("%1$s"* "-"??_);_(@_)'; + public const RATE_FORMAT_LEFT = '_("%1$s"* #,##0.00_);_("%1$s"* -#,##0.00;_("%1$s"* "-"??_);_(@_)'; public const RATE_FORMAT = self::RATE_FORMAT_LEFT; protected $durationFormat = self::DURATION_FORMAT; diff --git a/src/Export/Base/PDFRenderer.php b/src/Export/Base/PDFRenderer.php index 7f3680f3..ea09a460 100644 --- a/src/Export/Base/PDFRenderer.php +++ b/src/Export/Base/PDFRenderer.php @@ -49,11 +49,11 @@ class PDFRenderer */ private $pdfOptions = []; - public function __construct(Environment $twig, HtmlToPdfConverter $converter, ProjectStatisticService $projectRepository) + public function __construct(Environment $twig, HtmlToPdfConverter $converter, ProjectStatisticService $projectStatisticService) { $this->twig = $twig; $this->converter = $converter; - $this->projectStatisticService = $projectRepository; + $this->projectStatisticService = $projectStatisticService; } protected function getTemplate(): string diff --git a/src/Form/TimesheetEditForm.php b/src/Form/TimesheetEditForm.php index 02a8cc17..14b7bce2 100644 --- a/src/Form/TimesheetEditForm.php +++ b/src/Form/TimesheetEditForm.php @@ -53,7 +53,6 @@ class TimesheetEditForm extends AbstractType $project = null; $customer = null; $currency = false; - $begin = null; $customerCount = $this->customers->countCustomer(true); $timezone = $options['timezone']; $isNew = true; diff --git a/src/Twig/Runtime/MarkdownExtension.php b/src/Twig/Runtime/MarkdownExtension.php index 3187796f..642615de 100644 --- a/src/Twig/Runtime/MarkdownExtension.php +++ b/src/Twig/Runtime/MarkdownExtension.php @@ -126,6 +126,6 @@ final class MarkdownExtension implements RuntimeExtensionInterface */ public function markdownToHtml(string $content): string { - return $this->markdown->toHtml($content); + return $this->markdown->withFullMarkdownSupport($content); } } diff --git a/src/Utils/Duration.php b/src/Utils/Duration.php index a0cbf646..6bf72050 100644 --- a/src/Utils/Duration.php +++ b/src/Utils/Duration.php @@ -33,14 +33,14 @@ class Duration * @param string $format * @return string|null */ - public function format($seconds, $format = self::FORMAT_NO_SECONDS) + public function format(?int $seconds, string $format = self::FORMAT_NO_SECONDS) { if (null === $seconds) { return null; } - $hour = floor($seconds / 3600); - $minute = floor(($seconds / 60) % 60); + $hour = (int) floor($seconds / 3600); + $minute = (int) floor((int) ($seconds / 60) % 60); $hour = $hour > 9 ? $hour : '0' . $hour; $minute = $minute > 9 ? $minute : '0' . $minute; @@ -60,7 +60,7 @@ class Duration * @param string $duration * @return int */ - public function parseDurationString($duration): int + public function parseDurationString(string $duration): int { if (false !== stripos($duration, ':')) { return $this->parseDuration($duration, self::FORMAT_COLON); diff --git a/src/Utils/MPdfConverter.php b/src/Utils/MPdfConverter.php index 6df4e719..1b98f5cc 100644 --- a/src/Utils/MPdfConverter.php +++ b/src/Utils/MPdfConverter.php @@ -83,7 +83,6 @@ class MPdfConverter implements HtmlToPdfConverter for ($i = 0; $i < \count($parts); $i++) { if (stripos($parts[$i], '') !== false) { $subParts = explode('', $parts[$i]); - $run = 0; foreach ($subParts as $subPart) { $mpdf->WriteHTML($subPart); } diff --git a/src/Utils/Markdown.php b/src/Utils/Markdown.php index 5f21a100..fceff16b 100644 --- a/src/Utils/Markdown.php +++ b/src/Utils/Markdown.php @@ -10,7 +10,7 @@ namespace App\Utils; /** - * A simple class to parse markdown syntax and return HTML. + * Parse markdown syntax and return HTML. */ final class Markdown { @@ -19,20 +19,14 @@ final class Markdown */ private $parser; - public function __construct() - { - $this->parser = new ParsedownExtension(); - $this->parser->setUrlsLinked(true); - $this->parser->setBreaksEnabled(true); - } - - /** - * @param string $text - * @param bool $safe - * @return string - */ public function toHtml(string $text, bool $safe = true): string { + if ($this->parser === null) { + $this->parser = new ParsedownExtension(); + $this->parser->setUrlsLinked(true); + $this->parser->setBreaksEnabled(true); + } + if ($safe !== true) { @trigger_error('Only safe mode is supported in Markdown since 1.16.3 to prevent XSS attacks. Parameter $safe will be removed with 2.0', E_USER_DEPRECATED); } @@ -42,4 +36,15 @@ final class Markdown return $this->parser->text($text); } + + public function withFullMarkdownSupport(string $text): string + { + $parser = new \Parsedown(); + $parser->setUrlsLinked(true); + $parser->setBreaksEnabled(true); + $parser->setSafeMode(true); + $parser->setMarkupEscaped(true); + + return $parser->text($text); + } } diff --git a/src/Utils/ParsedownExtension.php b/src/Utils/ParsedownExtension.php index 1589856e..c68f689c 100644 --- a/src/Utils/ParsedownExtension.php +++ b/src/Utils/ParsedownExtension.php @@ -24,7 +24,7 @@ class ParsedownExtension extends \Parsedown protected $BlockTypes = [ '*' => ['Rule', 'List'], '+' => ['List'], - '-' => ['SetextHeader', 'Table', 'Rule', 'List'], + '-' => ['Table', 'Rule', 'List'], '0' => ['List'], '1' => ['List'], '2' => ['List'], @@ -37,7 +37,6 @@ class ParsedownExtension extends \Parsedown '9' => ['List'], ':' => ['Table'], '<' => ['Comment', 'Markup'], - '=' => ['SetextHeader'], '>' => ['Quote'], '[' => ['Reference'], '_' => ['Rule'], @@ -124,7 +123,7 @@ class ParsedownExtension extends \Parsedown * @param string $text * @return string */ - private function getIDfromText($text) + private function getIDfromText($text): string { $text = strtolower($text); diff --git a/symfony.lock b/symfony.lock index 88b8f4fe..34509b73 100644 --- a/symfony.lock +++ b/symfony.lock @@ -291,15 +291,15 @@ "phpunit/php-file-iterator": { "version": "1.4.5" }, + "phpunit/php-invoker": { + "version": "3.1.1" + }, "phpunit/php-text-template": { "version": "1.2.1" }, "phpunit/php-timer": { "version": "1.0.9" }, - "phpunit/php-token-stream": { - "version": "2.0.2" - }, "phpunit/phpunit": { "version": "4.7", "recipe": { @@ -333,12 +333,21 @@ "robrichards/xmlseclibs": { "version": "3.0.4" }, + "sebastian/cli-parser": { + "version": "1.0.1" + }, + "sebastian/code-unit": { + "version": "1.0.8" + }, "sebastian/code-unit-reverse-lookup": { "version": "1.0.1" }, "sebastian/comparator": { "version": "2.1.1" }, + "sebastian/complexity": { + "version": "2.0.2" + }, "sebastian/diff": { "version": "2.0.1" }, @@ -351,6 +360,9 @@ "sebastian/global-state": { "version": "2.0.0" }, + "sebastian/lines-of-code": { + "version": "1.0.3" + }, "sebastian/object-enumerator": { "version": "3.0.3" }, diff --git a/templates/embeds/comments.html.twig b/templates/embeds/comments.html.twig index 8a1626f3..875a5cc5 100644 --- a/templates/embeds/comments.html.twig +++ b/templates/embeds/comments.html.twig @@ -35,7 +35,7 @@ {{ widgets.user_avatar(comment.createdBy, false, 'direct-chat-img img-sm') }}
- {{ comment.message|replace(replacer)|md2html }} + {{ comment.message|replace(replacer)|comment2html }}
{% endfor %} diff --git a/templates/export/pdf-layout.html.twig b/templates/export/pdf-layout.html.twig index 1aa1cb5d..fa525b0f 100644 --- a/templates/export/pdf-layout.html.twig +++ b/templates/export/pdf-layout.html.twig @@ -103,15 +103,18 @@ mpdf--> {% endblock %} +{% block body_start %}{% endblock %} {% block summary %} -

{% block title %}{{ 'export.document_title'|trans }}{% endblock %}

- {% if query is defined %} -

- {{ 'export.period'|trans }}: - {{ query.begin|date_short }} - {{ query.end|date_short }} -

- {% endif %} -

{{ 'export.summary'|trans }}

+ {% block summary_header %} +

{% block title %}{{ 'export.document_title'|trans }}{% endblock %}

+ {% if query is defined %} +

+ {{ 'export.period'|trans }}: + {{ query.begin|date_short }} - {{ query.end|date_short }} +

+ {% endif %} +

{{ 'export.summary'|trans }}

+ {% endblock %} @@ -254,7 +257,9 @@ mpdf--> {% endblock %} {% block items %} -

{{ 'export.full_list'|trans }}

+ {% block items_header %} +

{{ 'export.full_list'|trans }}

+ {% endblock %} {% set duration = 0 %} {% set rate = 0 %} @@ -338,5 +343,6 @@ mpdf-->
{% endblock %} +{% block body_end %}{% endblock %} diff --git a/templates/invoice/listing.html.twig b/templates/invoice/listing.html.twig index 1f256c18..bc201e07 100644 --- a/templates/invoice/listing.html.twig +++ b/templates/invoice/listing.html.twig @@ -6,9 +6,9 @@ {% import "invoice/macros.html.twig" as macros %} {% set columns = { - 'date': {'class': 'alwaysVisible'}, + 'date': {'class': 'alwaysVisible text-nowrap'}, 'user': {'class': 'hidden-xs hidden-sm text-nowrap hidden', 'orderBy': false}, - 'customer': {'class': 'hidden-xs hidden-sm text-nowrap', 'orderBy': false}, + 'customer': {'class': 'hidden-xs hidden-sm', 'orderBy': false}, 'comment': {'class': 'hidden-xs hidden-sm', 'title': 'label.description'|trans}, } %} {% for field in metaColumns %} diff --git a/tests/Command/ChangePasswordCommandTest.php b/tests/Command/ChangePasswordCommandTest.php index 54c0545c..d56affed 100644 --- a/tests/Command/ChangePasswordCommandTest.php +++ b/tests/Command/ChangePasswordCommandTest.php @@ -20,6 +20,7 @@ use Symfony\Component\Console\Tester\CommandTester; /** * @covers \App\Command\ChangePasswordCommand + * @covers \App\Command\AbstractUserCommand * @group integration */ class ChangePasswordCommandTest extends KernelTestCase @@ -59,6 +60,7 @@ class ChangePasswordCommandTest extends KernelTestCase $input = [ 'command' => $command->getName(), ]; + $interactive = false; if ($username !== null) { $input['username'] = $username; @@ -66,10 +68,19 @@ class ChangePasswordCommandTest extends KernelTestCase if ($password !== null) { $input['password'] = $password; + } else { + $interactive = true; } $commandTester = new CommandTester($command); - $commandTester->execute($input); + + $options = []; + if ($interactive) { + $options = ['interactive' => true]; + $commandTester->setInputs(['12345678']); + } + + $commandTester->execute($input, $options); return $commandTester; } @@ -100,11 +111,10 @@ class ChangePasswordCommandTest extends KernelTestCase $this->callCommand(null, '1234567890'); } - public function testWithMissingPassword() + public function testWithMissingPasswordAsksForPassword() { - $this->expectException(RuntimeException::class); - $this->expectExceptionMessage('Not enough arguments (missing: "password").'); - - $this->callCommand('1234567890', null); + $commandTester = $this->callCommand('john_user', null); + $output = $commandTester->getDisplay(); + $this->assertStringContainsString('[OK] Changed password for user "john_user".', $output); } } diff --git a/tests/Controller/Auth/SamlControllerTest.php b/tests/Controller/Auth/SamlControllerTest.php index 7231fcc7..4335d25c 100644 --- a/tests/Controller/Auth/SamlControllerTest.php +++ b/tests/Controller/Auth/SamlControllerTest.php @@ -16,7 +16,6 @@ use App\Tests\Configuration\TestConfigLoader; use App\Tests\Mocks\Saml\SamlAuthFactoryFactory; use OneLogin\Saml2\Auth; use PHPUnit\Framework\TestCase; -use PHPUnit\Util\Xml; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Session\SessionInterface; @@ -83,7 +82,7 @@ class SamlControllerTest extends TestCase public function testMetadataAction() { - $expected = << @@ -118,8 +117,13 @@ EOD; self::assertInstanceOf(Response::class, $result); self::assertEquals('xml', $result->headers->get('Content-Type')); - $expected = Xml::load($expected); - $actual = Xml::load($result->getContent()); + $expected = new \DOMDocument(); + $tmp = $expected->loadXML($expectedXmlString); + self::assertTrue($tmp); + + $actual = new \DOMDocument(); + $tmp = $actual->loadXML($result->getContent()); + self::assertTrue($tmp); // the "validUntil" attribute in the outer node changes per request self::assertEquals($expected->firstChild->firstChild, $actual->firstChild->firstChild); diff --git a/tests/Controller/CalendarControllerTest.php b/tests/Controller/CalendarControllerTest.php index 4ab4017f..41221f4e 100644 --- a/tests/Controller/CalendarControllerTest.php +++ b/tests/Controller/CalendarControllerTest.php @@ -10,6 +10,7 @@ namespace App\Tests\Controller; use App\Configuration\SystemConfiguration; +use App\Entity\User; use App\Tests\Configuration\TestConfigLoader; use App\Tests\DataFixtures\TimesheetFixtures; @@ -33,6 +34,11 @@ class CalendarControllerTest extends ControllerBaseTest $this->request($client, '/calendar/'); $this->assertTrue($client->getResponse()->isSuccessful()); + $this->assertPageActions($client, [ + 'create modal-ajax-form' => $this->createUrl('/timesheet/create'), + 'help' => 'https://www.kimai.org/documentation/calendar.html' + ]); + $crawler = $client->getCrawler(); $calendar = $crawler->filter('div#timesheet_calendar'); $this->assertEquals(1, $calendar->count()); @@ -40,6 +46,18 @@ class CalendarControllerTest extends ControllerBaseTest $this->assertEquals(1, $dragAndDropBoxes->count()); } + public function testCalendarActionAsSuperAdmin() + { + $client = $this->getClientForAuthenticatedUser(User::ROLE_SUPER_ADMIN); + $this->assertAccessIsGranted($client, '/calendar/'); + + $this->assertPageActions($client, [ + 'create modal-ajax-form' => $this->createUrl('/timesheet/create'), + 'settings modal-ajax-form' => $this->createUrl('/admin/system-config/edit/calendar'), + 'help' => 'https://www.kimai.org/documentation/calendar.html' + ]); + } + public function testCalendarActionWithGoogleSource() { $loader = new TestConfigLoader([]); diff --git a/tests/Controller/CustomerControllerTest.php b/tests/Controller/CustomerControllerTest.php index 92f5c9a5..2c6f41f2 100644 --- a/tests/Controller/CustomerControllerTest.php +++ b/tests/Controller/CustomerControllerTest.php @@ -9,6 +9,7 @@ namespace App\Tests\Controller; +use App\Configuration\SystemConfiguration; use App\Entity\Customer; use App\Entity\CustomerComment; use App\Entity\CustomerMeta; @@ -161,6 +162,13 @@ class CustomerControllerTest extends ControllerBaseTest $this->assertIsRedirect($client, $this->createUrl('/admin/customer/1/details')); $client->followRedirect(); $node = $client->getCrawler()->filter('div.box#comments_box .direct-chat-text'); + self::assertStringContainsString('A beautiful and short comment **with some** markdown formatting', $node->html()); + + $client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN); + $configService = static::$kernel->getContainer()->get(SystemConfiguration::class); + $configService->offsetSet('timesheet.markdown_content', true); + $this->assertAccessIsGranted($client, '/admin/customer/1/details'); + $node = $client->getCrawler()->filter('div.box#comments_box .direct-chat-text'); self::assertStringContainsString('

A beautiful and short comment with some markdown formatting

', $node->html()); } diff --git a/tests/Controller/ProjectControllerTest.php b/tests/Controller/ProjectControllerTest.php index c6f01b80..ed4a52c4 100644 --- a/tests/Controller/ProjectControllerTest.php +++ b/tests/Controller/ProjectControllerTest.php @@ -9,6 +9,7 @@ namespace App\Tests\Controller; +use App\Configuration\SystemConfiguration; use App\Entity\Activity; use App\Entity\ActivityMeta; use App\Entity\ActivityRate; @@ -260,6 +261,13 @@ class ProjectControllerTest extends ControllerBaseTest $this->assertIsRedirect($client, $this->createUrl('/admin/project/1/details')); $client->followRedirect(); $node = $client->getCrawler()->filter('div.box#comments_box .direct-chat-text'); + self::assertStringContainsString('A beautiful and long comment **with some** markdown formatting', $node->html()); + + $client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN); + $configService = static::$kernel->getContainer()->get(SystemConfiguration::class); + $configService->offsetSet('timesheet.markdown_content', true); + $this->assertAccessIsGranted($client, '/admin/project/1/details'); + $node = $client->getCrawler()->filter('div.box#comments_box .direct-chat-text'); self::assertStringContainsString('

A beautiful and long comment with some markdown formatting

', $node->html()); } diff --git a/tests/Controller/UserControllerTest.php b/tests/Controller/UserControllerTest.php index 8617f034..a6b4c070 100644 --- a/tests/Controller/UserControllerTest.php +++ b/tests/Controller/UserControllerTest.php @@ -39,6 +39,7 @@ class UserControllerTest extends ControllerBaseTest 'visibility' => '#', 'download toolbar-action' => $this->createUrl('/admin/user/export'), 'create' => $this->createUrl('/admin/user/create'), + 'settings modal-ajax-form' => $this->createUrl('/admin/system-config/edit/user'), 'help' => 'https://www.kimai.org/documentation/users.html' ]); } diff --git a/tests/DependencyInjection/AppExtensionTest.php b/tests/DependencyInjection/AppExtensionTest.php index 75898558..a47a28d5 100644 --- a/tests/DependencyInjection/AppExtensionTest.php +++ b/tests/DependencyInjection/AppExtensionTest.php @@ -10,7 +10,6 @@ namespace App\Tests\DependencyInjection; use App\DependencyInjection\AppExtension; -use PHPUnit\Framework\Error\Notice; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -301,7 +300,7 @@ class AppExtensionTest extends TestCase */ public function testDurationOnlyDeprecationIsTriggered() { - $this->expectException(Notice::class); + $this->expectNotice(); $this->expectExceptionMessage('Found ambiguous configuration: remove "kimai.timesheet.duration_only" and set "kimai.timesheet.mode" instead.'); $minConfig = $this->getMinConfig(); @@ -449,7 +448,7 @@ class AppExtensionTest extends TestCase public function testWithBundleConfigurationFailsOnDuplicatedKey() { - $this->expectException(Notice::class); + $this->expectNotice(); $this->expectExceptionMessage('Invalid bundle configuration "timesheet" found, skipping'); $bundleConfig = [ @@ -463,7 +462,7 @@ class AppExtensionTest extends TestCase public function testWithBundleConfigurationFailsOnNonArray() { - $this->expectException(Notice::class); + $this->expectNotice(); $this->expectExceptionMessage('Invalid bundle configuration found, skipping all bundle configuration'); $container = $this->getContainer(); diff --git a/tests/Export/Renderer/AbstractRendererTest.php b/tests/Export/Renderer/AbstractRendererTest.php index 0791cb85..60161324 100644 --- a/tests/Export/Renderer/AbstractRendererTest.php +++ b/tests/Export/Renderer/AbstractRendererTest.php @@ -163,7 +163,18 @@ abstract class AbstractRendererTest extends KernelTestCase ->setMetaField((new TimesheetMeta())->setName('foo2')->setValue('meta-bar2')->setIsVisible(true)) ; - $entries = [$timesheet, $timesheet2, $timesheet3, $timesheet4, $timesheet5]; + $timesheet6 = new Timesheet(); + $timesheet6 + ->setDuration(400) + ->setFixedRate(-100.92) + ->setUser((new User())->setUsername('nivek')) + ->setActivity($activity) + ->setProject($project) + ->setBegin(new \DateTime('2019-06-16 12:00:00')) + ->setEnd(new \DateTime('2019-06-16 12:06:40')) + ; + + $entries = [$timesheet, $timesheet2, $timesheet3, $timesheet4, $timesheet5, $timesheet6]; $query = new TimesheetQuery(); $query->setActivities([$activity]); diff --git a/tests/Export/Renderer/CsvRendererTest.php b/tests/Export/Renderer/CsvRendererTest.php index 4a902da3..6858bbae 100644 --- a/tests/Export/Renderer/CsvRendererTest.php +++ b/tests/Export/Renderer/CsvRendererTest.php @@ -34,7 +34,7 @@ class CsvRendererTest extends AbstractRendererTest public function getTestModel() { return [ - ['400', '2437.12', ' EUR 1,947.99 ', 6, 5, 1, 2, 2] + ['400', '2437.12', ' EUR 1,947.99 ', 7, 6, 1, 2, 2] ]; } @@ -107,8 +107,40 @@ class CsvRendererTest extends AbstractRendererTest 27 => 'ORDER-123', ]; - self::assertEquals(6, \count($all)); + $expected2 = [ + 0 => '2019-06-16', + 1 => '12:00', + 2 => '12:06', + 3 => '400', + 4 => '0', + 5 => '', + 6 => 'nivek', + 7 => 'nivek', + 8 => 'Customer Name', + 9 => 'project name', + 10 => 'activity description', + 11 => '', + 12 => '', + 13 => '', + 14 => '', + 15 => '', + 16 => ' EUR -100.92', + 17 => '', + 18 => '', + 19 => 'customer-bar', + 20 => '', + 21 => 'project-foo2', + 22 => 'activity-bar', + 23 => 'timesheet', + 24 => 'work', + 25 => 'A-0123456789', + 26 => 'DE-9876543210', + 27 => 'ORDER-123', + ]; + + self::assertEquals(7, \count($all)); self::assertEquals($expected, $all[5]); + self::assertEquals($expected2, $all[6]); self::assertEquals(\count($expected), \count($all[0])); self::assertEquals('foo', $all[4][14]); } diff --git a/tests/Export/Renderer/HtmlRendererTest.php b/tests/Export/Renderer/HtmlRendererTest.php index 45afc3dc..0dc4eeb3 100644 --- a/tests/Export/Renderer/HtmlRendererTest.php +++ b/tests/Export/Renderer/HtmlRendererTest.php @@ -82,11 +82,12 @@ class HtmlRendererTest extends AbstractRendererTest $this->assertStringContainsString('Customer Name', $content); $this->assertStringContainsString('project name', $content); - $this->assertStringContainsString('01:50 h', $content); + $this->assertStringContainsString('01:56 h', $content); $this->assertStringContainsString('€2,437.12', $content); + $this->assertStringContainsString('-€100.92', $content); // 5 times in the "full list" and once in the "summary with activities" - $this->assertEquals(6, substr_count($content, 'activity description')); + $this->assertEquals(7, substr_count($content, 'activity description')); $this->assertEquals(1, substr_count($content, 'activity description')); } } diff --git a/tests/Twig/Runtime/MarkdownExtensionTest.php b/tests/Twig/Runtime/MarkdownExtensionTest.php index 4418f3e9..4de0cca1 100644 --- a/tests/Twig/Runtime/MarkdownExtensionTest.php +++ b/tests/Twig/Runtime/MarkdownExtensionTest.php @@ -26,7 +26,7 @@ class MarkdownExtensionTest extends TestCase $config = new SystemConfiguration($loader, ['timesheet' => ['markdown_content' => true]]); $sut = new MarkdownExtension(new Markdown(), $config); $this->assertEquals('

test

', $sut->markdownToHtml('*test*')); - $this->assertEquals('

# foobar

', $sut->markdownToHtml('# foobar')); + $this->assertEquals('

foobar

', $sut->markdownToHtml('# foobar')); $this->assertEquals( '

XSS

', $sut->markdownToHtml('[XSS](javascript:alert(`XSS`))') @@ -44,6 +44,9 @@ class MarkdownExtensionTest extends TestCase ); $this->assertEquals('', $sut->timesheetContent(null)); $this->assertEquals('', $sut->timesheetContent('')); + $this->assertEquals('# foobar', $sut->timesheetContent('# foobar')); + $this->assertEquals('## foobar', $sut->timesheetContent('## foobar')); + $this->assertEquals('### foobar', $sut->timesheetContent('### foobar')); $config = new SystemConfiguration($loader, ['timesheet' => ['markdown_content' => true]]); $sut = new MarkdownExtension(new Markdown(), $config); @@ -75,6 +78,9 @@ class MarkdownExtensionTest extends TestCase $this->assertEquals('', $sut->commentContent(null)); $this->assertEquals('', $sut->commentContent('')); + $this->assertEquals('# foobar', $sut->commentContent('# foobar')); + $this->assertEquals('## foobar', $sut->commentContent('## foobar')); + $this->assertEquals('### foobar', $sut->commentContent('### foobar')); $this->assertEquals('

' . $loremIpsum . '

', $sut->commentContent($loremIpsum, true)); $this->assertEquals('Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut l …', $sut->commentContent($loremIpsum)); diff --git a/tests/phpstan-doctrine.php b/tests/phpstan-doctrine.php index 34c89351..cc915134 100644 --- a/tests/phpstan-doctrine.php +++ b/tests/phpstan-doctrine.php @@ -13,7 +13,11 @@ use Symfony\Component\Dotenv\Dotenv; require __DIR__ . '/../vendor/autoload.php'; (new Dotenv(false))->loadEnv(dirname(__DIR__) . '/.env'); -$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); + +$env = $_SERVER['APP_ENV'] ?? 'prod'; +$debug = (bool) ($_SERVER['APP_DEBUG'] ?? (in_array($env, ['dev', 'test']))); + +$kernel = new Kernel($env, $debug); $kernel->boot(); return $kernel->getContainer()->get('doctrine')->getManager(); diff --git a/translations/export.he.xlf b/translations/export.he.xlf index 4ca8ab12..ea80926a 100644 --- a/translations/export.he.xlf +++ b/translations/export.he.xlf @@ -2,7 +2,7 @@ - + Default ברירת מחדל