diff --git a/composer.json b/composer.json index 82d56dd..59d1edd 100644 --- a/composer.json +++ b/composer.json @@ -10,14 +10,14 @@ } ], "minimum-stability": "stable", - "prefer-stable": true, + "prefer-stable": false, "require": { "php": ">=8.2", "ext-ctype": "*", "ext-iconv": "*", "ext-openswoole": "*", "amphp/amp": "^3.0", - "darkwood/flow": "^1.2", + "darkwood/flow": "dev-1.x-dev", "doctrine/dbal": "^3", "doctrine/doctrine-bundle": "^2.12", "doctrine/doctrine-migrations-bundle": "^3.3", diff --git a/composer.lock b/composer.lock index 6cd103d..19bfba0 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": "d18a634d20ce822b42c53c3793af5ee3", + "content-hash": "64ed88553514526932414a91784ce9f4", "packages": [ { "name": "amphp/amp", @@ -170,16 +170,16 @@ }, { "name": "darkwood/flow", - "version": "v1.2.2", + "version": "dev-1.x-dev", "source": { "type": "git", "url": "https://github.com/darkwood-com/flow.git", - "reference": "af333ff8011c3d0fdac6282d9d3c62c9b8daa52d" + "reference": "ed8cde4de2f4fd1571bfffdb0307bf2f40879560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/darkwood-com/flow/zipball/af333ff8011c3d0fdac6282d9d3c62c9b8daa52d", - "reference": "af333ff8011c3d0fdac6282d9d3c62c9b8daa52d", + "url": "https://api.github.com/repos/darkwood-com/flow/zipball/ed8cde4de2f4fd1571bfffdb0307bf2f40879560", + "reference": "ed8cde4de2f4fd1571bfffdb0307bf2f40879560", "shasum": "" }, "require": { @@ -232,7 +232,7 @@ ], "support": { "issues": "https://github.com/darkwood-com/flow/issues", - "source": "https://github.com/darkwood-com/flow/tree/v1.2.2" + "source": "https://github.com/darkwood-com/flow/tree/1.x-dev" }, "funding": [ { @@ -240,7 +240,7 @@ "type": "github" } ], - "time": "2024-08-30T17:02:58+00:00" + "time": "2024-09-07T19:41:37+00:00" }, { "name": "doctrine/cache", @@ -423,16 +423,16 @@ }, { "name": "doctrine/dbal", - "version": "3.9.0", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", "shasum": "" }, "require": { @@ -448,7 +448,7 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.7", + "phpstan/phpstan": "1.12.0", "phpstan/phpstan-strict-rules": "^1.6", "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", @@ -516,7 +516,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.0" + "source": "https://github.com/doctrine/dbal/tree/3.9.1" }, "funding": [ { @@ -532,7 +532,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T07:34:42+00:00" + "time": "2024-09-01T13:49:23+00:00" }, { "name": "doctrine/deprecations", @@ -583,16 +583,16 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "5418e811a14724068e95e0ba43353b903ada530f" + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/5418e811a14724068e95e0ba43353b903ada530f", - "reference": "5418e811a14724068e95e0ba43353b903ada530f", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/ca59d84b8e63143ce1aed90cdb333ba329d71563", + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563", "shasum": "" }, "require": { @@ -683,7 +683,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.12.0" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.13.0" }, "funding": [ { @@ -699,7 +699,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T07:20:37+00:00" + "time": "2024-09-01T09:46:40+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", @@ -2004,16 +2004,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.30.0", + "version": "1.30.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "5ceb0e384997db59f38774bf79c2a6134252c08f" + "reference": "51b95ec8670af41009e2b2b56873bad96682413e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/5ceb0e384997db59f38774bf79c2a6134252c08f", - "reference": "5ceb0e384997db59f38774bf79c2a6134252c08f", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51b95ec8670af41009e2b2b56873bad96682413e", + "reference": "51b95ec8670af41009e2b2b56873bad96682413e", "shasum": "" }, "require": { @@ -2045,9 +2045,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.1" }, - "time": "2024-08-29T09:54:52+00:00" + "time": "2024-09-07T20:13:05+00:00" }, { "name": "psr/cache", @@ -8277,23 +8277,23 @@ }, { "name": "twig/extra-bundle", - "version": "v3.12.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "a5427976a23c50b98d034d2f4c215ffaaaf5875f" + "reference": "21a9a7aa9f79d4493bb6fed4eb2794339f9551f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/a5427976a23c50b98d034d2f4c215ffaaaf5875f", - "reference": "a5427976a23c50b98d034d2f4c215ffaaaf5875f", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/21a9a7aa9f79d4493bb6fed4eb2794339f9551f5", + "reference": "21a9a7aa9f79d4493bb6fed4eb2794339f9551f5", "shasum": "" }, "require": { "php": ">=8.0.2", "symfony/framework-bundle": "^5.4|^6.4|^7.0", "symfony/twig-bundle": "^5.4|^6.4|^7.0", - "twig/twig": "^3.0" + "twig/twig": "^3.0|^4.0" }, "require-dev": { "league/commonmark": "^1.0|^2.0", @@ -8335,7 +8335,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.12.0" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.13.0" }, "funding": [ { @@ -8347,20 +8347,20 @@ "type": "tidelift" } ], - "time": "2024-08-10T10:32:24+00:00" + "time": "2024-09-01T20:39:12+00:00" }, { "name": "twig/twig", - "version": "v3.12.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "4d19472d4ac1838e0b1f0e029ce1fa4040eb34ea" + "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/4d19472d4ac1838e0b1f0e029ce1fa4040eb34ea", - "reference": "4d19472d4ac1838e0b1f0e029ce1fa4040eb34ea", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/afc0eb63dc66c248c5a94504dc2b255bc9b86575", + "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575", "shasum": "" }, "require": { @@ -8414,7 +8414,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.12.0" + "source": "https://github.com/twigphp/Twig/tree/v3.13.0" }, "funding": [ { @@ -8426,7 +8426,7 @@ "type": "tidelift" } ], - "time": "2024-08-29T09:51:12+00:00" + "time": "2024-09-07T08:01:12+00:00" }, { "name": "webmozart/assert", @@ -8943,8 +8943,10 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": true, + "stability-flags": { + "darkwood/flow": 20 + }, + "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">=8.2", diff --git a/src/Command/ScrapCommand.php b/src/Command/ScrapCommand.php new file mode 100644 index 0000000..5dbc777 --- /dev/null +++ b/src/Command/ScrapCommand.php @@ -0,0 +1,177 @@ +httpClient = $httpClient; + } + + /** + * Get user data including todos and posts. + * + * @param array $user The user data + * @param HttpClientInterface $httpClient The HTTP client for making requests + * + * @return array The user data with todos and posts added + */ + public function getUserData($user, HttpClientInterface $httpClient): array + { + $userId = $user['id']; + $todosUrl = "https://jsonplaceholder.typicode.com/users/{$userId}/todos"; + $postsUrl = "https://jsonplaceholder.typicode.com/users/{$userId}/posts"; + + $responses = [ + 'todos' => $httpClient->request('GET', $todosUrl), + 'posts' => $httpClient->request('GET', $postsUrl), + ]; + + Fiber::suspend(); + + $todos = $responses['todos']->toArray(); + $posts = $responses['posts']->toArray(); + + $user['todos'] = $todos; + $user['posts'] = $posts; + + return $user; + } + + protected function execute(InputInterface $input, OutputInterface $output): int + { + $io = new SymfonyStyle($input, $output); + + $driver = new FiberDriver(); + + $flow = Flow::do(function () use ($io) { + yield new ScrapUrlsJob(); + yield static function (array $urlDatas) use ($io) { + $io->writeln(sprintf('ScrapUrlsJob : Finished scrapping %d urls', count($urlDatas))); + + return $urlDatas; + }; + yield [new ScrapUrlJob(), null, new FlattenIpStrategy()]; + yield static function (UrlContent $urlData) use ($io) { + $io->writeln(sprintf('ScrapUrlJob : Finished scrapping %s', $urlData->url)); + }; + + yield static fn () => [null, []]; + yield new YJob(function ($rec) { + return function ($data) use ($rec) { + [$i, $users] = $data; + if ($i === null) { + $response = $this->httpClient->request('GET', 'https://jsonplaceholder.typicode.com/users'); + Fiber::suspend(); + $users = $response->toArray(); + + return $rec([0, $users]); + } + if ($i >= 0 && $i < count($users)) { + $users[$i] = $this->getUserData($users[$i], $this->httpClient); + + return $rec([$i + 1, $users]); + } + + return $users; + }; + }); + yield static function ($users) use ($io) { + $io->writeln(sprintf('ScrapYJob : Finished scrapping %d', count($users))); + }; + + yield static fn () => [null, []]; + yield [new YJob(function ($rec) { + return function ($args) use ($rec) { + [$data, $defer] = $args; + + return $defer(function ($complete, $async) use ($data, $defer, $rec) { + [$i, $users] = $data; + if ($i === null) { + $response = $this->httpClient->request('GET', 'https://jsonplaceholder.typicode.com/users'); + Fiber::suspend(); + $users = $response->toArray(); + + $async($rec([[0, $users], $defer]), static function ($result) use ($complete) { + $complete($result); + }); + } elseif ($i >= 0 && $i < count($users)) { + $users[$i] = $this->getUserData($users[$i], $this->httpClient); + + $async($rec([[$i + 1, $users], $defer]), static function ($result) use ($complete) { + $complete($result); + }); + } else { + $complete([$users, $defer]); + } + }); + }; + }), null, null, null, new DeferAsyncHandler()]; + yield static function ($users) use ($io) { + $io->writeln(sprintf('ScrapYDeferJob : Finished scrapping %d', count($users))); + }; + }, ['driver' => $driver]); + + $flow(new Ip([ + new UrlContent('https://www.google.fr'), + new UrlContent('https://www.apple.com'), + new UrlContent('https://www.microsoft.com'), + new UrlContent('https://www.amazon.com'), + new UrlContent('https://www.facebook.com'), + new UrlContent('https://www.netflix.com'), + new UrlContent('https://www.spotify.com'), + new UrlContent('https://www.wikipedia.org'), + new UrlContent('https://www.x.com'), + new UrlContent('https://www.instagram.com'), + new UrlContent('https://www.linkedin.com'), + new UrlContent('https://www.reddit.com'), + new UrlContent('https://www.ebay.com'), + new UrlContent('https://www.cnn.com'), + new UrlContent('https://www.bbc.co.uk'), + new UrlContent('https://www.yahoo.com'), + new UrlContent('https://www.bing.com'), + new UrlContent('https://www.pinterest.com'), + new UrlContent('https://www.tumblr.com'), + new UrlContent('https://www.paypal.com'), + new UrlContent('https://www.dropbox.com'), + new UrlContent('https://www.adobe.com'), + new UrlContent('https://www.salesforce.com'), + ])); + + $flow->await(); + + $io->success('Scraping is done.'); + + return Command::SUCCESS; + } +} diff --git a/src/IpStrategy/FlattenIpStrategy.php b/src/IpStrategy/FlattenIpStrategy.php new file mode 100644 index 0000000..f9dae7b --- /dev/null +++ b/src/IpStrategy/FlattenIpStrategy.php @@ -0,0 +1,71 @@ + + */ +class FlattenIpStrategy implements IpStrategyInterface +{ + /** + * @var IpPool + */ + private IpPool $ipPool; + + public function __construct() + { + $this->ipPool = new IpPool(); + } + + public static function getSubscribedEvents(): array + { + return [ + Event::PUSH => 'push', + Event::PULL => 'pull', + Event::POOL => 'pool', + ]; + } + + /** + * @param PushEvent $event + */ + public function push(PushEvent $event): void + { + $ip = $event->getIp(); + if (!is_iterable($ip->data)) { + throw new LogicException('Ip data must be iterable'); + } + foreach ($ip->data as $data) { + $this->ipPool->addIp(new Ip($data)); + } + } + + /** + * @param PullEvent $event + */ + public function pull(PullEvent $event): void + { + $ip = $this->ipPool->shiftIp(); + if ($ip !== null) { + $event->addIp($ip); + } + } + + public function pool(PoolEvent $event): void + { + $event->addIps($this->ipPool->getIps()); + } +} diff --git a/src/Job/ScrapUrlJob.php b/src/Job/ScrapUrlJob.php new file mode 100644 index 0000000..2eba5f5 --- /dev/null +++ b/src/Job/ScrapUrlJob.php @@ -0,0 +1,55 @@ + + */ +class ScrapUrlJob implements JobInterface +{ + private CurlMultiHandle $mh; + + public function __construct() + { + // Initialize a cURL multi handle + $this->mh = curl_multi_init(); + } + + public function __destruct() + { + curl_multi_close($this->mh); + } + + public function __invoke($urlContent): mixed + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $urlContent->url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_multi_add_handle($this->mh, $ch); + + do { + $status = curl_multi_exec($this->mh, $active); + curl_multi_exec($this->mh, $active); + + Fiber::suspend(); + + $info = curl_multi_info_read($this->mh); + } while ( + $active && $status === CURLM_OK // check curl_multi is active + && !($info !== false && $info['handle'] === $ch && $info['result'] === CURLE_OK) // check $ch is done + ); + + $content = curl_multi_getcontent($ch); + curl_multi_remove_handle($this->mh, $ch); + curl_close($ch); + + return new UrlContent($urlContent->url, $content); + } +} diff --git a/src/Job/ScrapUrlsJob.php b/src/Job/ScrapUrlsJob.php new file mode 100644 index 0000000..2d5d6a6 --- /dev/null +++ b/src/Job/ScrapUrlsJob.php @@ -0,0 +1,56 @@ +, array> + */ +class ScrapUrlsJob implements JobInterface +{ + public function __invoke($urlContents): array + { + // Initialize a cURL multi handle + $mh = curl_multi_init(); + + // Array to hold individual cURL handles + $curl_handles = []; + + // Initialize individual cURL handles and add them to the multi handle + foreach ($urlContents as $urlContent) { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $urlContent->url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_multi_add_handle($mh, $ch); + $curl_handles[] = [$ch, $urlContent]; + } + + // Execute the multi handle + $running = null; + do { + curl_multi_exec($mh, $running); + + Fiber::suspend(); + } while ($running > 0); + + // Collect the content from each handle + $urlContents = []; + foreach ($curl_handles as $curl_handle) { + [$ch, $urlContent] = $curl_handle; + $urlContent->content = curl_multi_getcontent($ch); + $urlContents[] = $urlContent; + curl_multi_remove_handle($mh, $ch); + curl_close($ch); + } + + // Close the multi handle + curl_multi_close($mh); + + return $urlContents; + } +} diff --git a/src/Model/UrlContent.php b/src/Model/UrlContent.php new file mode 100644 index 0000000..09bf2bc --- /dev/null +++ b/src/Model/UrlContent.php @@ -0,0 +1,10 @@ +=8.3", "symfony/event-dispatcher": "^7.0", "amphp/amp": "^3.0", - "darkwood/flow": "^1.2", + "darkwood/flow": "dev-1.x-dev", "doctrine/dbal": "^3", "doctrine/doctrine-bundle": "^2.12", "doctrine/doctrine-migrations-bundle": "^3.3", diff --git a/tools/phpstan/composer.lock b/tools/phpstan/composer.lock index 2c893af..e728ed7 100644 --- a/tools/phpstan/composer.lock +++ b/tools/phpstan/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": "e336949195cf29a7238c4e43dfe40227", + "content-hash": "35f310c6cb0db6d941c87935e15a8dc2", "packages": [ { "name": "amphp/amp", @@ -170,16 +170,16 @@ }, { "name": "darkwood/flow", - "version": "v1.2.2", + "version": "dev-1.x-dev", "source": { "type": "git", "url": "https://github.com/darkwood-com/flow.git", - "reference": "af333ff8011c3d0fdac6282d9d3c62c9b8daa52d" + "reference": "ed8cde4de2f4fd1571bfffdb0307bf2f40879560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/darkwood-com/flow/zipball/af333ff8011c3d0fdac6282d9d3c62c9b8daa52d", - "reference": "af333ff8011c3d0fdac6282d9d3c62c9b8daa52d", + "url": "https://api.github.com/repos/darkwood-com/flow/zipball/ed8cde4de2f4fd1571bfffdb0307bf2f40879560", + "reference": "ed8cde4de2f4fd1571bfffdb0307bf2f40879560", "shasum": "" }, "require": { @@ -232,7 +232,7 @@ ], "support": { "issues": "https://github.com/darkwood-com/flow/issues", - "source": "https://github.com/darkwood-com/flow/tree/v1.2.2" + "source": "https://github.com/darkwood-com/flow/tree/1.x-dev" }, "funding": [ { @@ -240,7 +240,7 @@ "type": "github" } ], - "time": "2024-08-30T17:02:58+00:00" + "time": "2024-09-07T19:41:37+00:00" }, { "name": "doctrine/cache", @@ -423,16 +423,16 @@ }, { "name": "doctrine/dbal", - "version": "3.9.0", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", "shasum": "" }, "require": { @@ -448,7 +448,7 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.7", + "phpstan/phpstan": "1.12.0", "phpstan/phpstan-strict-rules": "^1.6", "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", @@ -516,7 +516,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.0" + "source": "https://github.com/doctrine/dbal/tree/3.9.1" }, "funding": [ { @@ -532,7 +532,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T07:34:42+00:00" + "time": "2024-09-01T13:49:23+00:00" }, { "name": "doctrine/deprecations", @@ -583,16 +583,16 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "5418e811a14724068e95e0ba43353b903ada530f" + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/5418e811a14724068e95e0ba43353b903ada530f", - "reference": "5418e811a14724068e95e0ba43353b903ada530f", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/ca59d84b8e63143ce1aed90cdb333ba329d71563", + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563", "shasum": "" }, "require": { @@ -683,7 +683,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.12.0" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.13.0" }, "funding": [ { @@ -699,7 +699,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T07:20:37+00:00" + "time": "2024-09-01T09:46:40+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", @@ -1124,16 +1124,16 @@ }, { "name": "doctrine/migrations", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c" + "reference": "7760fbd0b7cb58bfb50415505a7bab821adf0877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/535a70dcbd88b8c6ba945be050977457f4f4c06c", - "reference": "535a70dcbd88b8c6ba945be050977457f4f4c06c", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/7760fbd0b7cb58bfb50415505a7bab821adf0877", + "reference": "7760fbd0b7cb58bfb50415505a7bab821adf0877", "shasum": "" }, "require": { @@ -1156,6 +1156,7 @@ "doctrine/persistence": "^2 || ^3", "doctrine/sql-formatter": "^1.0", "ext-pdo_sqlite": "*", + "fig/log-test": "^1", "phpstan/phpstan": "^1.10", "phpstan/phpstan-deprecation-rules": "^1.1", "phpstan/phpstan-phpunit": "^1.3", @@ -1206,7 +1207,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.8.0" + "source": "https://github.com/doctrine/migrations/tree/3.8.1" }, "funding": [ { @@ -1222,20 +1223,20 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:12:46+00:00" + "time": "2024-08-28T13:17:28+00:00" }, { "name": "doctrine/orm", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5" + "reference": "831a1eb7d260925528cdbb49cc1866c0357cf147" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/722cea6536775206e81744542b36fa7c9a4ea3e5", - "reference": "722cea6536775206e81744542b36fa7c9a4ea3e5", + "url": "https://api.github.com/repos/doctrine/orm/zipball/831a1eb7d260925528cdbb49cc1866c0357cf147", + "reference": "831a1eb7d260925528cdbb49cc1866c0357cf147", "shasum": "" }, "require": { @@ -1308,9 +1309,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/3.2.1" + "source": "https://github.com/doctrine/orm/tree/3.2.2" }, - "time": "2024-06-26T21:48:58+00:00" + "time": "2024-08-23T10:03:52+00:00" }, { "name": "doctrine/persistence", @@ -2003,16 +2004,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.29.1", + "version": "1.30.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" + "reference": "51b95ec8670af41009e2b2b56873bad96682413e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51b95ec8670af41009e2b2b56873bad96682413e", + "reference": "51b95ec8670af41009e2b2b56873bad96682413e", "shasum": "" }, "require": { @@ -2044,9 +2045,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.1" }, - "time": "2024-05-31T08:52:43+00:00" + "time": "2024-09-07T20:13:05+00:00" }, { "name": "psr/cache", @@ -2306,16 +2307,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "79dff0b268932c640297f5208d6298f71855c03e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", + "reference": "79dff0b268932c640297f5208d6298f71855c03e", "shasum": "" }, "require": { @@ -2350,9 +2351,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.1" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-08-21T13:31:24+00:00" }, { "name": "react/async", @@ -2784,16 +2785,16 @@ }, { "name": "symfony/asset-mapper", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/asset-mapper.git", - "reference": "b496ba0c1ca69abbbc2413b853decad2eed9a74b" + "reference": "a6070274d8ccc1272a24b7851e96368a9f9c5755" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/b496ba0c1ca69abbbc2413b853decad2eed9a74b", - "reference": "b496ba0c1ca69abbbc2413b853decad2eed9a74b", + "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/a6070274d8ccc1272a24b7851e96368a9f9c5755", + "reference": "a6070274d8ccc1272a24b7851e96368a9f9c5755", "shasum": "" }, "require": { @@ -2843,7 +2844,7 @@ "description": "Maps directories of assets & makes them available in a public directory with versioned filenames.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset-mapper/tree/v7.1.3" + "source": "https://github.com/symfony/asset-mapper/tree/v7.1.4" }, "funding": [ { @@ -2859,7 +2860,7 @@ "type": "tidelift" } ], - "time": "2024-07-09T19:36:07+00:00" + "time": "2024-08-26T06:32:37+00:00" }, { "name": "symfony/browser-kit", @@ -2931,16 +2932,16 @@ }, { "name": "symfony/cache", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "8ac37acee794372f9732fe8a61a8221f6762148e" + "reference": "b61e464d7687bb7e8f677d5031c632bf3820df18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/8ac37acee794372f9732fe8a61a8221f6762148e", - "reference": "8ac37acee794372f9732fe8a61a8221f6762148e", + "url": "https://api.github.com/repos/symfony/cache/zipball/b61e464d7687bb7e8f677d5031c632bf3820df18", + "reference": "b61e464d7687bb7e8f677d5031c632bf3820df18", "shasum": "" }, "require": { @@ -3008,7 +3009,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.1.3" + "source": "https://github.com/symfony/cache/tree/v7.1.4" }, "funding": [ { @@ -3024,7 +3025,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/cache-contracts", @@ -3253,16 +3254,16 @@ }, { "name": "symfony/console", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9" + "reference": "1eed7af6961d763e7832e874d7f9b21c3ea9c111" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9", - "reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9", + "url": "https://api.github.com/repos/symfony/console/zipball/1eed7af6961d763e7832e874d7f9b21c3ea9c111", + "reference": "1eed7af6961d763e7832e874d7f9b21c3ea9c111", "shasum": "" }, "require": { @@ -3326,7 +3327,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.3" + "source": "https://github.com/symfony/console/tree/v7.1.4" }, "funding": [ { @@ -3342,20 +3343,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-15T22:48:53+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "8126f0be4ff984e4db0140e60917900a53facb49" + "reference": "5320e0bc2c9e2d7450bb4091e497a305a68b28ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8126f0be4ff984e4db0140e60917900a53facb49", - "reference": "8126f0be4ff984e4db0140e60917900a53facb49", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5320e0bc2c9e2d7450bb4091e497a305a68b28ed", + "reference": "5320e0bc2c9e2d7450bb4091e497a305a68b28ed", "shasum": "" }, "require": { @@ -3406,7 +3407,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.1.3" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.4" }, "funding": [ { @@ -3422,7 +3423,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T07:35:39+00:00" + "time": "2024-08-29T08:16:25+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3493,16 +3494,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "b526822483124b62ff3cda14237418408f444e4d" + "reference": "5c31b278a52023970f4ef398e42ab9048483abfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b526822483124b62ff3cda14237418408f444e4d", - "reference": "b526822483124b62ff3cda14237418408f444e4d", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/5c31b278a52023970f4ef398e42ab9048483abfa", + "reference": "5c31b278a52023970f4ef398e42ab9048483abfa", "shasum": "" }, "require": { @@ -3581,7 +3582,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.3" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.4" }, "funding": [ { @@ -3597,20 +3598,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-13T10:29:23+00:00" }, { "name": "symfony/doctrine-messenger", - "version": "v7.1.2", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-messenger.git", - "reference": "64e2195442df86a7a0c85a77162d0247601e9da9" + "reference": "7f2a9262d7af3f892e49382b918e991af2ae0738" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/64e2195442df86a7a0c85a77162d0247601e9da9", - "reference": "64e2195442df86a7a0c85a77162d0247601e9da9", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/7f2a9262d7af3f892e49382b918e991af2ae0738", + "reference": "7f2a9262d7af3f892e49382b918e991af2ae0738", "shasum": "" }, "require": { @@ -3653,7 +3654,7 @@ "description": "Symfony Doctrine Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-messenger/tree/v7.1.2" + "source": "https://github.com/symfony/doctrine-messenger/tree/v7.1.4" }, "funding": [ { @@ -3669,7 +3670,7 @@ "type": "tidelift" } ], - "time": "2024-06-20T15:47:37+00:00" + "time": "2024-08-30T07:19:54+00:00" }, { "name": "symfony/dom-crawler", @@ -4045,16 +4046,16 @@ }, { "name": "symfony/expression-language", - "version": "v7.1.1", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "463cb95f80c14136175f4e03f7f6199b01c6b8b4" + "reference": "b9e4bc6685d513c10235145ed1042a6081635806" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/463cb95f80c14136175f4e03f7f6199b01c6b8b4", - "reference": "463cb95f80c14136175f4e03f7f6199b01c6b8b4", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/b9e4bc6685d513c10235145ed1042a6081635806", + "reference": "b9e4bc6685d513c10235145ed1042a6081635806", "shasum": "" }, "require": { @@ -4089,7 +4090,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v7.1.1" + "source": "https://github.com/symfony/expression-language/tree/v7.1.4" }, "funding": [ { @@ -4105,7 +4106,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/filesystem", @@ -4175,16 +4176,16 @@ }, { "name": "symfony/finder", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "717c6329886f32dc65e27461f80f2a465412fdca" + "reference": "d95bbf319f7d052082fb7af147e0f835a695e823" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/717c6329886f32dc65e27461f80f2a465412fdca", - "reference": "717c6329886f32dc65e27461f80f2a465412fdca", + "url": "https://api.github.com/repos/symfony/finder/zipball/d95bbf319f7d052082fb7af147e0f835a695e823", + "reference": "d95bbf319f7d052082fb7af147e0f835a695e823", "shasum": "" }, "require": { @@ -4219,7 +4220,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.1.3" + "source": "https://github.com/symfony/finder/tree/v7.1.4" }, "funding": [ { @@ -4235,7 +4236,7 @@ "type": "tidelift" } ], - "time": "2024-07-24T07:08:44+00:00" + "time": "2024-08-13T14:28:19+00:00" }, { "name": "symfony/flex", @@ -4304,16 +4305,16 @@ }, { "name": "symfony/form", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "11df2e2e142161824eb341e96cbb3c56c3bb57dc" + "reference": "3018ad169ea7532eec19e001f2c9f049ff051bd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/11df2e2e142161824eb341e96cbb3c56c3bb57dc", - "reference": "11df2e2e142161824eb341e96cbb3c56c3bb57dc", + "url": "https://api.github.com/repos/symfony/form/zipball/3018ad169ea7532eec19e001f2c9f049ff051bd6", + "reference": "3018ad169ea7532eec19e001f2c9f049ff051bd6", "shasum": "" }, "require": { @@ -4381,7 +4382,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v7.1.3" + "source": "https://github.com/symfony/form/tree/v7.1.4" }, "funding": [ { @@ -4397,20 +4398,20 @@ "type": "tidelift" } ], - "time": "2024-07-19T08:30:01+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/framework-bundle", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "a32ec544bd501eb4619eb977860ad3076ee55061" + "reference": "711af4eefcb4054a9c93e44b403626e1826bcddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a32ec544bd501eb4619eb977860ad3076ee55061", - "reference": "a32ec544bd501eb4619eb977860ad3076ee55061", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/711af4eefcb4054a9c93e44b403626e1826bcddd", + "reference": "711af4eefcb4054a9c93e44b403626e1826bcddd", "shasum": "" }, "require": { @@ -4528,7 +4529,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v7.1.3" + "source": "https://github.com/symfony/framework-bundle/tree/v7.1.4" }, "funding": [ { @@ -4544,20 +4545,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T13:24:34+00:00" + "time": "2024-08-11T16:10:02+00:00" }, { "name": "symfony/http-client", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "b79858aa7a051ea791b0d50269a234a0b50cb231" + "reference": "a8f8d60b30b331cf4b743b3632e5acdba3f8285c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/b79858aa7a051ea791b0d50269a234a0b50cb231", - "reference": "b79858aa7a051ea791b0d50269a234a0b50cb231", + "url": "https://api.github.com/repos/symfony/http-client/zipball/a8f8d60b30b331cf4b743b3632e5acdba3f8285c", + "reference": "a8f8d60b30b331cf4b743b3632e5acdba3f8285c", "shasum": "" }, "require": { @@ -4622,7 +4623,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.1.3" + "source": "https://github.com/symfony/http-client/tree/v7.1.4" }, "funding": [ { @@ -4638,7 +4639,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-26T06:32:37+00:00" }, { "name": "symfony/http-client-contracts", @@ -4797,16 +4798,16 @@ }, { "name": "symfony/http-kernel", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186" + "reference": "6efcbd1b3f444f631c386504fc83eeca25963747" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/db9702f3a04cc471ec8c70e881825db26ac5f186", - "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6efcbd1b3f444f631c386504fc83eeca25963747", + "reference": "6efcbd1b3f444f631c386504fc83eeca25963747", "shasum": "" }, "require": { @@ -4891,7 +4892,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.1.3" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.4" }, "funding": [ { @@ -4907,7 +4908,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T14:58:15+00:00" + "time": "2024-08-30T17:02:28+00:00" }, { "name": "symfony/intl", @@ -5077,16 +5078,16 @@ }, { "name": "symfony/messenger", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "604e182a7758ceea35921a8ad5dd492a6e13bae4" + "reference": "e1dc743492ff9f1cfb23e6eea3592bf2ec9bd079" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/604e182a7758ceea35921a8ad5dd492a6e13bae4", - "reference": "604e182a7758ceea35921a8ad5dd492a6e13bae4", + "url": "https://api.github.com/repos/symfony/messenger/zipball/e1dc743492ff9f1cfb23e6eea3592bf2ec9bd079", + "reference": "e1dc743492ff9f1cfb23e6eea3592bf2ec9bd079", "shasum": "" }, "require": { @@ -5143,7 +5144,7 @@ "description": "Helps applications send and receive messages to/from other applications or via message queues", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/messenger/tree/v7.1.3" + "source": "https://github.com/symfony/messenger/tree/v7.1.4" }, "funding": [ { @@ -5159,20 +5160,20 @@ "type": "tidelift" } ], - "time": "2024-07-09T19:36:07+00:00" + "time": "2024-08-06T14:26:51+00:00" }, { "name": "symfony/mime", - "version": "v7.1.2", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc" + "reference": "ccaa6c2503db867f472a587291e764d6a1e58758" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/26a00b85477e69a4bab63b66c5dce64f18b0cbfc", - "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc", + "url": "https://api.github.com/repos/symfony/mime/zipball/ccaa6c2503db867f472a587291e764d6a1e58758", + "reference": "ccaa6c2503db867f472a587291e764d6a1e58758", "shasum": "" }, "require": { @@ -5227,7 +5228,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.1.2" + "source": "https://github.com/symfony/mime/tree/v7.1.4" }, "funding": [ { @@ -5243,7 +5244,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T10:03:55+00:00" + "time": "2024-08-13T14:28:19+00:00" }, { "name": "symfony/monolog-bridge", @@ -5406,16 +5407,16 @@ }, { "name": "symfony/notifier", - "version": "v7.1.2", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/notifier.git", - "reference": "17079e564159b77f5314b7130a7516677afc075e" + "reference": "9f40de736910e5191607d2546e5543cbbb3a77dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/notifier/zipball/17079e564159b77f5314b7130a7516677afc075e", - "reference": "17079e564159b77f5314b7130a7516677afc075e", + "url": "https://api.github.com/repos/symfony/notifier/zipball/9f40de736910e5191607d2546e5543cbbb3a77dc", + "reference": "9f40de736910e5191607d2546e5543cbbb3a77dc", "shasum": "" }, "require": { @@ -5464,7 +5465,7 @@ "notifier" ], "support": { - "source": "https://github.com/symfony/notifier/tree/v7.1.2" + "source": "https://github.com/symfony/notifier/tree/v7.1.4" }, "funding": [ { @@ -5480,7 +5481,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/options-resolver", @@ -6564,16 +6565,16 @@ }, { "name": "symfony/property-access", - "version": "v7.1.1", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "74e39e6a6276b8e384f34c6ddbc10a6c9a60193a" + "reference": "6c709f97103355016e5782d0622437ae381012ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/74e39e6a6276b8e384f34c6ddbc10a6c9a60193a", - "reference": "74e39e6a6276b8e384f34c6ddbc10a6c9a60193a", + "url": "https://api.github.com/repos/symfony/property-access/zipball/6c709f97103355016e5782d0622437ae381012ad", + "reference": "6c709f97103355016e5782d0622437ae381012ad", "shasum": "" }, "require": { @@ -6620,7 +6621,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v7.1.1" + "source": "https://github.com/symfony/property-access/tree/v7.1.4" }, "funding": [ { @@ -6636,7 +6637,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-08-30T16:12:47+00:00" }, { "name": "symfony/property-info", @@ -6724,16 +6725,16 @@ }, { "name": "symfony/routing", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0" + "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", - "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", + "url": "https://api.github.com/repos/symfony/routing/zipball/1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", + "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", "shasum": "" }, "require": { @@ -6785,7 +6786,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.3" + "source": "https://github.com/symfony/routing/tree/v7.1.4" }, "funding": [ { @@ -6801,7 +6802,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-29T08:16:25+00:00" }, { "name": "symfony/runtime", @@ -6884,16 +6885,16 @@ }, { "name": "symfony/security-bundle", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "4f77a89e21c2e700b5fbbf3c1eccd71b9a5d69ad" + "reference": "5e10107856ff64d477c61fed7bcbb8a16125ea01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/4f77a89e21c2e700b5fbbf3c1eccd71b9a5d69ad", - "reference": "4f77a89e21c2e700b5fbbf3c1eccd71b9a5d69ad", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/5e10107856ff64d477c61fed7bcbb8a16125ea01", + "reference": "5e10107856ff64d477c61fed7bcbb8a16125ea01", "shasum": "" }, "require": { @@ -6902,7 +6903,7 @@ "php": ">=8.2", "symfony/clock": "^6.4|^7.0", "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4.11|^7.1.4", "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", @@ -6970,7 +6971,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v7.1.3" + "source": "https://github.com/symfony/security-bundle/tree/v7.1.4" }, "funding": [ { @@ -6986,20 +6987,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T07:24:20+00:00" + "time": "2024-08-20T11:38:55+00:00" }, { "name": "symfony/security-core", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "aa4f432586a129017ce0ba34e2b1bfe6babfe8c7" + "reference": "f5ccd9d005993e5ff7251e57fe4a0615c8535866" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/aa4f432586a129017ce0ba34e2b1bfe6babfe8c7", - "reference": "aa4f432586a129017ce0ba34e2b1bfe6babfe8c7", + "url": "https://api.github.com/repos/symfony/security-core/zipball/f5ccd9d005993e5ff7251e57fe4a0615c8535866", + "reference": "f5ccd9d005993e5ff7251e57fe4a0615c8535866", "shasum": "" }, "require": { @@ -7056,7 +7057,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v7.1.3" + "source": "https://github.com/symfony/security-core/tree/v7.1.4" }, "funding": [ { @@ -7072,7 +7073,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-29T08:16:25+00:00" }, { "name": "symfony/security-csrf", @@ -7144,16 +7145,16 @@ }, { "name": "symfony/security-http", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "19f07b6530dbb82017c38ee7582b154f5c42b179" + "reference": "acd1ecc807b76b9bdefe53168c3a52a11205fc20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/19f07b6530dbb82017c38ee7582b154f5c42b179", - "reference": "19f07b6530dbb82017c38ee7582b154f5c42b179", + "url": "https://api.github.com/repos/symfony/security-http/zipball/acd1ecc807b76b9bdefe53168c3a52a11205fc20", + "reference": "acd1ecc807b76b9bdefe53168c3a52a11205fc20", "shasum": "" }, "require": { @@ -7212,7 +7213,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v7.1.3" + "source": "https://github.com/symfony/security-http/tree/v7.1.4" }, "funding": [ { @@ -7228,20 +7229,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T07:24:20+00:00" + "time": "2024-08-15T22:52:38+00:00" }, { "name": "symfony/serializer", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09" + "reference": "0158b0e91b7cf7e744a6fb9acaeb613d1ca40dbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", - "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", + "url": "https://api.github.com/repos/symfony/serializer/zipball/0158b0e91b7cf7e744a6fb9acaeb613d1ca40dbb", + "reference": "0158b0e91b7cf7e744a6fb9acaeb613d1ca40dbb", "shasum": "" }, "require": { @@ -7309,7 +7310,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v7.1.3" + "source": "https://github.com/symfony/serializer/tree/v7.1.4" }, "funding": [ { @@ -7325,7 +7326,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-22T09:39:57+00:00" }, { "name": "symfony/service-contracts", @@ -7543,16 +7544,16 @@ }, { "name": "symfony/string", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ea272a882be7f20cad58d5d78c215001617b7f07" + "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07", - "reference": "ea272a882be7f20cad58d5d78c215001617b7f07", + "url": "https://api.github.com/repos/symfony/string/zipball/6cd670a6d968eaeb1c77c2e76091c45c56bc367b", + "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b", "shasum": "" }, "require": { @@ -7610,7 +7611,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.3" + "source": "https://github.com/symfony/string/tree/v7.1.4" }, "funding": [ { @@ -7626,7 +7627,7 @@ "type": "tidelift" } ], - "time": "2024-07-22T10:25:37+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/translation", @@ -7802,16 +7803,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v7.1.1", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "96e6e12a63db80bcedefc012042d2cb2d1a015f8" + "reference": "2db32cfe8fc57797908ef0bee232b90dbe42af66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/96e6e12a63db80bcedefc012042d2cb2d1a015f8", - "reference": "96e6e12a63db80bcedefc012042d2cb2d1a015f8", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/2db32cfe8fc57797908ef0bee232b90dbe42af66", + "reference": "2db32cfe8fc57797908ef0bee232b90dbe42af66", "shasum": "" }, "require": { @@ -7891,7 +7892,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v7.1.1" + "source": "https://github.com/symfony/twig-bridge/tree/v7.1.4" }, "funding": [ { @@ -7907,7 +7908,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-08-29T08:16:25+00:00" }, { "name": "symfony/twig-bundle", @@ -8077,16 +8078,16 @@ }, { "name": "symfony/ux-turbo", - "version": "v2.19.0", + "version": "v2.19.3", "source": { "type": "git", "url": "https://github.com/symfony/ux-turbo.git", - "reference": "abfee7181ce8b71f9a2447cdf9c562ed719a0e3e" + "reference": "4a38f267193017958d487171c0a86e64f36164a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/abfee7181ce8b71f9a2447cdf9c562ed719a0e3e", - "reference": "abfee7181ce8b71f9a2447cdf9c562ed719a0e3e", + "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/4a38f267193017958d487171c0a86e64f36164a3", + "reference": "4a38f267193017958d487171c0a86e64f36164a3", "shasum": "" }, "require": { @@ -8154,7 +8155,7 @@ "turbo-stream" ], "support": { - "source": "https://github.com/symfony/ux-turbo/tree/v2.19.0" + "source": "https://github.com/symfony/ux-turbo/tree/v2.19.3" }, "funding": [ { @@ -8170,20 +8171,20 @@ "type": "tidelift" } ], - "time": "2024-07-30T16:00:35+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/validator", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "ba711a6cfc008544dad059abb3c1d997f1472237" + "reference": "0d7e0dfd41702d6b9356214b76110421c1e74368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/ba711a6cfc008544dad059abb3c1d997f1472237", - "reference": "ba711a6cfc008544dad059abb3c1d997f1472237", + "url": "https://api.github.com/repos/symfony/validator/zipball/0d7e0dfd41702d6b9356214b76110421c1e74368", + "reference": "0d7e0dfd41702d6b9356214b76110421c1e74368", "shasum": "" }, "require": { @@ -8251,7 +8252,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.3" + "source": "https://github.com/symfony/validator/tree/v7.1.4" }, "funding": [ { @@ -8267,20 +8268,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-30T15:58:06+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f" + "reference": "a5fa7481b199090964d6fd5dab6294d5a870c7aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86af4617cca75a6e28598f49ae0690f3b9d4591f", - "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a5fa7481b199090964d6fd5dab6294d5a870c7aa", + "reference": "a5fa7481b199090964d6fd5dab6294d5a870c7aa", "shasum": "" }, "require": { @@ -8334,7 +8335,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.4" }, "funding": [ { @@ -8350,7 +8351,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-30T16:12:47+00:00" }, { "name": "symfony/var-exporter", @@ -8513,16 +8514,16 @@ }, { "name": "symfony/yaml", - "version": "v7.1.1", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2" + "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/92e080b851c1c655c786a2da77f188f2dccd0f4b", + "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b", "shasum": "" }, "require": { @@ -8564,7 +8565,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.1" + "source": "https://github.com/symfony/yaml/tree/v7.1.4" }, "funding": [ { @@ -8580,27 +8581,27 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "twig/extra-bundle", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03" + "reference": "21a9a7aa9f79d4493bb6fed4eb2794339f9551f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/bf8a304eac15838d7724fdf64c345bdefbb75f03", - "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/21a9a7aa9f79d4493bb6fed4eb2794339f9551f5", + "reference": "21a9a7aa9f79d4493bb6fed4eb2794339f9551f5", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/framework-bundle": "^5.4|^6.4|^7.0", "symfony/twig-bundle": "^5.4|^6.4|^7.0", - "twig/twig": "^3.0" + "twig/twig": "^3.0|^4.0" }, "require-dev": { "league/commonmark": "^1.0|^2.0", @@ -8642,7 +8643,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.11.0" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.13.0" }, "funding": [ { @@ -8654,28 +8655,27 @@ "type": "tidelift" } ], - "time": "2024-06-21T06:25:01+00:00" + "time": "2024-09-01T20:39:12+00:00" }, { "name": "twig/twig", - "version": "v3.11.0", + "version": "v3.13.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d" + "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", - "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/afc0eb63dc66c248c5a94504dc2b255bc9b86575", + "reference": "afc0eb63dc66c248c5a94504dc2b255bc9b86575", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22", "symfony/polyfill-php81": "^1.29" }, "require-dev": { @@ -8722,7 +8722,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.11.0" + "source": "https://github.com/twigphp/Twig/tree/v3.13.0" }, "funding": [ { @@ -8734,7 +8734,7 @@ "type": "tidelift" } ], - "time": "2024-08-08T16:15:16+00:00" + "time": "2024-09-07T08:01:12+00:00" }, { "name": "webmozart/assert", @@ -9073,16 +9073,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.11.10", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "640410b32995914bde3eed26fa89552f9c2c082f" + "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/640410b32995914bde3eed26fa89552f9c2c082f", - "reference": "640410b32995914bde3eed26fa89552f9c2c082f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", + "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", "shasum": "" }, "require": { @@ -9127,36 +9127,36 @@ "type": "github" } ], - "time": "2024-08-08T09:02:50+00:00" + "time": "2024-09-05T16:09:28+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "10.1.15", + "version": "10.1.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae" + "reference": "7e308268858ed6baedc8704a304727d20bc07c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", - "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-text-template": "^3.0.1", + "sebastian/code-unit-reverse-lookup": "^3.0.0", + "sebastian/complexity": "^3.2.0", + "sebastian/environment": "^6.1.0", + "sebastian/lines-of-code": "^2.0.2", + "sebastian/version": "^4.0.1", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^10.1" @@ -9168,7 +9168,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.1.x-dev" } }, "autoload": { @@ -9197,7 +9197,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" }, "funding": [ { @@ -9205,7 +9205,7 @@ "type": "github" } ], - "time": "2024-06-29T08:25:15+00:00" + "time": "2024-08-22T04:31:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -9452,16 +9452,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.30", + "version": "10.5.32", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b15524febac0153876b4ba9aab3326c2ee94c897" + "reference": "f069f46840445d37a4e6f0de8c5879598f9c4327" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b15524febac0153876b4ba9aab3326c2ee94c897", - "reference": "b15524febac0153876b4ba9aab3326c2ee94c897", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f069f46840445d37a4e6f0de8c5879598f9c4327", + "reference": "f069f46840445d37a4e6f0de8c5879598f9c4327", "shasum": "" }, "require": { @@ -9475,7 +9475,7 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-code-coverage": "^10.1.16", "phpunit/php-file-iterator": "^4.1.0", "phpunit/php-invoker": "^4.0.0", "phpunit/php-text-template": "^3.0.1", @@ -9533,7 +9533,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.30" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.32" }, "funding": [ { @@ -9549,7 +9549,7 @@ "type": "tidelift" } ], - "time": "2024-08-13T06:09:37+00:00" + "time": "2024-09-04T13:33:39+00:00" }, { "name": "sebastian/cli-parser", @@ -10608,16 +10608,16 @@ }, { "name": "symfony/maker-bundle", - "version": "v1.60.0", + "version": "v1.61.0", "source": { "type": "git", "url": "https://github.com/symfony/maker-bundle.git", - "reference": "c305a02a22974670f359d4274c9431e1a191f559" + "reference": "a3b7f14d349f8f44ed752d4dde2263f77510cc18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/c305a02a22974670f359d4274c9431e1a191f559", - "reference": "c305a02a22974670f359d4274c9431e1a191f559", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/a3b7f14d349f8f44ed752d4dde2263f77510cc18", + "reference": "a3b7f14d349f8f44ed752d4dde2263f77510cc18", "shasum": "" }, "require": { @@ -10680,7 +10680,7 @@ ], "support": { "issues": "https://github.com/symfony/maker-bundle/issues", - "source": "https://github.com/symfony/maker-bundle/tree/v1.60.0" + "source": "https://github.com/symfony/maker-bundle/tree/v1.61.0" }, "funding": [ { @@ -10696,20 +10696,20 @@ "type": "tidelift" } ], - "time": "2024-06-10T06:03:18+00:00" + "time": "2024-08-29T22:50:23+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "e823122d31935eb711e2767c31f3d71cb0b87fb1" + "reference": "e876eb90e32a8fc4c4911d458e09f88d65877d1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e823122d31935eb711e2767c31f3d71cb0b87fb1", - "reference": "e823122d31935eb711e2767c31f3d71cb0b87fb1", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e876eb90e32a8fc4c4911d458e09f88d65877d1c", + "reference": "e876eb90e32a8fc4c4911d458e09f88d65877d1c", "shasum": "" }, "require": { @@ -10762,7 +10762,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.3" + "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.4" }, "funding": [ { @@ -10778,20 +10778,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-13T14:28:19+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "b9357f73d2c14dcd36783a67386f510654828668" + "reference": "3cfc775277a8f2dacdd0f72d196bc87b272a763f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/b9357f73d2c14dcd36783a67386f510654828668", - "reference": "b9357f73d2c14dcd36783a67386f510654828668", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/3cfc775277a8f2dacdd0f72d196bc87b272a763f", + "reference": "3cfc775277a8f2dacdd0f72d196bc87b272a763f", "shasum": "" }, "require": { @@ -10843,7 +10843,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.3" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.4" }, "funding": [ { @@ -10859,7 +10859,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "theseer/tokenizer", @@ -10914,7 +10914,9 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "darkwood/flow": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": {