diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 60caa3d1a37..863ec1e4a92 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -37,7 +37,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.3' + php-version: '8.4' extensions: intl, xdebug tools: composer:v2, cs2pr @@ -99,7 +99,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.3' + php-version: '8.4' extensions: intl, xdebug tools: composer:v2, cs2pr diff --git a/Dockerfile b/Dockerfile index a5be9e17e06..f974916b683 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ COPY --from=icecast /usr/local/share/icecast /usr/local/share/icecast # # Final build image # -FROM php:8.3-fpm-bookworm AS pre-final +FROM php:8.4-fpm-bookworm AS pre-final ENV TZ="UTC" \ LANGUAGE="en_US.UTF-8" \ diff --git a/backend/src/Acl.php b/backend/src/Acl.php index ea2c971d255..986234b02e7 100644 --- a/backend/src/Acl.php +++ b/backend/src/Acl.php @@ -196,24 +196,12 @@ public function roleAllowed( // Iterate through an array of roles and return with the first "true" response, or "false" otherwise. if (is_array($roleId)) { - foreach ($roleId as $r) { - if ($this->roleAllowed($r, $action, $stationId)) { - return true; - } - } - - return false; + return array_any($roleId, fn($r) => $this->roleAllowed($r, $action, $stationId)); } // If multiple actions are supplied, treat the list as "x OR y OR z", returning if any action is allowed. if (is_array($action)) { - foreach ($action as $a) { - if ($this->roleAllowed($roleId, $a, $stationId)) { - return true; - } - } - - return false; + return array_any($action, fn($a) => $this->roleAllowed($roleId, $a, $stationId)); } if (!empty($this->actions[$roleId])) { diff --git a/backend/src/Controller/Frontend/PublicPages/PlayerAction.php b/backend/src/Controller/Frontend/PublicPages/PlayerAction.php index 3a07b7e3736..35ad04cd3a9 100644 --- a/backend/src/Controller/Frontend/PublicPages/PlayerAction.php +++ b/backend/src/Controller/Frontend/PublicPages/PlayerAction.php @@ -81,10 +81,9 @@ public function __invoke( // Auto-redirect requests from players to the playlist (PLS) download. $userAgent = strtolower($request->getHeaderLine('User-Agent')); $players = ['mpv', 'player', 'vlc', 'applecoremedia']; - foreach ($players as $player) { - if (str_contains($userAgent, $player)) { - return $response->withRedirect($props['downloadPlaylistUri']); - } + + if (array_any($players, fn($player) => str_contains($userAgent, $player))) { + return $response->withRedirect($props['downloadPlaylistUri']); } // Render full page player. diff --git a/backend/src/Entity/Repository/StationRequestRepository.php b/backend/src/Entity/Repository/StationRequestRepository.php index 1f8239f888b..db294b34b98 100644 --- a/backend/src/Entity/Repository/StationRequestRepository.php +++ b/backend/src/Entity/Repository/StationRequestRepository.php @@ -95,14 +95,11 @@ public function getNextPlayableRequest( )->setParameter('station', $station) ->execute(); - foreach ($requests as $request) { - /** @var StationRequest $request */ - if ($request->shouldPlayNow($now) && !$this->hasPlayedRecently($request->getTrack(), $station)) { - return $request; - } - } - - return null; + return array_find( + $requests, + fn(StationRequest $request) => $request->shouldPlayNow($now) + && !$this->hasPlayedRecently($request->getTrack(), $station) + ); } /** diff --git a/backend/src/Flysystem/StationFilesystems.php b/backend/src/Flysystem/StationFilesystems.php index dc70e5e277f..5357b537a1c 100644 --- a/backend/src/Flysystem/StationFilesystems.php +++ b/backend/src/Flysystem/StationFilesystems.php @@ -101,12 +101,6 @@ public static function buildLocalFilesystemForPath( public static function isDotFile(string $path): bool { $pathParts = explode('/', $path); - foreach ($pathParts as $part) { - if (str_starts_with($part, '.')) { - return true; - } - } - - return false; + return array_any($pathParts, fn($part) => str_starts_with($part, '.')); } } diff --git a/backend/src/Radio/AutoDJ/Scheduler.php b/backend/src/Radio/AutoDJ/Scheduler.php index c886dadcab8..66203caa250 100644 --- a/backend/src/Radio/AutoDJ/Scheduler.php +++ b/backend/src/Radio/AutoDJ/Scheduler.php @@ -283,13 +283,10 @@ public function shouldSchedulePlayNow( ); } - foreach ($comparePeriods as $dateRange) { - if ($this->shouldPlayInSchedulePeriod($schedule, $dateRange, $now, $excludeSpecialRules)) { - return true; - } - } - - return false; + return array_any( + $comparePeriods, + fn($dateRange) => $this->shouldPlayInSchedulePeriod($schedule, $dateRange, $now, $excludeSpecialRules) + ); } private function shouldPlayInSchedulePeriod( diff --git a/backend/src/Radio/Frontend/Blocklist/BlocklistParser.php b/backend/src/Radio/Frontend/Blocklist/BlocklistParser.php index aecb716d795..40b68156c17 100644 --- a/backend/src/Radio/Frontend/Blocklist/BlocklistParser.php +++ b/backend/src/Radio/Frontend/Blocklist/BlocklistParser.php @@ -138,12 +138,9 @@ public function isUserAgentBanned( return false; } - foreach (array_filter(array_map('trim', explode("\n", $bannedUserAgents))) as $userAgent) { - if (fnmatch($userAgent, $listenerUserAgent)) { - return true; - } - } - - return false; + return array_any( + array_filter(array_map('trim', explode("\n", $bannedUserAgents))), + fn($userAgent) => fnmatch($userAgent, $listenerUserAgent) + ); } } diff --git a/backend/src/Webhook/Connector/AbstractConnector.php b/backend/src/Webhook/Connector/AbstractConnector.php index 0f194becb4c..3abab66c7e2 100644 --- a/backend/src/Webhook/Connector/AbstractConnector.php +++ b/backend/src/Webhook/Connector/AbstractConnector.php @@ -67,13 +67,7 @@ protected function webhookShouldTrigger(StationWebhook $webhook, array $triggers return true; } - foreach ($triggers as $trigger) { - if ($webhook->hasTrigger($trigger)) { - return true; - } - } - - return false; + return array_any($triggers, fn($trigger) => $webhook->hasTrigger($trigger)); } protected function getRateLimitTime(StationWebhook $webhook): ?int diff --git a/composer.json b/composer.json index 4055f729a85..9d38038256c 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ } ], "require": { - "php": "^8.3", + "php": "^8.4", "ext-PDO": "*", "ext-curl": "*", "ext-ffi": "*", diff --git a/composer.lock b/composer.lock index e37224bc601..36f0391cbf8 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": "e0598513a6e0cc6b55282626e0640ddd", + "content-hash": "c4ce9addf62560eea7e18a91f04b4a21", "packages": [ { "name": "aws/aws-crt-php", @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.339.0", + "version": "3.339.2", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "41bcd4a555649d276c8fbc0bc1738e59fda2221d" + "reference": "2f4e85dd8466ffe5186887f8f1466a0248c6c094" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/41bcd4a555649d276c8fbc0bc1738e59fda2221d", - "reference": "41bcd4a555649d276c8fbc0bc1738e59fda2221d", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2f4e85dd8466ffe5186887f8f1466a0248c6c094", + "reference": "2f4e85dd8466ffe5186887f8f1466a0248c6c094", "shasum": "" }, "require": { @@ -154,9 +154,9 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.339.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.339.2" }, - "time": "2025-01-27T19:25:50+00:00" + "time": "2025-01-29T19:53:29+00:00" }, { "name": "azuracast/doctrine-entity-normalizer", @@ -2732,32 +2732,32 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.7", + "version": "v2.0.2", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" + "reference": "2e1a362527783bcab6c316aad51bf36c5513ae44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", - "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/2e1a362527783bcab6c316aad51bf36c5513ae44", + "reference": "2e1a362527783bcab6c316aad51bf36c5513ae44", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^8.1" }, "require-dev": { - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.61|^3.0", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2789,7 +2789,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-11-14T18:34:49+00:00" + "time": "2025-01-24T15:42:37+00:00" }, { "name": "lbuchs/webauthn", @@ -4451,20 +4451,20 @@ }, { "name": "php-di/php-di", - "version": "7.0.7", + "version": "7.0.8", "source": { "type": "git", "url": "https://github.com/PHP-DI/PHP-DI.git", - "reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1" + "reference": "98ddc81f8f768a2ad39e4cbe737285eaeabe577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/e87435e3c0e8f22977adc5af0d5cdcc467e15cf1", - "reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1", + "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/98ddc81f8f768a2ad39e4cbe737285eaeabe577a", + "reference": "98ddc81f8f768a2ad39e4cbe737285eaeabe577a", "shasum": "" }, "require": { - "laravel/serializable-closure": "^1.0", + "laravel/serializable-closure": "^1.0 || ^2.0", "php": ">=8.0", "php-di/invoker": "^2.0", "psr/container": "^1.1 || ^2.0" @@ -4476,7 +4476,7 @@ "friendsofphp/php-cs-fixer": "^3", "friendsofphp/proxy-manager-lts": "^1", "mnapoli/phpunit-easymock": "^1.3", - "phpunit/phpunit": "^9.5", + "phpunit/phpunit": "^9.6", "vimeo/psalm": "^4.6" }, "suggest": { @@ -4508,7 +4508,7 @@ ], "support": { "issues": "https://github.com/PHP-DI/PHP-DI/issues", - "source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.7" + "source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.8" }, "funding": [ { @@ -4520,7 +4520,7 @@ "type": "tidelift" } ], - "time": "2024-07-21T15:55:45+00:00" + "time": "2025-01-28T21:02:46+00:00" }, { "name": "php-ffmpeg/php-ffmpeg", @@ -6440,16 +6440,16 @@ }, { "name": "symfony/cache", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20" + "reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/e7e983596b744c4539f31e79b0350a6cf5878a20", - "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20", + "url": "https://api.github.com/repos/symfony/cache/zipball/8d773a575e446de220dca03d600b2d8e1c1c10ec", + "reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec", "shasum": "" }, "require": { @@ -6518,7 +6518,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.2.1" + "source": "https://github.com/symfony/cache/tree/v7.2.3" }, "funding": [ { @@ -6534,7 +6534,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:08:50+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/cache-contracts", @@ -7220,16 +7220,16 @@ }, { "name": "symfony/lock", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "07212a5994a30e3667e95e5b16b2dda0685aff84" + "reference": "4f6e8b0e03e4a76095f7d058d72e72d30d5f59e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/07212a5994a30e3667e95e5b16b2dda0685aff84", - "reference": "07212a5994a30e3667e95e5b16b2dda0685aff84", + "url": "https://api.github.com/repos/symfony/lock/zipball/4f6e8b0e03e4a76095f7d058d72e72d30d5f59e5", + "reference": "4f6e8b0e03e4a76095f7d058d72e72d30d5f59e5", "shasum": "" }, "require": { @@ -7278,7 +7278,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v7.2.0" + "source": "https://github.com/symfony/lock/tree/v7.2.3" }, "funding": [ { @@ -7294,20 +7294,20 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:34:29+00:00" + "time": "2025-01-17T06:59:03+00:00" }, { "name": "symfony/mailer", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc" + "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e4d358702fb66e4c8a2af08e90e7271a62de39cc", - "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc", + "url": "https://api.github.com/repos/symfony/mailer/zipball/f3871b182c44997cf039f3b462af4a48fb85f9d3", + "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3", "shasum": "" }, "require": { @@ -7358,7 +7358,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.2.0" + "source": "https://github.com/symfony/mailer/tree/v7.2.3" }, "funding": [ { @@ -7374,20 +7374,20 @@ "type": "tidelift" } ], - "time": "2024-11-25T15:21:05+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/messenger", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "cc0e820c02a0a887a88ddb52b7c4de4634677ce6" + "reference": "8e5b72deb81e57c8868eb9fe7b1dcb4af694ef10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/cc0e820c02a0a887a88ddb52b7c4de4634677ce6", - "reference": "cc0e820c02a0a887a88ddb52b7c4de4634677ce6", + "url": "https://api.github.com/repos/symfony/messenger/zipball/8e5b72deb81e57c8868eb9fe7b1dcb4af694ef10", + "reference": "8e5b72deb81e57c8868eb9fe7b1dcb4af694ef10", "shasum": "" }, "require": { @@ -7445,7 +7445,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.2.1" + "source": "https://github.com/symfony/messenger/tree/v7.2.3" }, "funding": [ { @@ -7461,20 +7461,20 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:08:50+00:00" + "time": "2025-01-17T10:17:27+00:00" }, { "name": "symfony/mime", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283" + "reference": "2fc3b4bd67e4747e45195bc4c98bea4628476204" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7f9617fcf15cb61be30f8b252695ed5e2bfac283", - "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283", + "url": "https://api.github.com/repos/symfony/mime/zipball/2fc3b4bd67e4747e45195bc4c98bea4628476204", + "reference": "2fc3b4bd67e4747e45195bc4c98bea4628476204", "shasum": "" }, "require": { @@ -7529,7 +7529,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.1" + "source": "https://github.com/symfony/mime/tree/v7.2.3" }, "funding": [ { @@ -7545,7 +7545,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/options-resolver", @@ -7839,16 +7839,16 @@ }, { "name": "symfony/property-access", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "3ae42efba01e45aaedecf5c93c8d6a3ab3a82276" + "reference": "b28732e315d81fbec787f838034de7d6c9b2b902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/3ae42efba01e45aaedecf5c93c8d6a3ab3a82276", - "reference": "3ae42efba01e45aaedecf5c93c8d6a3ab3a82276", + "url": "https://api.github.com/repos/symfony/property-access/zipball/b28732e315d81fbec787f838034de7d6c9b2b902", + "reference": "b28732e315d81fbec787f838034de7d6c9b2b902", "shasum": "" }, "require": { @@ -7895,7 +7895,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v7.2.0" + "source": "https://github.com/symfony/property-access/tree/v7.2.3" }, "funding": [ { @@ -7911,20 +7911,20 @@ "type": "tidelift" } ], - "time": "2024-09-26T12:28:35+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/property-info", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf" + "reference": "dedb118fd588a92f226b390250b384d25f4192fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf", - "reference": "1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf", + "url": "https://api.github.com/repos/symfony/property-info/zipball/dedb118fd588a92f226b390250b384d25f4192fe", + "reference": "dedb118fd588a92f226b390250b384d25f4192fe", "shasum": "" }, "require": { @@ -7935,7 +7935,9 @@ "conflict": { "phpdocumentor/reflection-docblock": "<5.2", "phpdocumentor/type-resolver": "<1.5.1", - "symfony/dependency-injection": "<6.4" + "symfony/cache": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/serializer": "<6.4" }, "require-dev": { "phpdocumentor/reflection-docblock": "^5.2", @@ -7978,7 +7980,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.2.2" + "source": "https://github.com/symfony/property-info/tree/v7.2.3" }, "funding": [ { @@ -7994,7 +7996,7 @@ "type": "tidelift" } ], - "time": "2024-12-31T11:04:50+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/rate-limiter", @@ -8068,16 +8070,16 @@ }, { "name": "symfony/redis-messenger", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/redis-messenger.git", - "reference": "3895c75030984ed99945d2cb89158f11a0e3c4e8" + "reference": "3d55d4930d2783ac2cc80f8338730f0f7a7f80d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/redis-messenger/zipball/3895c75030984ed99945d2cb89158f11a0e3c4e8", - "reference": "3895c75030984ed99945d2cb89158f11a0e3c4e8", + "url": "https://api.github.com/repos/symfony/redis-messenger/zipball/3d55d4930d2783ac2cc80f8338730f0f7a7f80d7", + "reference": "3d55d4930d2783ac2cc80f8338730f0f7a7f80d7", "shasum": "" }, "require": { @@ -8115,7 +8117,7 @@ "description": "Symfony Redis extension Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/redis-messenger/tree/v7.2.0" + "source": "https://github.com/symfony/redis-messenger/tree/v7.2.3" }, "funding": [ { @@ -8131,20 +8133,20 @@ "type": "tidelift" } ], - "time": "2024-11-26T10:00:31+00:00" + "time": "2025-01-07T09:39:55+00:00" }, { "name": "symfony/serializer", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "3f5ed9f5e6c02e3853109190ba38408f5e1d2dd0" + "reference": "320f30beb419ce4f96363ada5e225c41f1ef08ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/3f5ed9f5e6c02e3853109190ba38408f5e1d2dd0", - "reference": "3f5ed9f5e6c02e3853109190ba38408f5e1d2dd0", + "url": "https://api.github.com/repos/symfony/serializer/zipball/320f30beb419ce4f96363ada5e225c41f1ef08ab", + "reference": "320f30beb419ce4f96363ada5e225c41f1ef08ab", "shasum": "" }, "require": { @@ -8213,7 +8215,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.2.0" + "source": "https://github.com/symfony/serializer/tree/v7.2.3" }, "funding": [ { @@ -8229,7 +8231,7 @@ "type": "tidelift" } ], - "time": "2024-11-25T15:21:05+00:00" + "time": "2025-01-29T07:13:55+00:00" }, { "name": "symfony/service-contracts", @@ -8713,16 +8715,16 @@ }, { "name": "symfony/validator", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5c01f00fed258a987ef35f0fefcc069f84111cb4" + "reference": "6faf9f671d522b76ce87e46a1d2d7740b4385c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5c01f00fed258a987ef35f0fefcc069f84111cb4", - "reference": "5c01f00fed258a987ef35f0fefcc069f84111cb4", + "url": "https://api.github.com/repos/symfony/validator/zipball/6faf9f671d522b76ce87e46a1d2d7740b4385c6f", + "reference": "6faf9f671d522b76ce87e46a1d2d7740b4385c6f", "shasum": "" }, "require": { @@ -8790,7 +8792,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.2.2" + "source": "https://github.com/symfony/validator/tree/v7.2.3" }, "funding": [ { @@ -8806,7 +8808,7 @@ "type": "tidelift" } ], - "time": "2024-12-30T18:35:15+00:00" + "time": "2025-01-28T15:51:35+00:00" }, { "name": "symfony/var-exporter", @@ -8886,16 +8888,16 @@ }, { "name": "symfony/yaml", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "099581e99f557e9f16b43c5916c26380b54abb22" + "reference": "ac238f173df0c9c1120f862d0f599e17535a87ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", - "reference": "099581e99f557e9f16b43c5916c26380b54abb22", + "url": "https://api.github.com/repos/symfony/yaml/zipball/ac238f173df0c9c1120f862d0f599e17535a87ec", + "reference": "ac238f173df0c9c1120f862d0f599e17535a87ec", "shasum": "" }, "require": { @@ -8938,7 +8940,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.2.0" + "source": "https://github.com/symfony/yaml/tree/v7.2.3" }, "funding": [ { @@ -8954,7 +8956,7 @@ "type": "tidelift" } ], - "time": "2024-10-23T06:56:12+00:00" + "time": "2025-01-07T12:55:42+00:00" }, { "name": "vlucas/phpdotenv", @@ -11385,16 +11387,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.3", + "version": "11.5.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "30e319e578a7b5da3543073e30002bf82042f701" + "reference": "b9a975972f580c0491f834eb0818ad2b32fd8bba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/30e319e578a7b5da3543073e30002bf82042f701", - "reference": "30e319e578a7b5da3543073e30002bf82042f701", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b9a975972f580c0491f834eb0818ad2b32fd8bba", + "reference": "b9a975972f580c0491f834eb0818ad2b32fd8bba", "shasum": "" }, "require": { @@ -11466,7 +11468,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.5" }, "funding": [ { @@ -11482,7 +11484,7 @@ "type": "tidelift" } ], - "time": "2025-01-13T09:36:00+00:00" + "time": "2025-01-29T14:01:11+00:00" }, { "name": "psy/psysh", @@ -11626,12 +11628,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "43863a277154d140db783fe2ba50166fae26bb2d" + "reference": "a39f409dd81c4cde087ab72b9026c013f09fc492" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/43863a277154d140db783fe2ba50166fae26bb2d", - "reference": "43863a277154d140db783fe2ba50166fae26bb2d", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a39f409dd81c4cde087ab72b9026c013f09fc492", + "reference": "a39f409dd81c4cde087ab72b9026c013f09fc492", "shasum": "" }, "conflict": { @@ -11716,7 +11718,7 @@ "cart2quote/module-quotation-encoded": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", "catfan/medoo": "<1.7.5", - "causal/oidc": "<2.1", + "causal/oidc": "<4", "cecil/cecil": "<7.47.1", "centreon/centreon": "<22.10.15", "cesnet/simplesamlphp-module-proxystatistics": "<3.1", @@ -12118,13 +12120,13 @@ "phpxmlrpc/phpxmlrpc": "<4.9.2", "pi/pi": "<=2.5", "pimcore/admin-ui-classic-bundle": "<1.5.4", - "pimcore/customer-management-framework-bundle": "<4.0.6", + "pimcore/customer-management-framework-bundle": "<4.2.1", "pimcore/data-hub": "<1.2.4", "pimcore/data-importer": "<1.8.9|>=1.9,<1.9.3", "pimcore/demo": "<10.3", "pimcore/ecommerce-framework-bundle": "<1.0.10", "pimcore/perspective-editor": "<1.5.1", - "pimcore/pimcore": "<11.2.4", + "pimcore/pimcore": "<11.2.4|>=11.4.2,<11.5.3", "pixelfed/pixelfed": "<0.11.11", "plotly/plotly.js": "<2.25.2", "pocketmine/bedrock-protocol": "<8.0.2", @@ -12324,7 +12326,7 @@ "truckersmp/phpwhois": "<=4.3.1", "ttskch/pagination-service-provider": "<1", "twbs/bootstrap": "<=3.4.1|>=4,<=4.6.2", - "twig/twig": "<3.11.2|>=3.12,<3.14.1", + "twig/twig": "<3.11.2|>=3.12,<3.14.1|>=3.16,<3.19", "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<10.4.46|>=11,<11.5.40|>=12,<12.4.21|>=13,<13.3.1", "typo3/cms-belog": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", @@ -12488,7 +12490,7 @@ "type": "tidelift" } ], - "time": "2025-01-27T21:04:44+00:00" + "time": "2025-01-29T19:04:15+00:00" }, { "name": "sebastian/cli-parser", @@ -13821,16 +13823,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b" + "reference": "700a880e5089280c7cf3ca1ccf9d9de6630f5d25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b176e1f1f550ef44c94eb971bf92488de08f7c6b", - "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/700a880e5089280c7cf3ca1ccf9d9de6630f5d25", + "reference": "700a880e5089280c7cf3ca1ccf9d9de6630f5d25", "shasum": "" }, "require": { @@ -13868,7 +13870,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.2.0" + "source": "https://github.com/symfony/dom-crawler/tree/v7.2.3" }, "funding": [ { @@ -13884,20 +13886,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T16:15:23+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c" + "reference": "82b478c69745d8878eb60f9a049a4d584996f73a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c", - "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82b478c69745d8878eb60f9a049a4d584996f73a", + "reference": "82b478c69745d8878eb60f9a049a4d584996f73a", "shasum": "" }, "require": { @@ -13951,7 +13953,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.0" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.3" }, "funding": [ { @@ -13967,7 +13969,7 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:48:14+00:00" + "time": "2025-01-17T11:39:41+00:00" }, { "name": "theseer/tokenizer", @@ -14034,7 +14036,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.3", + "php": "^8.4", "ext-pdo": "*", "ext-curl": "*", "ext-ffi": "*",