From 3c837346ef1efb8e316741e45129dd2cb61764ba Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Sat, 31 Jul 2021 12:04:39 +0200 Subject: [PATCH 01/14] chore: add test data --- tests/_build/data/potato.jpg | Bin 0 -> 25057 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 tests/_build/data/potato.jpg diff --git a/tests/_build/data/potato.jpg b/tests/_build/data/potato.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b9af6ce58aa84d82cdfa6eda9da14bf2a3fb2573 GIT binary patch literal 25057 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 N{KZ&1goDAV+~UCCQ01!v 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 WzmNa5qx*kb?J55UjRno+)c*n9wA>y5 literal 0 HcmV?d00001 From 20c2b8a8ee03d59d73c6b3b8d4a59429de07bb50 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Sat, 31 Jul 2021 12:16:41 +0200 Subject: [PATCH 02/14] chore: add upload route and action --- app/Http/Controllers/TestController.php | 12 ++++++++++++ routes/web.php | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/TestController.php b/app/Http/Controllers/TestController.php index 7854217..2310994 100644 --- a/app/Http/Controllers/TestController.php +++ b/app/Http/Controllers/TestController.php @@ -6,6 +6,7 @@ use App\Events\TestEvent; use Illuminate\Http\Request; +use Illuminate\Http\UploadedFile; final class TestController { @@ -23,4 +24,15 @@ public function testValue(): string { return 'Test value is: ' . config('test_value'); } + + public function uploadFiles(Request $request): array + { + $response = []; + /** @var UploadedFile $file */ + foreach ($request->allFiles() as $file) { + $response[$file->getFilename()] = [$file->getError(), $file->isValid()]; + } + + return $response; + } } diff --git a/routes/web.php b/routes/web.php index 0c5e451..5e9589e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,4 +22,6 @@ Route::get('/test-value', [TestController::class, 'testValue'])->name('test-value'); Route::get('/service-container', function () { return view('utils/service-container'); -}); \ No newline at end of file +}); + +Route::post('/upload-files', [TestController::class, 'uploadFiles']); \ No newline at end of file From 055ae6ee37572e0b7fe3ec8125533b00637b8951 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Sat, 31 Jul 2021 12:20:19 +0200 Subject: [PATCH 03/14] chore: add helper module for custom requests --- tests/Functional.suite.yml | 3 ++- .../_build/support/Helper/CustomRequests.php | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 tests/_build/support/Helper/CustomRequests.php diff --git a/tests/Functional.suite.yml b/tests/Functional.suite.yml index 1d8a979..238d2dc 100644 --- a/tests/Functional.suite.yml +++ b/tests/Functional.suite.yml @@ -3,4 +3,5 @@ modules: enabled: - Asserts - Laravel: - environment_file: .env.testing \ No newline at end of file + environment_file: .env.testing + - \Tests\Helper\CustomRequests \ No newline at end of file diff --git a/tests/_build/support/Helper/CustomRequests.php b/tests/_build/support/Helper/CustomRequests.php new file mode 100644 index 0000000..b94c3a7 --- /dev/null +++ b/tests/_build/support/Helper/CustomRequests.php @@ -0,0 +1,19 @@ +getModule('Laravel'); + $response = $laravelModule->_request('POST', '/upload-files', [], $files); + return json_decode($response, true); + } +} From 728f19a55dba7dcd4dbe535e94e954c281a31870 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Sat, 31 Jul 2021 12:20:50 +0200 Subject: [PATCH 04/14] test: uploaded files --- tests/Functional/IssuesCest.php | 95 +++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 tests/Functional/IssuesCest.php diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php new file mode 100644 index 0000000..142ff38 --- /dev/null +++ b/tests/Functional/IssuesCest.php @@ -0,0 +1,95 @@ + $fileName, + 'tmp_name' => $filePath, + 'size' => filesize($filePath), + 'type' => mime_content_type($filePath), + 'error' => $example['upload_status'] + ] + ]; + $response = $I->submitFiles($files); + codecept_debug($response); + $I->assertEquals($example['expected_response'], $response); + } + + /** + * @dataProvider fileProvider + * @see https://github.com/Codeception/Codeception/pull/3417 + */ + public function submitUploadedFileTestFiles(FunctionalTester $I, Example $example): void + { + $fileName = self::TEST_UPLOADED_FILE_NAME; + $filePath = codecept_data_dir($fileName); + $files = [ + new UploadedFile( + $filePath, + $fileName, + mime_content_type($filePath), + $example['upload_status'], + false + ) + ]; + $response = $I->submitFiles($files); + codecept_debug($response); + $I->assertEquals($example['expected_response'], $response); + } + + /** + * @return array + */ + protected function fileProvider(): array + { + return [ + [ + 'upload_status' => UPLOAD_ERR_OK, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_OK, true]] + ], + [ + 'upload_status' => UPLOAD_ERR_INI_SIZE, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_INI_SIZE, false]] + ], + [ + 'upload_status' => UPLOAD_ERR_FORM_SIZE, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_FORM_SIZE, false]] + ], + [ + 'upload_status' => UPLOAD_ERR_PARTIAL, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_PARTIAL, false]] + ], + [ + 'upload_status' => UPLOAD_ERR_NO_TMP_DIR, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_NO_TMP_DIR, false]] + ], + [ + 'upload_status' => UPLOAD_ERR_CANT_WRITE, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_CANT_WRITE, false]] + ], + [ + 'upload_status' => UPLOAD_ERR_EXTENSION, + 'expected_response' => [self::TEST_UPLOADED_FILE_NAME => [UPLOAD_ERR_EXTENSION, false]] + ], + ]; + } +} From 0c37974cc3c0ef49d7190a55afd7a21173cf3c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20K=C3=BCpper=20Cardoso?= Date: Sat, 31 Jul 2021 23:47:21 +0200 Subject: [PATCH 05/14] Update tests/Functional/IssuesCest.php Co-authored-by: Tavo Nieves J <64917965+TavoNiievez@users.noreply.github.com> --- tests/Functional/IssuesCest.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php index 142ff38..7c9081f 100644 --- a/tests/Functional/IssuesCest.php +++ b/tests/Functional/IssuesCest.php @@ -56,10 +56,7 @@ public function submitUploadedFileTestFiles(FunctionalTester $I, Example $exampl $I->assertEquals($example['expected_response'], $response); } - /** - * @return array - */ - protected function fileProvider(): array + private function fileProvider(): array { return [ [ From 7cc9b1ea0a17815dfb39bf88d9e6f976abd2e3d1 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Sat, 31 Jul 2021 23:56:27 +0200 Subject: [PATCH 06/14] chore: process feedback --- tests/Functional/IssuesCest.php | 8 +++----- tests/_build/data/potato.jpg | Bin 25057 -> 12960 bytes .../_build/support/Helper/CustomRequests.php | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) mode change 100755 => 100644 tests/_build/data/potato.jpg diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php index 7c9081f..3431f0c 100644 --- a/tests/Functional/IssuesCest.php +++ b/tests/Functional/IssuesCest.php @@ -16,7 +16,7 @@ final class IssuesCest * @dataProvider fileProvider * @see https://github.com/Codeception/Codeception/pull/3417 */ - public function submitArrayTestFiles(FunctionalTester $I, Example $example): void + public function submitArrayTestFiles(FunctionalTester $I, Example $example) { $fileName = self::TEST_UPLOADED_FILE_NAME; $filePath = codecept_data_dir($fileName); @@ -30,7 +30,6 @@ public function submitArrayTestFiles(FunctionalTester $I, Example $example): voi ] ]; $response = $I->submitFiles($files); - codecept_debug($response); $I->assertEquals($example['expected_response'], $response); } @@ -38,7 +37,7 @@ public function submitArrayTestFiles(FunctionalTester $I, Example $example): voi * @dataProvider fileProvider * @see https://github.com/Codeception/Codeception/pull/3417 */ - public function submitUploadedFileTestFiles(FunctionalTester $I, Example $example): void + public function submitUploadedFileTestFiles(FunctionalTester $I, Example $example) { $fileName = self::TEST_UPLOADED_FILE_NAME; $filePath = codecept_data_dir($fileName); @@ -52,8 +51,7 @@ public function submitUploadedFileTestFiles(FunctionalTester $I, Example $exampl ) ]; $response = $I->submitFiles($files); - codecept_debug($response); - $I->assertEquals($example['expected_response'], $response); + $I->assertSame($example['expected_response'], $response); } private function fileProvider(): array diff --git a/tests/_build/data/potato.jpg b/tests/_build/data/potato.jpg old mode 100755 new mode 100644 index b9af6ce58aa84d82cdfa6eda9da14bf2a3fb2573..64c4737d0e30cd8ba2a29fef514b993e42fb260d GIT binary patch literal 12960 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 N{KZ&1goDAV+~UCCQ01!v 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 WzmNa5qx*kb?J55UjRno+)c*n9wA>y5 diff --git a/tests/_build/support/Helper/CustomRequests.php b/tests/_build/support/Helper/CustomRequests.php index b94c3a7..2343736 100644 --- a/tests/_build/support/Helper/CustomRequests.php +++ b/tests/_build/support/Helper/CustomRequests.php @@ -7,7 +7,7 @@ use Codeception\Module; use Codeception\Module\Laravel; -class CustomRequests extends Module +final class CustomRequests extends Module { public function submitFiles(array $files): array { From b603cc28562f2c4fa7bd2ab5d04b0153857a3e7d Mon Sep 17 00:00:00 2001 From: Tavo Nieves J <64917965+TavoNiievez@users.noreply.github.com> Date: Sat, 31 Jul 2021 22:05:36 -0500 Subject: [PATCH 07/14] assertSame instead of assertEquals --- tests/Functional/IssuesCest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php index 3431f0c..1aacfd8 100644 --- a/tests/Functional/IssuesCest.php +++ b/tests/Functional/IssuesCest.php @@ -30,7 +30,7 @@ public function submitArrayTestFiles(FunctionalTester $I, Example $example) ] ]; $response = $I->submitFiles($files); - $I->assertEquals($example['expected_response'], $response); + $I->assertSame($example['expected_response'], $response); } /** From fc332ebd635c345d7d61824e8caaab01e7294758 Mon Sep 17 00:00:00 2001 From: Tavo Nieves J Date: Sat, 31 Jul 2021 22:22:32 -0500 Subject: [PATCH 08/14] explicitly require fileinfo and json extension --- .github/workflows/laravel.yml | 2 +- composer.json | 2 + composer.lock | 1258 ++++++++++++++++++--------------- 3 files changed, 703 insertions(+), 559 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index bab79ed..22502b5 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -28,7 +28,7 @@ jobs: with: php-version: ${{ matrix.php-versions }} tools: composer:v2 - extensions: ctype, iconv, intl, json, mbstring, pdo, pdo_sqlite + extensions: ctype, iconv, intl, json, mbstring, pdo, pdo_sqlite, fileinfo env: update: true diff --git a/composer.json b/composer.json index 8e24dac..2fc1652 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,8 @@ "laravel/ui": "^3.2" }, "require-dev": { + "ext-fileinfo": "*", + "ext-json": "*", "barryvdh/laravel-debugbar": "^3.5", "barryvdh/laravel-ide-helper": "^2.9", "codeception/codeception": "^4.1", diff --git a/composer.lock b/composer.lock index ea7e3f6..aa546df 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": "80d48a00dcb39429a455c6f3d46c231b", + "content-hash": "df2c4c0df167225b634654b9f64822a7", "packages": [ { "name": "brick/math", @@ -434,16 +434,16 @@ }, { "name": "laravel/framework", - "version": "v8.26.1", + "version": "v8.52.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "275c78c97e007e4a9d771d4d1caa1c77ebfdcf94" + "reference": "8fe9877d52e25f8aed36c51734e5a8510be967e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/275c78c97e007e4a9d771d4d1caa1c77ebfdcf94", - "reference": "275c78c97e007e4a9d771d4d1caa1c77ebfdcf94", + "url": "https://api.github.com/repos/laravel/framework/zipball/8fe9877d52e25f8aed36c51734e5a8510be967e6", + "reference": "8fe9877d52e25f8aed36c51734e5a8510be967e6", "shasum": "" }, "require": { @@ -453,7 +453,7 @@ "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/commonmark": "^1.3", + "league/commonmark": "^1.3|^2.0", "league/flysystem": "^1.1", "monolog/monolog": "^2.0", "nesbot/carbon": "^2.31", @@ -522,10 +522,10 @@ "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", "mockery/mockery": "^1.4.2", - "orchestra/testbench-core": "^6.8", + "orchestra/testbench-core": "^6.23", "pda/pheanstalk": "^4.0", "phpunit/phpunit": "^8.5.8|^9.3.3", - "predis/predis": "^1.1.1", + "predis/predis": "^1.1.2", "symfony/cache": "^5.1.4" }, "suggest": { @@ -551,7 +551,7 @@ "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", "predis/predis": "Required to use the predis connector (^1.1.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", @@ -598,26 +598,27 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-02-02T14:07:24+00:00" + "time": "2021-07-27T13:03:29+00:00" }, { "name": "laravel/ui", - "version": "v3.2.0", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351" + "reference": "07d725813350c695c779382cbd6dac0ab8665537" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/a1f82c6283c8373ea1958b8a27c3d5c98cade351", - "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351", + "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", + "reference": "07d725813350c695c779382cbd6dac0ab8665537", "shasum": "" }, "require": { - "illuminate/console": "^8.0", - "illuminate/filesystem": "^8.0", - "illuminate/support": "^8.0", + "illuminate/console": "^8.42", + "illuminate/filesystem": "^8.42", + "illuminate/support": "^8.42", + "illuminate/validation": "^8.42", "php": "^7.3|^8.0" }, "type": "library", @@ -653,23 +654,22 @@ "ui" ], "support": { - "issues": "https://github.com/laravel/ui/issues", - "source": "https://github.com/laravel/ui/tree/v3.2.0" + "source": "https://github.com/laravel/ui/tree/v3.3.0" }, - "time": "2021-01-06T19:20:22+00:00" + "time": "2021-05-25T16:45:33+00:00" }, { "name": "league/commonmark", - "version": "1.5.7", + "version": "1.6.6", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54" + "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54", - "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf", + "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf", "shasum": "" }, "require": { @@ -687,7 +687,7 @@ "github/gfm": "0.29.0", "michelf/php-markdown": "~1.4", "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12", + "phpstan/phpstan": "^0.12.90", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", "scrutinizer/ocular": "^1.5", "symfony/finder": "^4.2" @@ -757,20 +757,20 @@ "type": "tidelift" } ], - "time": "2020-10-31T13:49:32+00:00" + "time": "2021-07-17T17:13:23+00:00" }, { "name": "league/flysystem", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", "shasum": "" }, "require": { @@ -786,7 +786,6 @@ "phpunit/phpunit": "^8.5.8" }, "suggest": { - "ext-fileinfo": "Required for MimeType", "ext-ftp": "Allows you to use FTP server storage", "ext-openssl": "Allows you to use FTPS server storage", "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", @@ -844,7 +843,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.x" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" }, "funding": [ { @@ -852,7 +851,7 @@ "type": "other" } ], - "time": "2020-08-23T07:39:11+00:00" + "time": "2021-06-23T21:56:05+00:00" }, { "name": "league/mime-type-detection", @@ -912,16 +911,16 @@ }, { "name": "monolog/monolog", - "version": "2.2.0", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" + "reference": "71312564759a7db5b789296369c1a264efc43aad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad", + "reference": "71312564759a7db5b789296369c1a264efc43aad", "shasum": "" }, "require": { @@ -940,7 +939,7 @@ "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", - "phpstan/phpstan": "^0.12.59", + "phpstan/phpstan": "^0.12.91", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", "rollbar/rollbar": "^1.3", @@ -992,7 +991,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.2.0" + "source": "https://github.com/Seldaek/monolog/tree/2.3.2" }, "funding": [ { @@ -1004,26 +1003,27 @@ "type": "tidelift" } ], - "time": "2020-12-14T13:15:25+00:00" + "time": "2021-07-23T07:42:52+00:00" }, { "name": "nesbot/carbon", - "version": "2.45.0", + "version": "2.51.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "e2ba3174ce869da1713c38340dbb36572dfacd5a" + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e2ba3174ce869da1713c38340dbb36572dfacd5a", - "reference": "e2ba3174ce869da1713c38340dbb36572dfacd5a", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { @@ -1042,8 +1042,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev", - "dev-3.x": "3.x-dev" + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" }, "laravel": { "providers": [ @@ -1069,15 +1069,15 @@ { "name": "Brian Nesbitt", "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" + "homepage": "https://markido.com" }, { "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" + "homepage": "https://github.com/kylekatarnls" } ], "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", + "homepage": "https://carbon.nesbot.com", "keywords": [ "date", "datetime", @@ -1097,20 +1097,20 @@ "type": "tidelift" } ], - "time": "2021-02-07T21:35:59+00:00" + "time": "2021-07-28T13:16:28+00:00" }, { "name": "opis/closure", - "version": "3.6.1", + "version": "3.6.2", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", + "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", "shasum": "" }, "require": { @@ -1160,9 +1160,9 @@ ], "support": { "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.1" + "source": "https://github.com/opis/closure/tree/3.6.2" }, - "time": "2020-11-07T02:01:34+00:00" + "time": "2021-04-09T13:42:10+00:00" }, { "name": "phpoption/phpoption", @@ -1235,27 +1235,22 @@ }, { "name": "psr/container", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.2.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -1268,7 +1263,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", @@ -1282,9 +1277,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" + "source": "https://github.com/php-fig/container/tree/1.1.1" }, - "time": "2017-02-14T16:28:37+00:00" + "time": "2021-03-05T17:36:06+00:00" }, { "name": "psr/event-dispatcher", @@ -1338,16 +1333,16 @@ }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -1371,7 +1366,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -1382,9 +1377,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "psr/simple-cache", @@ -1439,16 +1434,16 @@ }, { "name": "ramsey/collection", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" + "reference": "ab2237657ad99667a5143e32ba2683c8029563d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "url": "https://api.github.com/repos/ramsey/collection/zipball/ab2237657ad99667a5143e32ba2683c8029563d4", + "reference": "ab2237657ad99667a5143e32ba2683c8029563d4", "shasum": "" }, "require": { @@ -1500,7 +1495,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.3" + "source": "https://github.com/ramsey/collection/tree/1.1.4" }, "funding": [ { @@ -1512,7 +1507,7 @@ "type": "tidelift" } ], - "time": "2021-01-21T17:40:04+00:00" + "time": "2021-07-30T00:58:27+00:00" }, { "name": "ramsey/uuid", @@ -1608,20 +1603,20 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.5", + "version": "v6.2.7", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7" + "reference": "15f7faf8508e04471f666633addacf54c0ab5933" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7", - "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", + "reference": "15f7faf8508e04471f666633addacf54c0ab5933", "shasum": "" }, "require": { - "egulias/email-validator": "^2.0", + "egulias/email-validator": "^2.0|^3.1", "php": ">=7.0.0", "symfony/polyfill-iconv": "^1.0", "symfony/polyfill-intl-idn": "^1.10", @@ -1667,7 +1662,7 @@ ], "support": { "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.5" + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" }, "funding": [ { @@ -1679,31 +1674,33 @@ "type": "tidelift" } ], - "time": "2021-01-12T09:35:59+00:00" + "time": "2021-03-09T12:30:35+00:00" }, { "name": "symfony/console", - "version": "v5.2.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a" + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/89d4b176d12a2946a1ae4e34906a025b7b6b135a", - "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2", "symfony/string": "^5.1" }, "conflict": { + "psr/log": ">=3", "symfony/dependency-injection": "<4.4", "symfony/dotenv": "<5.1", "symfony/event-dispatcher": "<4.4", @@ -1711,10 +1708,10 @@ "symfony/process": "<4.4" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/config": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/event-dispatcher": "^4.4|^5.0", @@ -1760,7 +1757,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.3" + "source": "https://github.com/symfony/console/tree/v5.3.6" }, "funding": [ { @@ -1776,24 +1773,25 @@ "type": "tidelift" } ], - "time": "2021-01-28T22:06:19+00:00" + "time": "2021-07-27T19:10:22+00:00" }, { "name": "symfony/css-selector", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" + "reference": "7fb120adc7f600a59027775b224c13a33530dd90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90", + "reference": "7fb120adc7f600a59027775b224c13a33530dd90", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -1825,7 +1823,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.2.3" + "source": "https://github.com/symfony/css-selector/tree/v5.3.4" }, "funding": [ { @@ -1841,20 +1839,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-07-21T12:38:00+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", "shasum": "" }, "require": { @@ -1863,7 +1861,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -1892,7 +1890,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/master" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" }, "funding": [ { @@ -1908,26 +1906,25 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/error-handler", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "48f18b3609e120ea66d59142c23dc53e9562c26d" + "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/48f18b3609e120ea66d59142c23dc53e9562c26d", - "reference": "48f18b3609e120ea66d59142c23dc53e9562c26d", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/281f6c4660bcf5844bb0346fe3a4664722fe4c73", + "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15", + "psr/log": "^1|^2|^3", "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { @@ -1961,7 +1958,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.2.3" + "source": "https://github.com/symfony/error-handler/tree/v5.3.4" }, "funding": [ { @@ -1977,27 +1974,27 @@ "type": "tidelift" } ], - "time": "2021-01-28T22:06:19+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367" + "reference": "f2fd2208157553874560f3645d4594303058c4bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4f9760f8074978ad82e2ce854dff79a71fe45367", - "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f2fd2208157553874560f3645d4594303058c4bd", + "reference": "f2fd2208157553874560f3645d4594303058c4bd", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", "symfony/event-dispatcher-contracts": "^2", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/dependency-injection": "<4.4" @@ -2007,7 +2004,7 @@ "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/error-handler": "^4.4|^5.0", @@ -2046,7 +2043,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/v5.2.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.4" }, "funding": [ { @@ -2062,20 +2059,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:36:42+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", "shasum": "" }, "require": { @@ -2088,7 +2085,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2125,7 +2122,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" }, "funding": [ { @@ -2141,24 +2138,25 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/finder", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "4adc8d172d602008c204c2e16956f99257248e03" + "reference": "17f50e06018baec41551a71a15731287dbaab186" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/4adc8d172d602008c204c2e16956f99257248e03", - "reference": "4adc8d172d602008c204c2e16956f99257248e03", + "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186", + "reference": "17f50e06018baec41551a71a15731287dbaab186", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -2186,7 +2184,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.3" + "source": "https://github.com/symfony/finder/tree/v5.3.4" }, "funding": [ { @@ -2202,20 +2200,20 @@ "type": "tidelift" } ], - "time": "2021-01-28T22:06:19+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.3.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", "shasum": "" }, "require": { @@ -2226,9 +2224,8 @@ }, "type": "library", "extra": { - "branch-version": "2.3", "branch-alias": { - "dev-main": "2.3-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2265,7 +2262,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1" + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" }, "funding": [ { @@ -2281,27 +2278,27 @@ "type": "tidelift" } ], - "time": "2020-10-14T17:08:19+00:00" + "time": "2021-04-11T23:07:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.2.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36" + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/20c554c0f03f7cde5ce230ed248470cccbc34c36", - "reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "require-dev": { "predis/predis": "~1.0", @@ -2338,7 +2335,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.3" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.6" }, "funding": [ { @@ -2354,40 +2351,40 @@ "type": "tidelift" } ], - "time": "2021-02-03T04:42:09+00:00" + "time": "2021-07-27T17:08:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.2.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05" + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05", - "reference": "89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0", + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/deprecation-contracts": "^2.1", "symfony/error-handler": "^4.4|^5.0", "symfony/event-dispatcher": "^5.0", "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-foundation": "^5.3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/browser-kit": "<4.4", "symfony/cache": "<5.0", "symfony/config": "<5.0", "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.1.8", + "symfony/dependency-injection": "<5.3", "symfony/doctrine-bridge": "<5.0", "symfony/form": "<5.0", "symfony/http-client": "<5.0", @@ -2399,15 +2396,15 @@ "twig/twig": "<2.13" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/cache": "~1.0", + "psr/cache": "^1.0|^2.0|^3.0", "symfony/browser-kit": "^4.4|^5.0", "symfony/config": "^5.0", "symfony/console": "^4.4|^5.0", "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.1.8", + "symfony/dependency-injection": "^5.3", "symfony/dom-crawler": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", "symfony/finder": "^4.4|^5.0", @@ -2450,7 +2447,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.2.3" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.6" }, "funding": [ { @@ -2466,20 +2463,20 @@ "type": "tidelift" } ], - "time": "2021-02-03T04:51:58+00:00" + "time": "2021-07-29T07:06:27+00:00" }, { "name": "symfony/mime", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7dee6a43493f39b51ff6c5bb2bd576fe40a76c86" + "reference": "633e4e8afe9e529e5599d71238849a4218dd497b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7dee6a43493f39b51ff6c5bb2bd576fe40a76c86", - "reference": "7dee6a43493f39b51ff6c5bb2bd576fe40a76c86", + "url": "https://api.github.com/repos/symfony/mime/zipball/633e4e8afe9e529e5599d71238849a4218dd497b", + "reference": "633e4e8afe9e529e5599d71238849a4218dd497b", "shasum": "" }, "require": { @@ -2487,15 +2484,16 @@ "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { + "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<4.4" }, "require-dev": { - "egulias/email-validator": "^2.1.10", + "egulias/email-validator": "^2.1.10|^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/property-access": "^4.4|^5.1", @@ -2532,7 +2530,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.2.3" + "source": "https://github.com/symfony/mime/tree/v5.3.4" }, "funding": [ { @@ -2548,20 +2546,20 @@ "type": "tidelift" } ], - "time": "2021-02-02T06:10:15+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", "shasum": "" }, "require": { @@ -2573,7 +2571,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2611,7 +2609,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" }, "funding": [ { @@ -2627,20 +2625,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.22.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", - "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", "shasum": "" }, "require": { @@ -2652,7 +2650,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2691,7 +2689,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" }, "funding": [ { @@ -2707,20 +2705,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-27T09:27:20+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", "shasum": "" }, "require": { @@ -2732,7 +2730,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2772,7 +2770,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" }, "funding": [ { @@ -2788,20 +2786,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.22.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", - "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", "shasum": "" }, "require": { @@ -2815,7 +2813,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2859,7 +2857,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" }, "funding": [ { @@ -2875,20 +2873,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-27T09:27:20+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba" + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", "shasum": "" }, "require": { @@ -2900,7 +2898,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2943,7 +2941,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" }, "funding": [ { @@ -2959,20 +2957,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T17:09:11+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", "shasum": "" }, "require": { @@ -2984,7 +2982,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3023,7 +3021,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" }, "funding": [ { @@ -3039,20 +3037,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.22.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", "shasum": "" }, "require": { @@ -3061,7 +3059,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3099,7 +3097,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" }, "funding": [ { @@ -3115,20 +3113,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-27T09:17:38+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.22.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", "shasum": "" }, "require": { @@ -3137,7 +3135,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3178,7 +3176,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" }, "funding": [ { @@ -3194,20 +3192,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.22.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", "shasum": "" }, "require": { @@ -3216,7 +3214,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3261,7 +3259,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" }, "funding": [ { @@ -3277,25 +3275,25 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-07-28T13:41:28+00:00" }, { "name": "symfony/process", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030", + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -3323,7 +3321,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.2.3" + "source": "https://github.com/symfony/process/tree/v5.3.4" }, "funding": [ { @@ -3339,43 +3337,43 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/routing", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661" + "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/348b5917e56546c6d96adbf21d7f92c9ef563661", - "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661", + "url": "https://api.github.com/repos/symfony/routing/zipball/0a35d2f57d73c46ab6d042ced783b81d09a624c4", + "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { - "symfony/config": "<5.0", + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", "symfony/dependency-injection": "<4.4", "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "^1.10.4", - "psr/log": "~1.0", - "symfony/config": "^5.0", + "doctrine/annotations": "^1.12", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.3", "symfony/dependency-injection": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", "symfony/http-foundation": "^4.4|^5.0", "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", "symfony/expression-language": "For using expression matching", "symfony/http-foundation": "For using a Symfony Request object", @@ -3413,7 +3411,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.2.3" + "source": "https://github.com/symfony/routing/tree/v5.3.4" }, "funding": [ { @@ -3429,25 +3427,25 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0" + "psr/container": "^1.1" }, "suggest": { "symfony/service-implementation": "" @@ -3455,7 +3453,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -3492,7 +3490,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/master" + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" }, "funding": [ { @@ -3508,20 +3506,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-04-01T10:43:52+00:00" }, { "name": "symfony/string", - "version": "v5.2.3", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "c95468897f408dd0aca2ff582074423dd0455122" + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/c95468897f408dd0aca2ff582074423dd0455122", - "reference": "c95468897f408dd0aca2ff582074423dd0455122", + "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", "shasum": "" }, "require": { @@ -3575,7 +3573,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.2.3" + "source": "https://github.com/symfony/string/tree/v5.3.3" }, "funding": [ { @@ -3591,26 +3589,27 @@ "type": "tidelift" } ], - "time": "2021-01-25T15:14:59+00:00" + "time": "2021-06-27T11:44:38+00:00" }, { "name": "symfony/translation", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "c021864d4354ee55160ddcfd31dc477a1bc77949" + "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/c021864d4354ee55160ddcfd31dc477a1bc77949", - "reference": "c021864d4354ee55160ddcfd31dc477a1bc77949", + "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1", + "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^2.3" }, "conflict": { @@ -3621,16 +3620,17 @@ "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "2.0" + "symfony/translation-implementation": "2.3" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^4.4|^5.0", "symfony/console": "^4.4|^5.0", "symfony/dependency-injection": "^5.0", "symfony/finder": "^4.4|^5.0", "symfony/http-kernel": "^5.0", "symfony/intl": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "^1.21", "symfony/service-contracts": "^1.1.2|^2", "symfony/yaml": "^4.4|^5.0" }, @@ -3668,7 +3668,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.2.3" + "source": "https://github.com/symfony/translation/tree/v5.3.4" }, "funding": [ { @@ -3684,20 +3684,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-07-25T09:39:16+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.3.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + "reference": "95c812666f3e91db75385749fe219c5e494c7f95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95", "shasum": "" }, "require": { @@ -3709,7 +3709,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -3746,7 +3746,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.3.0" + "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" }, "funding": [ { @@ -3762,26 +3762,26 @@ "type": "tidelift" } ], - "time": "2020-09-28T13:05:58+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.2.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "72ca213014a92223a5d18651ce79ef441c12b694" + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/72ca213014a92223a5d18651ce79ef441c12b694", - "reference": "72ca213014a92223a5d18651ce79ef441c12b694", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "phpunit/phpunit": "<5.4.3", @@ -3834,7 +3834,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.2.3" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.6" }, "funding": [ { @@ -3850,7 +3850,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-07-27T01:56:02+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -4061,30 +4061,35 @@ }, { "name": "webmozart/assert", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^7.2 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -4108,24 +4113,24 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" + "source": "https://github.com/webmozarts/assert/tree/1.10.0" }, - "time": "2020-07-08T17:02:28+00:00" + "time": "2021-03-09T10:59:23+00:00" } ], "packages-dev": [ { "name": "barryvdh/laravel-debugbar", - "version": "v3.5.2", + "version": "v3.6.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "cae0a8d1cb89b0f0522f65e60465e16d738e069b" + "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/cae0a8d1cb89b0f0522f65e60465e16d738e069b", - "reference": "cae0a8d1cb89b0f0522f65e60465e16d738e069b", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a", + "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a", "shasum": "" }, "require": { @@ -4185,28 +4190,32 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.5.2" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.2" }, "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, { "url": "https://github.com/barryvdh", "type": "github" } ], - "time": "2021-01-06T14:21:44+00:00" + "time": "2021-06-14T14:29:26+00:00" }, { "name": "barryvdh/laravel-ide-helper", - "version": "v2.9.0", + "version": "v2.10.0", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "64a6b902583802c162cdccf7e76dc8619368bf1a" + "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/64a6b902583802c162cdccf7e76dc8619368bf1a", - "reference": "64a6b902583802c162cdccf7e76dc8619368bf1a", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/73b1012b927633a1b4cd623c2e6b1678e6faef08", + "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08", "shasum": "" }, "require": { @@ -4217,6 +4226,7 @@ "illuminate/console": "^8", "illuminate/filesystem": "^8", "illuminate/support": "^8", + "nikic/php-parser": "^4.7", "php": "^7.3 || ^8.0", "phpdocumentor/type-resolver": "^1.1.0" }, @@ -4231,6 +4241,9 @@ "spatie/phpunit-snapshot-assertions": "^3 || ^4", "vimeo/psalm": "^3.12" }, + "suggest": { + "illuminate/events": "Required for automatic helper generation (^6|^7|^8)." + }, "type": "library", "extra": { "branch-alias": { @@ -4271,7 +4284,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.9.0" + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.10.0" }, "funding": [ { @@ -4279,7 +4292,7 @@ "type": "github" } ], - "time": "2020-12-29T10:11:05+00:00" + "time": "2021-04-09T06:17:55+00:00" }, { "name": "barryvdh/reflection-docblock", @@ -4399,16 +4412,16 @@ }, { "name": "codeception/codeception", - "version": "4.1.17", + "version": "4.1.21", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "c153b1ab289b3e3109e685379aa8847c54ac2b68" + "reference": "c25f20d842a7e3fa0a8e6abf0828f102c914d419" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/c153b1ab289b3e3109e685379aa8847c54ac2b68", - "reference": "c153b1ab289b3e3109e685379aa8847c54ac2b68", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/c25f20d842a7e3fa0a8e6abf0828f102c914d419", + "reference": "c25f20d842a7e3fa0a8e6abf0828f102c914d419", "shasum": "" }, "require": { @@ -4428,11 +4441,11 @@ "symfony/yaml": ">=2.7 <6.0" }, "require-dev": { - "codeception/module-asserts": "*@dev", - "codeception/module-cli": "*@dev", - "codeception/module-db": "*@dev", - "codeception/module-filesystem": "*@dev", - "codeception/module-phpbrowser": "*@dev", + "codeception/module-asserts": "1.*@dev", + "codeception/module-cli": "1.*@dev", + "codeception/module-db": "1.*@dev", + "codeception/module-filesystem": "1.*@dev", + "codeception/module-phpbrowser": "1.*@dev", "codeception/specify": "~0.3", "codeception/util-universalframework": "*@dev", "monolog/monolog": "~1.8", @@ -4482,7 +4495,7 @@ ], "support": { "issues": "https://github.com/Codeception/Codeception/issues", - "source": "https://github.com/Codeception/Codeception/tree/4.1.17" + "source": "https://github.com/Codeception/Codeception/tree/4.1.21" }, "funding": [ { @@ -4490,7 +4503,7 @@ "type": "open_collective" } ], - "time": "2021-02-01T07:30:47+00:00" + "time": "2021-05-28T17:43:39+00:00" }, { "name": "codeception/lib-asserts", @@ -4548,16 +4561,16 @@ }, { "name": "codeception/lib-innerbrowser", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/Codeception/lib-innerbrowser.git", - "reference": "b7406c710684c255d9b067d7795269a5585a0406" + "reference": "4b0d89b37fe454e060a610a85280a87ab4f534f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/b7406c710684c255d9b067d7795269a5585a0406", - "reference": "b7406c710684c255d9b067d7795269a5585a0406", + "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/4b0d89b37fe454e060a610a85280a87ab4f534f1", + "reference": "4b0d89b37fe454e060a610a85280a87ab4f534f1", "shasum": "" }, "require": { @@ -4602,9 +4615,9 @@ ], "support": { "issues": "https://github.com/Codeception/lib-innerbrowser/issues", - "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.4.0" + "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.5.0" }, - "time": "2021-01-29T18:17:25+00:00" + "time": "2021-04-23T06:18:29+00:00" }, { "name": "codeception/module-asserts", @@ -4669,12 +4682,12 @@ "source": { "type": "git", "url": "https://github.com/Codeception/module-laravel.git", - "reference": "f32a941a06e57bb06d2e485da11b191f38bec659" + "reference": "a0726113d31c8c8493adc0a92f75fecabdf5e76d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-laravel/zipball/f32a941a06e57bb06d2e485da11b191f38bec659", - "reference": "f32a941a06e57bb06d2e485da11b191f38bec659", + "url": "https://api.github.com/repos/Codeception/module-laravel/zipball/a0726113d31c8c8493adc0a92f75fecabdf5e76d", + "reference": "a0726113d31c8c8493adc0a92f75fecabdf5e76d", "shasum": "" }, "require": { @@ -4719,9 +4732,9 @@ ], "support": { "issues": "https://github.com/Codeception/module-laravel/issues", - "source": "https://github.com/Codeception/module-laravel/tree/2.0.0" + "source": "https://github.com/Codeception/module-laravel/tree/main" }, - "time": "2020-12-29T20:23:12+00:00" + "time": "2021-08-01T02:58:38+00:00" }, { "name": "codeception/phpunit-wrapper", @@ -4808,16 +4821,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.9", + "version": "1.2.10", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" + "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/9fdb22c2e97a614657716178093cd1da90a64aa8", + "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8", "shasum": "" }, "require": { @@ -4864,7 +4877,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.2.9" + "source": "https://github.com/composer/ca-bundle/tree/1.2.10" }, "funding": [ { @@ -4880,41 +4893,42 @@ "type": "tidelift" } ], - "time": "2021-01-12T12:10:35+00:00" + "time": "2021-06-07T13:58:28+00:00" }, { "name": "composer/composer", - "version": "2.0.9", + "version": "2.1.5", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "591c2c155cac0d2d7f34af41d3b1e29bcbfc685e" + "reference": "ac679902e9f66b85a8f9d8c1c88180f609a8745d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/591c2c155cac0d2d7f34af41d3b1e29bcbfc685e", - "reference": "591c2c155cac0d2d7f34af41d3b1e29bcbfc685e", + "url": "https://api.github.com/repos/composer/composer/zipball/ac679902e9f66b85a8f9d8c1c88180f609a8745d", + "reference": "ac679902e9f66b85a8f9d8c1c88180f609a8745d", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", + "composer/metadata-minifier": "^1.0", "composer/semver": "^3.0", "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^1.1", - "justinrainbow/json-schema": "^5.2.10", + "composer/xdebug-handler": "^2.0", + "justinrainbow/json-schema": "^5.2.11", "php": "^5.3.2 || ^7.0 || ^8.0", "psr/log": "^1.0", "react/promise": "^1.2 || ^2.7", "seld/jsonlint": "^1.4", "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0" + "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", + "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", + "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", + "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" }, "require-dev": { "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2 || ^5.0" + "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", @@ -4927,7 +4941,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -4961,7 +4975,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.0.9" + "source": "https://github.com/composer/composer/tree/2.1.5" }, "funding": [ { @@ -4977,20 +4991,89 @@ "type": "tidelift" } ], - "time": "2021-01-27T15:09:27+00:00" + "time": "2021-07-23T08:35:47+00:00" + }, + { + "name": "composer/metadata-minifier", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/metadata-minifier.git", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "composer/composer": "^2", + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\MetadataMinifier\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Small utility library that handles metadata minification and expansion.", + "keywords": [ + "composer", + "compression" + ], + "support": { + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-04-07T13:37:33+00:00" }, { "name": "composer/package-versions-deprecated", - "version": "1.11.99.1", + "version": "1.11.99.2", "source": { "type": "git", "url": "https://github.com/composer/package-versions-deprecated.git", - "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" + "reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", - "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c6522afe5540d5fc46675043d3ed5a45a740b27c", + "reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c", "shasum": "" }, "require": { @@ -5034,7 +5117,7 @@ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", "support": { "issues": "https://github.com/composer/package-versions-deprecated/issues", - "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.2" }, "funding": [ { @@ -5050,20 +5133,20 @@ "type": "tidelift" } ], - "time": "2020-11-11T10:22:58+00:00" + "time": "2021-05-24T07:46:03+00:00" }, { "name": "composer/semver", - "version": "3.2.4", + "version": "3.2.5", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464" + "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", - "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", + "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", "shasum": "" }, "require": { @@ -5115,7 +5198,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.2.4" + "source": "https://github.com/composer/semver/tree/3.2.5" }, "funding": [ { @@ -5131,7 +5214,7 @@ "type": "tidelift" } ], - "time": "2020-11-13T08:59:24+00:00" + "time": "2021-05-24T12:41:47+00:00" }, { "name": "composer/spdx-licenses", @@ -5214,24 +5297,25 @@ }, { "name": "composer/xdebug-handler", - "version": "1.4.5", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "f28d44c286812c714741478d968104c5e604a1d4" + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4", - "reference": "f28d44c286812c714741478d968104c5e604a1d4", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339", + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "autoload": { @@ -5257,7 +5341,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/1.4.5" + "source": "https://github.com/composer/xdebug-handler/tree/2.0.2" }, "funding": [ { @@ -5273,20 +5357,20 @@ "type": "tidelift" } ], - "time": "2020-11-13T08:04:11+00:00" + "time": "2021-07-31T17:03:58+00:00" }, { "name": "doctrine/cache", - "version": "1.10.2", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "13e3381b25847283a91948d04640543941309727" + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727", - "reference": "13e3381b25847283a91948d04640543941309727", + "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce", + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce", "shasum": "" }, "require": { @@ -5297,20 +5381,19 @@ }, "require-dev": { "alcaeus/mongo-php-adapter": "^1.1", - "doctrine/coding-standard": "^6.0", + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^8.0", "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^7.0", - "predis/predis": "~1.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "predis/predis": "~1.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.2 || ^6.0@dev", + "symfony/var-exporter": "^4.4 || ^5.2 || ^6.0@dev" }, "suggest": { "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" @@ -5357,7 +5440,7 @@ ], "support": { "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/1.10.x" + "source": "https://github.com/doctrine/cache/tree/2.1.1" }, "funding": [ { @@ -5373,37 +5456,40 @@ "type": "tidelift" } ], - "time": "2020-07-07T18:54:01+00:00" + "time": "2021-07-17T14:49:29+00:00" }, { "name": "doctrine/dbal", - "version": "3.0.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c" + "reference": "8e0fde2b90e3f61361013d1e928621beeea07bc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/ee6d1260d5cc20ec506455a585945d7bdb98662c", - "reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/8e0fde2b90e3f61361013d1e928621beeea07bc0", + "reference": "8e0fde2b90e3f61361013d1e928621beeea07bc0", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.11.99", - "doctrine/cache": "^1.0", + "doctrine/cache": "^1.0|^2.0", + "doctrine/deprecations": "^0.5.3", "doctrine/event-manager": "^1.0", "php": "^7.3 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.1", - "jetbrains/phpstorm-stubs": "^2019.1", - "phpstan/phpstan": "^0.12.40", + "doctrine/coding-standard": "9.0.0", + "jetbrains/phpstorm-stubs": "2020.2", + "phpstan/phpstan": "0.12.81", "phpstan/phpstan-strict-rules": "^0.12.2", - "phpunit/phpunit": "^9.4", - "psalm/plugin-phpunit": "^0.10.0", - "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "^3.17.2" + "phpunit/phpunit": "9.5.5", + "psalm/plugin-phpunit": "0.13.0", + "squizlabs/php_codesniffer": "3.6.0", + "symfony/cache": "^5.2|^6.0", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0|^6.0", + "vimeo/psalm": "4.6.4" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -5412,11 +5498,6 @@ "bin/doctrine-dbal" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\DBAL\\": "src" @@ -5468,7 +5549,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.0.0" + "source": "https://github.com/doctrine/dbal/tree/3.1.1" }, "funding": [ { @@ -5484,7 +5565,50 @@ "type": "tidelift" } ], - "time": "2020-11-15T18:20:41+00:00" + "time": "2021-06-19T17:59:55+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v0.5.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", + "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0|^7.0|^8.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v0.5.3" + }, + "time": "2021-03-21T12:59:47+00:00" }, { "name": "doctrine/event-manager", @@ -5651,16 +5775,16 @@ }, { "name": "facade/flare-client-php", - "version": "1.3.7", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/facade/flare-client-php.git", - "reference": "fd688d3c06658f2b3b5f7bb19f051ee4ddf02492" + "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/fd688d3c06658f2b3b5f7bb19f051ee4ddf02492", - "reference": "fd688d3c06658f2b3b5f7bb19f051ee4ddf02492", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/47b639dc02bcfdfc4ebb83de703856fa01e35f5f", + "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f", "shasum": "" }, "require": { @@ -5704,7 +5828,7 @@ ], "support": { "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.3.7" + "source": "https://github.com/facade/flare-client-php/tree/1.8.1" }, "funding": [ { @@ -5712,28 +5836,27 @@ "type": "github" } ], - "time": "2020-10-21T16:02:39+00:00" + "time": "2021-05-31T19:23:29+00:00" }, { "name": "facade/ignition", - "version": "2.5.11", + "version": "2.11.2", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "e91d67353054bf827c64687fcac5ea44e4dcec54" + "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/e91d67353054bf827c64687fcac5ea44e4dcec54", - "reference": "e91d67353054bf827c64687fcac5ea44e4dcec54", + "url": "https://api.github.com/repos/facade/ignition/zipball/7c4e7a7da184cd00c7ce6eacc590200bb9672de7", + "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", - "facade/flare-client-php": "^1.3.7", + "facade/flare-client-php": "^1.6", "facade/ignition-contracts": "^1.0.2", - "filp/whoops": "^2.4", "illuminate/support": "^7.0|^8.0", "monolog/monolog": "^2.0", "php": "^7.2.5|^8.0", @@ -5789,7 +5912,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-02-05T12:52:11+00:00" + "time": "2021-07-20T14:01:22+00:00" }, { "name": "facade/ignition-contracts", @@ -5846,20 +5969,22 @@ }, { "name": "fakerphp/faker", - "version": "v1.13.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913" + "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ab3f5364d01f2c2c16113442fb987d26e4004913", - "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/89c6201c74db25fa759ff16e78a4d8f32547770e", + "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^7.1 || ^8.0", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.2" }, "conflict": { "fzaninotto/faker": "*" @@ -5867,9 +5992,20 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-intl": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.4.2" + "symfony/phpunit-bridge": "^4.4 || ^5.2" + }, + "suggest": { + "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.", + "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.15-dev" + } + }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -5892,22 +6028,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.13.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.15.0" }, - "time": "2020-12-18T16:50:48+00:00" + "time": "2021-07-06T20:39:40+00:00" }, { "name": "filp/whoops", - "version": "2.9.2", + "version": "2.14.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "df7933820090489623ce0be5e85c7e693638e536" + "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/df7933820090489623ce0be5e85c7e693638e536", - "reference": "df7933820090489623ce0be5e85c7e693638e536", + "url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b", + "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b", "shasum": "" }, "require": { @@ -5957,7 +6093,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.9.2" + "source": "https://github.com/filp/whoops/tree/2.14.0" }, "funding": [ { @@ -5965,20 +6101,20 @@ "type": "github" } ], - "time": "2021-01-24T12:00:00+00:00" + "time": "2021-07-13T12:00:00+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.7.0", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3" + "reference": "dc960a912984efb74d0a90222870c72c87f10c91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3", - "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", + "reference": "dc960a912984efb74d0a90222870c72c87f10c91", "shasum": "" }, "require": { @@ -6038,22 +6174,22 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.7.0" + "source": "https://github.com/guzzle/psr7/tree/1.8.2" }, - "time": "2020-09-30T07:37:11+00:00" + "time": "2021-04-26T09:17:50+00:00" }, { "name": "justinrainbow/json-schema", - "version": "5.2.10", + "version": "5.2.11", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ab6744b7296ded80f8cc4f9509abbff393399aa", + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa", "shasum": "" }, "require": { @@ -6108,22 +6244,22 @@ ], "support": { "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10" + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.11" }, - "time": "2020-05-27T16:41:55+00:00" + "time": "2021-07-22T09:24:00+00:00" }, { "name": "maximebf/debugbar", - "version": "v1.16.5", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62" + "reference": "4ef8e359d9fffbfbce26218ee36f196453a4dd7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62", - "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/4ef8e359d9fffbfbce26218ee36f196453a4dd7d", + "reference": "4ef8e359d9fffbfbce26218ee36f196453a4dd7d", "shasum": "" }, "require": { @@ -6142,7 +6278,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.16-dev" + "dev-master": "1.17-dev" } }, "autoload": { @@ -6173,9 +6309,9 @@ ], "support": { "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.5" + "source": "https://github.com/maximebf/php-debugbar/tree/v1.17.0" }, - "time": "2020-12-07T11:07:24+00:00" + "time": "2021-07-27T05:47:57+00:00" }, { "name": "myclabs/deep-copy", @@ -6237,16 +6373,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.10.4", + "version": "v4.12.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + "reference": "6608f01670c3cc5079e18c1dab1104e002579143" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143", + "reference": "6608f01670c3cc5079e18c1dab1104e002579143", "shasum": "" }, "require": { @@ -6287,22 +6423,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0" }, - "time": "2020-12-20T10:01:03+00:00" + "time": "2021-07-21T10:44:31+00:00" }, { "name": "nunomaduro/collision", - "version": "v5.3.0", + "version": "v5.6.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "aca63581f380f63a492b1e3114604e411e39133a" + "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/aca63581f380f63a492b1e3114604e411e39133a", - "reference": "aca63581f380f63a492b1e3114604e411e39133a", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", + "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", "shasum": "" }, "require": { @@ -6316,10 +6452,10 @@ "fideloper/proxy": "^4.4.1", "friendsofphp/php-cs-fixer": "^2.17.3", "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "^9.0", + "laravel/framework": "^8.0 || ^9.0", "nunomaduro/larastan": "^0.6.2", "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^7.0", + "orchestra/testbench": "^6.0 || ^7.0", "phpstan/phpstan": "^0.12.64", "phpunit/phpunit": "^9.5.0" }, @@ -6377,20 +6513,20 @@ "type": "patreon" } ], - "time": "2021-01-25T15:34:13+00:00" + "time": "2021-07-26T20:39:06+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { @@ -6435,22 +6571,22 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "time": "2020-06-27T14:33:11+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" + "reference": "bae7c545bef187884426f042434e561ab1ddb182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", "shasum": "" }, "require": { @@ -6486,9 +6622,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.0.4" + "source": "https://github.com/phar-io/version/tree/3.1.0" }, - "time": "2020-12-13T23:18:30+00:00" + "time": "2021-02-23T14:00:09+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -6650,16 +6786,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.12.2", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "245710e971a030f42e08f4912863805570f23d39" + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", - "reference": "245710e971a030f42e08f4912863805570f23d39", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", "shasum": "" }, "require": { @@ -6711,22 +6847,22 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + "source": "https://github.com/phpspec/prophecy/tree/1.13.0" }, - "time": "2020-12-19T10:15:11+00:00" + "time": "2021-03-17T13:42:18+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.5", + "version": "9.2.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" + "reference": "f6293e1b30a2354e8428e004689671b83871edde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", - "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", + "reference": "f6293e1b30a2354e8428e004689671b83871edde", "shasum": "" }, "require": { @@ -6782,7 +6918,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6" }, "funding": [ { @@ -6790,7 +6926,7 @@ "type": "github" } ], - "time": "2020-11-28T06:44:49+00:00" + "time": "2021-03-28T07:26:59+00:00" }, { "name": "phpunit/php-file-iterator", @@ -7035,16 +7171,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.2", + "version": "9.5.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4" + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4", - "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb", "shasum": "" }, "require": { @@ -7056,7 +7192,7 @@ "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", + "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", @@ -7074,7 +7210,7 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3", + "sebastian/type": "^2.3.4", "sebastian/version": "^3.0.2" }, "require-dev": { @@ -7122,7 +7258,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.8" }, "funding": [ { @@ -7134,7 +7270,7 @@ "type": "github" } ], - "time": "2021-02-02T14:45:58+00:00" + "time": "2021-07-31T15:17:34+00:00" }, { "name": "psr/http-message", @@ -7789,16 +7925,16 @@ }, { "name": "sebastian/global-state", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", - "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49", + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49", "shasum": "" }, "require": { @@ -7841,7 +7977,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3" }, "funding": [ { @@ -7849,7 +7985,7 @@ "type": "github" } ], - "time": "2020-10-26T15:55:19+00:00" + "time": "2021-06-11T13:31:12+00:00" }, { "name": "sebastian/lines-of-code", @@ -8136,20 +8272,21 @@ "type": "github" } ], + "abandoned": true, "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "2.3.1", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", "shasum": "" }, "require": { @@ -8184,7 +8321,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" }, "funding": [ { @@ -8192,7 +8329,7 @@ "type": "github" } ], - "time": "2020-10-26T13:18:59+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", @@ -8360,21 +8497,22 @@ }, { "name": "symfony/browser-kit", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "b03b2057ed53ee4eab2e8f372084d7722b7b8ffd" + "reference": "c1e3f64fcc631c96e2c5843b666db66679ced11c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/b03b2057ed53ee4eab2e8f372084d7722b7b8ffd", - "reference": "b03b2057ed53ee4eab2e8f372084d7722b7b8ffd", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c1e3f64fcc631c96e2c5843b666db66679ced11c", + "reference": "c1e3f64fcc631c96e2c5843b666db66679ced11c", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/dom-crawler": "^4.4|^5.0" + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { "symfony/css-selector": "^4.4|^5.0", @@ -8411,7 +8549,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/v5.2.3" + "source": "https://github.com/symfony/browser-kit/tree/v5.3.4" }, "funding": [ { @@ -8427,26 +8565,25 @@ "type": "tidelift" } ], - "time": "2021-01-27T12:56:27+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/debug", - "version": "v4.4.19", + "version": "v4.4.27", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "af4987aa4a5630e9615be9d9c3ed1b0f24ca449c" + "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/af4987aa4a5630e9615be9d9c3ed1b0f24ca449c", - "reference": "af4987aa4a5630e9615be9d9c3ed1b0f24ca449c", + "url": "https://api.github.com/repos/symfony/debug/zipball/2f9160e92eb64c95da7368c867b663a8e34e980c", + "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c", "shasum": "" }, "require": { "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/polyfill-php80": "^1.15" + "psr/log": "^1|^2|^3" }, "conflict": { "symfony/http-kernel": "<3.4" @@ -8480,7 +8617,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.19" + "source": "https://github.com/symfony/debug/tree/v4.4.27" }, "funding": [ { @@ -8496,27 +8633,28 @@ "type": "tidelift" } ], - "time": "2021-01-27T09:09:26+00:00" + "time": "2021-07-22T07:21:39+00:00" }, { "name": "symfony/dom-crawler", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384" + "reference": "2dd8890bd01be59a5221999c05ccf0fcafcb354f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5d89ceb53ec65e1973a555072fac8ed5ecad3384", - "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2dd8890bd01be59a5221999c05ccf0fcafcb354f", + "reference": "2dd8890bd01be59a5221999c05ccf0fcafcb354f", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "conflict": { "masterminds/html5": "<2.6" @@ -8554,7 +8692,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v5.2.3" + "source": "https://github.com/symfony/dom-crawler/tree/v5.3.4" }, "funding": [ { @@ -8570,25 +8708,26 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-07-23T15:55:36+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "262d033b57c73e8b59cd6e68a45c528318b15038" + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/262d033b57c73e8b59cd6e68a45c528318b15038", - "reference": "262d033b57c73e8b59cd6e68a45c528318b15038", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32", + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -8616,7 +8755,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.3" + "source": "https://github.com/symfony/filesystem/tree/v5.3.4" }, "funding": [ { @@ -8632,20 +8771,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/yaml", - "version": "v5.2.3", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0" + "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/338cddc6d74929f6adf19ca5682ac4b8e109cdb0", - "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7", + "reference": "4500fe63dc9c6ffc32d3b1cb0448c329f9c814b7", "shasum": "" }, "require": { @@ -8691,7 +8830,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.3" + "source": "https://github.com/symfony/yaml/tree/v5.3.6" }, "funding": [ { @@ -8707,20 +8846,20 @@ "type": "tidelift" } ], - "time": "2021-02-03T04:42:09+00:00" + "time": "2021-07-29T06:20:01+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { @@ -8749,7 +8888,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" }, "funding": [ { @@ -8757,7 +8896,7 @@ "type": "github" } ], - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-07-28T10:34:58+00:00" } ], "aliases": [], @@ -8771,7 +8910,10 @@ "php": ">=7.3.0", "ext-pdo": "*" }, - "platform-dev": [], + "platform-dev": { + "ext-fileinfo": "*", + "ext-json": "*" + }, "platform-overrides": { "php": "7.3.0" }, From 248d0fd5d50e040097fed5eef62912bd9cab138b Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Mon, 2 Aug 2021 10:29:10 +0200 Subject: [PATCH 09/14] chore: fail with meaningful JSON decoding error message --- tests/_build/support/Helper/CustomRequests.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/_build/support/Helper/CustomRequests.php b/tests/_build/support/Helper/CustomRequests.php index 2343736..708f824 100644 --- a/tests/_build/support/Helper/CustomRequests.php +++ b/tests/_build/support/Helper/CustomRequests.php @@ -14,6 +14,13 @@ public function submitFiles(array $files): array /** @var Laravel $laravelModule */ $laravelModule = $this->getModule('Laravel'); $response = $laravelModule->_request('POST', '/upload-files', [], $files); - return json_decode($response, true); + $response = json_decode($response, true); + + $last_error = json_last_error(); + if ($last_error !== JSON_ERROR_NONE) { + $this->fail("Failed to parse response from uploaded-files endpoint with json error code {$last_error}"); + } + + return $response; } } From d5178eee492615c27351377974d3dc77395ed43b Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Mon, 2 Aug 2021 10:30:37 +0200 Subject: [PATCH 10/14] temporary debug flag for github actions debuging --- .github/workflows/laravel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 22502b5..6e10bbf 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -52,4 +52,4 @@ jobs: php artisan config:cache touch database/database.sqlite php artisan migrate --seed --env=testing --force - vendor/bin/codecept run Functional + vendor/bin/codecept run Functional -d From 4fef8763857322e2c63860668c655d36bf271593 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Mon, 2 Aug 2021 15:32:22 +0200 Subject: [PATCH 11/14] chore: try disabling middleware to avoid CSRF check fail --- tests/Functional/IssuesCest.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php index 1aacfd8..a33043b 100644 --- a/tests/Functional/IssuesCest.php +++ b/tests/Functional/IssuesCest.php @@ -18,6 +18,8 @@ final class IssuesCest */ public function submitArrayTestFiles(FunctionalTester $I, Example $example) { + // disable CSRF check + $I->disableMiddleware(); $fileName = self::TEST_UPLOADED_FILE_NAME; $filePath = codecept_data_dir($fileName); $files = [ @@ -39,6 +41,8 @@ public function submitArrayTestFiles(FunctionalTester $I, Example $example) */ public function submitUploadedFileTestFiles(FunctionalTester $I, Example $example) { + // disable CSRF check + $I->disableMiddleware(); $fileName = self::TEST_UPLOADED_FILE_NAME; $filePath = codecept_data_dir($fileName); $files = [ From be2543a7ea1b122a542edbd423d4b8a8cef48401 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Mon, 2 Aug 2021 17:17:20 +0200 Subject: [PATCH 12/14] chore: run test with API routes --- .github/workflows/laravel.yml | 2 +- routes/api.php | 3 +++ routes/web.php | 2 -- tests/Functional/IssuesCest.php | 4 ---- tests/_build/support/Helper/CustomRequests.php | 2 +- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 6e10bbf..ca3dbac 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -52,4 +52,4 @@ jobs: php artisan config:cache touch database/database.sqlite php artisan migrate --seed --env=testing --force - vendor/bin/codecept run Functional -d + vendor/bin/codecept run Functional \ No newline at end of file diff --git a/routes/api.php b/routes/api.php index a40f613..2805014 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,6 +2,7 @@ declare(strict_types=1); +use App\Http\Controllers\TestController; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; @@ -10,3 +11,5 @@ Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); + +Route::post('/upload-files', [TestController::class, 'uploadFiles']); diff --git a/routes/web.php b/routes/web.php index 5e9589e..293418d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -23,5 +23,3 @@ Route::get('/service-container', function () { return view('utils/service-container'); }); - -Route::post('/upload-files', [TestController::class, 'uploadFiles']); \ No newline at end of file diff --git a/tests/Functional/IssuesCest.php b/tests/Functional/IssuesCest.php index a33043b..1aacfd8 100644 --- a/tests/Functional/IssuesCest.php +++ b/tests/Functional/IssuesCest.php @@ -18,8 +18,6 @@ final class IssuesCest */ public function submitArrayTestFiles(FunctionalTester $I, Example $example) { - // disable CSRF check - $I->disableMiddleware(); $fileName = self::TEST_UPLOADED_FILE_NAME; $filePath = codecept_data_dir($fileName); $files = [ @@ -41,8 +39,6 @@ public function submitArrayTestFiles(FunctionalTester $I, Example $example) */ public function submitUploadedFileTestFiles(FunctionalTester $I, Example $example) { - // disable CSRF check - $I->disableMiddleware(); $fileName = self::TEST_UPLOADED_FILE_NAME; $filePath = codecept_data_dir($fileName); $files = [ diff --git a/tests/_build/support/Helper/CustomRequests.php b/tests/_build/support/Helper/CustomRequests.php index 708f824..05a0b6d 100644 --- a/tests/_build/support/Helper/CustomRequests.php +++ b/tests/_build/support/Helper/CustomRequests.php @@ -13,7 +13,7 @@ public function submitFiles(array $files): array { /** @var Laravel $laravelModule */ $laravelModule = $this->getModule('Laravel'); - $response = $laravelModule->_request('POST', '/upload-files', [], $files); + $response = $laravelModule->_request('POST', '/api/upload-files', [], $files); $response = json_decode($response, true); $last_error = json_last_error(); From 0ad046d174187a8fe200d23f15ae3f71eb17a19f Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Mon, 2 Aug 2021 17:26:59 +0200 Subject: [PATCH 13/14] chore: add back missing new line --- .github/workflows/laravel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index ca3dbac..22502b5 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -52,4 +52,4 @@ jobs: php artisan config:cache touch database/database.sqlite php artisan migrate --seed --env=testing --force - vendor/bin/codecept run Functional \ No newline at end of file + vendor/bin/codecept run Functional From e1ad3977e26d12e8c6144e67c8809026b0454d58 Mon Sep 17 00:00:00 2001 From: Fernando Kupper Cardoso Date: Mon, 2 Aug 2021 17:43:32 +0200 Subject: [PATCH 14/14] chore: use JSON_THROW_ON_ERROR flag --- tests/_build/support/Helper/CustomRequests.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/_build/support/Helper/CustomRequests.php b/tests/_build/support/Helper/CustomRequests.php index 05a0b6d..105abca 100644 --- a/tests/_build/support/Helper/CustomRequests.php +++ b/tests/_build/support/Helper/CustomRequests.php @@ -6,6 +6,8 @@ use Codeception\Module; use Codeception\Module\Laravel; +use JsonException; +use Throwable; final class CustomRequests extends Module { @@ -14,11 +16,10 @@ public function submitFiles(array $files): array /** @var Laravel $laravelModule */ $laravelModule = $this->getModule('Laravel'); $response = $laravelModule->_request('POST', '/api/upload-files', [], $files); - $response = json_decode($response, true); - - $last_error = json_last_error(); - if ($last_error !== JSON_ERROR_NONE) { - $this->fail("Failed to parse response from uploaded-files endpoint with json error code {$last_error}"); + try { + $response = json_decode($response, true, 512, JSON_THROW_ON_ERROR); + } catch (JsonException $e) { + $this->fail("Failed to decode json response from uploaded-files endpoint with json error code {$e->getCode()}"); } return $response;