diff --git a/app/Helpers/Functions/helpers.php b/app/Helpers/Functions/helpers.php index c4ea8d2952..072660f1a1 100644 --- a/app/Helpers/Functions/helpers.php +++ b/app/Helpers/Functions/helpers.php @@ -38,7 +38,6 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Route; use League\CommonMark\GithubFlavoredMarkdownConverter; - use function Safe\json_decode; use function Safe\mb_ord; use function Safe\preg_match; @@ -48,7 +47,7 @@ if (!function_exists('env_default_when_empty')) { /** * @return null|mixed */ - function env_default_when_empty(mixed $value, bool|int|string|null $default = null): mixed + function env_default_when_empty(mixed $value, bool | int | string | null $default = null): mixed { if (null === $value) { return $default; @@ -61,12 +60,69 @@ if (!function_exists('env_default_when_empty')) { } } +if (!function_exists('mime_icon')) { + function mime_icon(string $file): string + { + return match ($file) { + 'application/pdf' => 'bi-file-earmark-pdf', + 'image/webp', + 'image/png', + 'image/jpeg', + 'image/svg+xml', + 'image/heic', + 'image/heic-sequence', + 'application/vnd.oasis.opendocument.image' => 'bi-file-earmark-image', + 'application/msword', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + 'application/x-iwork-pages-sffpages', + 'application/vnd.sun.xml.writer', + 'application/vnd.sun.xml.writer.template', + 'application/vnd.sun.xml.writer.global', + 'application/vnd.stardivision.writer', + 'application/vnd.stardivision.writer-global', + 'application/vnd.oasis.opendocument.text', + 'application/vnd.oasis.opendocument.text-template', + 'application/vnd.oasis.opendocument.text-web', + 'application/vnd.oasis.opendocument.text-master' => 'bi-file-earmark-word', + 'application/vnd.ms-excel', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'application/vnd.sun.xml.calc', + 'application/vnd.sun.xml.calc.template', + 'application/vnd.stardivision.calc', + 'application/vnd.oasis.opendocument.spreadsheet', + 'application/vnd.oasis.opendocument.spreadsheet-template' => 'bi-file-earmark-excel', + 'application/vnd.ms-powerpoint', + 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', + 'application/vnd.sun.xml.impress', + 'application/vnd.sun.xml.impress.template', + 'application/vnd.stardivision.impress', + 'application/vnd.oasis.opendocument.presentation', + 'application/vnd.oasis.opendocument.presentation-template' => 'bi-file-earmark-slides', + 'application/vnd.sun.xml.draw', + 'application/vnd.sun.xml.draw.template', + 'application/vnd.stardivision.draw', + 'application/vnd.oasis.opendocument.chart' => 'bi-file-earmark-easel', + 'application/vnd.oasis.opendocument.graphics', + 'application/vnd.oasis.opendocument.graphics-template', + 'application/vnd.sun.xml.math', + 'application/vnd.stardivision.math', + 'application/vnd.oasis.opendocument.formula', + 'application/vnd.oasis.opendocument.database' => 'bi-file-earmark-rules', + default => 'bi-file-earmark' + }; + } +} + if (!function_exists('parse_markdown')) { function parse_markdown(string $string): string { $converter = new GithubFlavoredMarkdownConverter(['allow_unsafe_links' => false, 'max_nesting_level' => 5, 'html_input' => 'escape']); - return (string) $converter->convert($string); + return (string)$converter->convert($string); } } @@ -110,7 +166,7 @@ if (!function_exists('account_get_meta_field')) { return $result; } } -if(!function_exists('menu_sub_item_active')) { +if (!function_exists('menu_sub_item_active')) { function menu_sub_item_active(string $route, string $objectType): string { $name = Route::getCurrentRoute()->getName() ?? ''; @@ -123,7 +179,7 @@ if(!function_exists('menu_sub_item_active')) { } } -if(!function_exists('menu_item_active_partial')) { +if (!function_exists('menu_item_active_partial')) { function menu_item_active_partial(string $route): string { $name = Route::getCurrentRoute()->getName() ?? ''; @@ -136,8 +192,9 @@ if(!function_exists('menu_item_active_partial')) { } } -if(!function_exists('menu_open_partial')) { - function menu_open_partial(string $route): string { +if (!function_exists('menu_open_partial')) { + function menu_open_partial(string $route): string + { $name = Route::getCurrentRoute()->getName() ?? ''; Log::debug(sprintf('menuOpenPartial("%s" starts with "%s")', $name, $route)); if (str_starts_with($name, $route)) { @@ -152,11 +209,11 @@ if (!function_exists('account_balance')) { function account_balance(Account $account): string { /** @var Carbon $date */ - $date = now(); + $date = now(); // get the date from the current session. If it's in the future, keep `now()`. /** @var Carbon $session */ - $session = clone session('end', today(config('app.timezone'))->endOfMonth()); + $session = clone session('end', today(config('app.timezone'))->endOfMonth()); if ($session->lt($date)) { $date = $session->copy(); $date->endOfDay(); @@ -164,13 +221,13 @@ if (!function_exists('account_balance')) { Log::debug(sprintf('twig balance: Call finalAccountBalance with date/time "%s"', $date->toIso8601String())); // 2025-10-08 replace finalAccountBalance with accountsBalancesOptimized. - $info = Steam::accountsBalancesOptimized(new Collection()->push($account), $date)[$account->id]; + $info = Steam::accountsBalancesOptimized(new Collection()->push($account), $date)[$account->id]; // $info = Steam::finalAccountBalance($account, $date); $currency = Steam::getAccountCurrency($account); $primary = Amount::getPrimaryCurrency(); $convertToPrimary = Amount::convertToPrimary(); $usePrimary = $convertToPrimary && $primary->id !== $currency->id; - $currency ??= $primary; + $currency ??= $primary; $strings = []; foreach ($info as $key => $balance) { if ('balance' === $key) { @@ -206,8 +263,9 @@ if (!function_exists('string_is_equal')) { } } -if(!function_exists('format_amount_by_code')) { - function format_amount_by_code(string $amount, string $code, ?bool $coloured = null): string { +if (!function_exists('format_amount_by_code')) { + function format_amount_by_code(string $amount, string $code, ?bool $coloured = null): string + { $coloured ??= true; try { @@ -222,62 +280,68 @@ if(!function_exists('format_amount_by_code')) { } } -if(!function_exists('format_amount_by_currency')) { - function format_amount_by_currency(TransactionCurrency $currency, string $amount, ?bool $coloured = null): string { +if (!function_exists('format_amount_by_currency')) { + function format_amount_by_currency(TransactionCurrency $currency, string $amount, ?bool $coloured = null): string + { $coloured ??= true; return Amount::formatAnything($currency, $amount, $coloured); } } -if(!function_exists('print_nice_filesize')) { - function print_nice_filesize (int $size): string { +if (!function_exists('print_nice_filesize')) { + function print_nice_filesize(int $size): string + { // less than one GB, more than one MB if ($size < (1024 * 1024 * 2014) && $size >= (1024 * 1024)) { - return round($size / (1024 * 1024), 2).' MB'; + return round($size / (1024 * 1024), 2) . ' MB'; } // less than one MB if ($size < (1024 * 1024)) { - return round($size / 1024, 2).' KB'; + return round($size / 1024, 2) . ' KB'; } - return $size.' bytes'; + return $size . ' bytes'; } } -if(!function_exists('journal_has_meta')) { - function journal_has_meta(int $journalId, string $metaField): bool { +if (!function_exists('journal_has_meta')) { + function journal_has_meta(int $journalId, string $metaField): bool + { $count = DB::table('journal_meta')->where('name', $metaField)->where('transaction_journal_id', $journalId)->whereNull('deleted_at')->count(); return 1 === $count; } } -if(!function_exists('journal_get_meta_field')) { - function journal_get_meta_field (int $journalId, string $metaField) { +if (!function_exists('journal_get_meta_field')) { + function journal_get_meta_field(int $journalId, string $metaField) + { /** @var null|TransactionJournalMeta $entry */ $entry = DB::table('journal_meta')->where('name', $metaField)->where('transaction_journal_id', $journalId)->whereNull('deleted_at')->first(); if (null === $entry) { return ''; } - return json_decode((string) $entry->data, true); + return json_decode((string)$entry->data, true); } } -if(!function_exists('journal_get_meta_date')) { - function journal_get_meta_date (int $journalId, string $metaField): Carbon|CarbonInterface { +if (!function_exists('journal_get_meta_date')) { + function journal_get_meta_date(int $journalId, string $metaField): Carbon | CarbonInterface + { /** @var null|TransactionJournalMeta $entry */ $entry = DB::table('journal_meta')->where('name', $metaField)->where('transaction_journal_id', $journalId)->whereNull('deleted_at')->first(); if (null === $entry) { return today(config('app.timezone')); } - return new Carbon(json_decode((string) $entry->data, false)); + return new Carbon(json_decode((string)$entry->data, false)); } } -if(!function_exists('format_amount_by_account')) { - function format_amount_by_account (Account $account, string $amount, ?bool $coloured = null): string { +if (!function_exists('format_amount_by_account')) { + function format_amount_by_account(Account $account, string $amount, ?bool $coloured = null): string + { $coloured ??= true; /** @var AccountRepositoryInterface $accountRepos */ @@ -300,14 +364,14 @@ if (!function_exists('blade_escape_js')) { return preg_replace_callback( '#[^a-zA-Z0-9,\._]#Su', static function ($matches) { - $char = $matches[0]; + $char = $matches[0]; /* * A few characters have short escape sequences in JSON and JavaScript. * Escape sequences supported only by JavaScript, not JSON, are omitted. * \" is also supported but omitted, because the resulting string is not HTML safe. */ - $short = match ($char) { + $short = match ($char) { '\\' => '\\\\', '/' => '\/', "\x08" => '\b', @@ -329,9 +393,9 @@ if (!function_exists('blade_escape_js')) { // Split characters outside the BMP into surrogate pairs // https://tools.ietf.org/html/rfc2781.html#section-2.1 - $u = $codepoint - 0x10_000; - $high = 0xD800 | ($u >> 10); - $low = 0xDC00 | ($u & 0x3FF); + $u = $codepoint - 0x10_000; + $high = 0xD800 | ($u >> 10); + $low = 0xDC00 | ($u & 0x3FF); return \sprintf('\u%04X\u%04X', $high, $low); }, diff --git a/app/Support/Twig/General.php b/app/Support/Twig/General.php index efb8085e3c..15cb1c4994 100644 --- a/app/Support/Twig/General.php +++ b/app/Support/Twig/General.php @@ -39,7 +39,6 @@ use Override; use Twig\Extension\AbstractExtension; use Twig\TwigFilter; use Twig\TwigFunction; - use function Safe\parse_url; /** @@ -104,9 +103,9 @@ class General extends AbstractExtension 'activeRoutePartialObjectType', static function (array $context): string { [, $route, $objectType] = func_get_args(); - $activeObjectType = $context['objectType'] ?? false; + $activeObjectType = $context['objectType'] ?? false; - if ($objectType === $activeObjectType && false !== stripos((string) Route::getCurrentRoute()->getName(), (string) $route)) { + if ($objectType === $activeObjectType && false !== stripos((string)Route::getCurrentRoute()->getName(), (string)$route)) { return 'active'; } @@ -145,11 +144,11 @@ class General extends AbstractExtension } /** @var Carbon $date */ - $date = now(); + $date = now(); // get the date from the current session. If it's in the future, keep `now()`. /** @var Carbon $session */ - $session = clone session('end', today(config('app.timezone'))->endOfMonth()); + $session = clone session('end', today(config('app.timezone'))->endOfMonth()); if ($session->lt($date)) { $date = $session->copy(); $date->endOfDay(); @@ -157,13 +156,13 @@ class General extends AbstractExtension Log::debug(sprintf('twig balance: Call finalAccountBalance with date/time "%s"', $date->toIso8601String())); // 2025-10-08 replace finalAccountBalance with accountsBalancesOptimized. - $info = Steam::accountsBalancesOptimized(new Collection()->push($account), $date)[$account->id]; + $info = Steam::accountsBalancesOptimized(new Collection()->push($account), $date)[$account->id]; // $info = Steam::finalAccountBalance($account, $date); $currency = Steam::getAccountCurrency($account); $primary = Amount::getPrimaryCurrency(); $convertToPrimary = Amount::convertToPrimary(); $usePrimary = $convertToPrimary && $primary->id !== $currency->id; - $currency ??= $primary; + $currency ??= $primary; $strings = []; foreach ($info as $key => $balance) { if ('balance' === $key) { @@ -203,7 +202,7 @@ class General extends AbstractExtension protected function carbonize(): TwigFunction { - return new TwigFunction('carbonize', static fn (string $date): Carbon => new Carbon($date, config('app.timezone'))); + return new TwigFunction('carbonize', static fn(string $date): Carbon => new Carbon($date, config('app.timezone'))); } /** @@ -226,15 +225,15 @@ class General extends AbstractExtension return new TwigFilter('filesize', static function (int $size): string { // less than one GB, more than one MB if ($size < (1024 * 1024 * 2014) && $size >= (1024 * 1024)) { - return round($size / (1024 * 1024), 2).' MB'; + return round($size / (1024 * 1024), 2) . ' MB'; } // less than one MB if ($size < (1024 * 1024)) { - return round($size / 1024, 2).' KB'; + return round($size / 1024, 2) . ' KB'; } - return $size.' bytes'; + return $size . ' bytes'; }); } @@ -283,7 +282,7 @@ class General extends AbstractExtension static function (string $text): string { $converter = new GithubFlavoredMarkdownConverter(['allow_unsafe_links' => false, 'max_nesting_level' => 5, 'html_input' => 'escape']); - return (string) $converter->convert($text); + return (string)$converter->convert($text); }, ['is_safe' => ['html']] ); @@ -316,15 +315,15 @@ class General extends AbstractExtension { return new TwigFilter( 'mimeIcon', - static fn (string $string): string => match ($string) { - 'application/pdf' => 'fa-file-pdf-o', + static fn(string $string): string => match ($string) { + 'application/pdf' => 'fa-file-pdf-o', 'image/webp', 'image/png', 'image/jpeg', 'image/svg+xml', 'image/heic', 'image/heic-sequence', - 'application/vnd.oasis.opendocument.image' => 'fa-file-image-o', + 'application/vnd.oasis.opendocument.image' => 'fa-file-image-o', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', @@ -337,7 +336,7 @@ class General extends AbstractExtension 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.text-template', 'application/vnd.oasis.opendocument.text-web', - 'application/vnd.oasis.opendocument.text-master' => 'fa-file-word-o', + 'application/vnd.oasis.opendocument.text-master' => 'fa-file-word-o', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', @@ -345,7 +344,7 @@ class General extends AbstractExtension 'application/vnd.sun.xml.calc.template', 'application/vnd.stardivision.calc', 'application/vnd.oasis.opendocument.spreadsheet', - 'application/vnd.oasis.opendocument.spreadsheet-template' => 'fa-file-excel-o', + 'application/vnd.oasis.opendocument.spreadsheet-template' => 'fa-file-excel-o', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.presentationml.template', @@ -354,18 +353,18 @@ class General extends AbstractExtension 'application/vnd.sun.xml.impress.template', 'application/vnd.stardivision.impress', 'application/vnd.oasis.opendocument.presentation', - 'application/vnd.oasis.opendocument.presentation-template' => 'fa-file-powerpoint-o', + 'application/vnd.oasis.opendocument.presentation-template' => 'fa-file-powerpoint-o', 'application/vnd.sun.xml.draw', 'application/vnd.sun.xml.draw.template', 'application/vnd.stardivision.draw', - 'application/vnd.oasis.opendocument.chart' => 'fa-paint-brush', + 'application/vnd.oasis.opendocument.chart' => 'fa-paint-brush', 'application/vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.graphics-template', 'application/vnd.sun.xml.math', 'application/vnd.stardivision.math', 'application/vnd.oasis.opendocument.formula', - 'application/vnd.oasis.opendocument.database' => 'fa-calculator', - default => 'fa-file-o' + 'application/vnd.oasis.opendocument.database' => 'fa-calculator', + default => 'fa-file-o' }, ['is_safe' => ['html']] ); @@ -400,6 +399,6 @@ class General extends AbstractExtension private function fireflyIIIConfig(): TwigFunction { - return new TwigFunction('fireflyiiiconfig', static fn (string $string, mixed $default): mixed => AppConfiguration::get($string, $default)->data); + return new TwigFunction('fireflyiiiconfig', static fn(string $string, mixed $default): mixed => AppConfiguration::get($string, $default)->data); } } diff --git a/app/View/Components/Lists/Attachments.php b/app/View/Components/Lists/Attachments.php new file mode 100644 index 0000000000..1e60de6350 --- /dev/null +++ b/app/View/Components/Lists/Attachments.php @@ -0,0 +1,28 @@ +attachments = $attachments; + } + + /** + * Get the view / contents that represent the component. + */ + public function render(): View|Closure|string + { + return view('components.lists.attachments'); + } +} diff --git a/app/View/Components/Lists/PiggyBankEvents.php b/app/View/Components/Lists/PiggyBankEvents.php new file mode 100644 index 0000000000..999ee7e559 --- /dev/null +++ b/app/View/Components/Lists/PiggyBankEvents.php @@ -0,0 +1,30 @@ +events = $events; + $this->showPiggyBank = $showPiggyBank; + } + + /** + * Get the view / contents that represent the component. + */ + public function render(): View|Closure|string + { + return view('components.lists.piggy-bank-events'); + } +} diff --git a/composer.lock b/composer.lock index 68ed31a442..1fce11347a 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": "7f960fa15bddd432267fb2bb9b730195", + "content-hash": "7dabe0f05a3cd8e24077085ea9acc7bb", "packages": [ { "name": "bacon/bacon-qr-code", @@ -63,16 +63,16 @@ }, { "name": "beberlei/assert", - "version": "v3.3.3", + "version": "v3.3.4", "source": { "type": "git", "url": "https://github.com/beberlei/assert.git", - "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd" + "reference": "f193f4613c7d7fbcee2c05e4daff4061d49c040e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beberlei/assert/zipball/b5fd8eacd8915a1b627b8bfc027803f1939734dd", - "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd", + "url": "https://api.github.com/repos/beberlei/assert/zipball/f193f4613c7d7fbcee2c05e4daff4061d49c040e", + "reference": "f193f4613c7d7fbcee2c05e4daff4061d49c040e", "shasum": "" }, "require": { @@ -124,22 +124,22 @@ ], "support": { "issues": "https://github.com/beberlei/assert/issues", - "source": "https://github.com/beberlei/assert/tree/v3.3.3" + "source": "https://github.com/beberlei/assert/tree/v3.3.4" }, - "time": "2024-07-15T13:18:35+00:00" + "time": "2026-06-10T19:47:05+00:00" }, { "name": "brick/math", - "version": "0.17.2", + "version": "0.18.0", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "8189e751995f9e15729c1aa2f89fa8f166ffe818" + "reference": "82944324d1c1bdb2c2618e89978d4e2ad78d69ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/8189e751995f9e15729c1aa2f89fa8f166ffe818", - "reference": "8189e751995f9e15729c1aa2f89fa8f166ffe818", + "url": "https://api.github.com/repos/brick/math/zipball/82944324d1c1bdb2c2618e89978d4e2ad78d69ad", + "reference": "82944324d1c1bdb2c2618e89978d4e2ad78d69ad", "shasum": "" }, "require": { @@ -177,7 +177,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.17.2" + "source": "https://github.com/brick/math/tree/0.18.0" }, "funding": [ { @@ -185,7 +185,7 @@ "type": "github" } ], - "time": "2026-05-25T20:34:43+00:00" + "time": "2026-06-14T18:21:03+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -1008,16 +1008,16 @@ }, { "name": "firebase/php-jwt", - "version": "v7.0.5", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/googleapis/php-jwt.git", - "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380" + "reference": "b374a5d1a4f1f67fadc2165cdb284645945e2fc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/php-jwt/zipball/47ad26bab5e7c70ae8a6f08ed25ff83631121380", - "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380", + "url": "https://api.github.com/repos/googleapis/php-jwt/zipball/b374a5d1a4f1f67fadc2165cdb284645945e2fc0", + "reference": "b374a5d1a4f1f67fadc2165cdb284645945e2fc0", "shasum": "" }, "require": { @@ -1026,6 +1026,7 @@ "require-dev": { "guzzlehttp/guzzle": "^7.4", "phpfastcache/phpfastcache": "^9.2", + "phpseclib/phpseclib": "~3.0", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", "psr/cache": "^2.0||^3.0", @@ -1034,7 +1035,8 @@ }, "suggest": { "ext-sodium": "Support EdDSA (Ed25519) signatures", - "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present", + "phpseclib/phpseclib": "Support PS256 (RSASSA-PSS) signatures" }, "type": "library", "autoload": { @@ -1059,16 +1061,16 @@ } ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", + "homepage": "https://github.com/googleapis/php-jwt", "keywords": [ "jwt", "php" ], "support": { "issues": "https://github.com/googleapis/php-jwt/issues", - "source": "https://github.com/googleapis/php-jwt/tree/v7.0.5" + "source": "https://github.com/googleapis/php-jwt/tree/v7.1.0" }, - "time": "2026-04-01T20:38:03+00:00" + "time": "2026-06-11T17:54:14+00:00" }, { "name": "fruitcake/php-cors", @@ -1244,26 +1246,26 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.12.1", + "version": "7.12.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "d34627490fbc03bf5c5d7cfed81f2faa19519425" + "reference": "9aa17bcdd777ee31df9fc83c337ca4ca2340def3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d34627490fbc03bf5c5d7cfed81f2faa19519425", - "reference": "d34627490fbc03bf5c5d7cfed81f2faa19519425", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9aa17bcdd777ee31df9fc83c337ca4ca2340def3", + "reference": "9aa17bcdd777ee31df9fc83c337ca4ca2340def3", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^2.5", - "guzzlehttp/psr7": "^2.12.1", + "guzzlehttp/psr7": "^2.12.3", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.5 || ^3.0", - "symfony/polyfill-php80": "^1.24" + "symfony/polyfill-php80": "^1.25" }, "provide": { "psr/http-client-implementation": "1.0" @@ -1352,7 +1354,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.12.1" + "source": "https://github.com/guzzle/guzzle/tree/7.12.3" }, "funding": [ { @@ -1368,7 +1370,7 @@ "type": "tidelift" } ], - "time": "2026-06-18T14:12:49+00:00" + "time": "2026-06-23T15:29:02+00:00" }, { "name": "guzzlehttp/promises", @@ -1456,16 +1458,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.12.1", + "version": "2.12.3", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "172ef2f4e9824c1e058b7f30be8ae25a02c0f2b7" + "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/172ef2f4e9824c1e058b7f30be8ae25a02c0f2b7", - "reference": "172ef2f4e9824c1e058b7f30be8ae25a02c0f2b7", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/7ec62dc3f44aa218487dbed81a9bf9bc647be55d", + "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d", "shasum": "" }, "require": { @@ -1474,7 +1476,7 @@ "psr/http-message": "^1.1 || ^2.0", "ralouphie/getallheaders": "^3.0", "symfony/deprecation-contracts": "^2.5 || ^3.0", - "symfony/polyfill-php80": "^1.24" + "symfony/polyfill-php80": "^1.25" }, "provide": { "psr/http-factory-implementation": "1.0", @@ -1555,7 +1557,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.12.1" + "source": "https://github.com/guzzle/psr7/tree/2.12.3" }, "funding": [ { @@ -1571,25 +1573,25 @@ "type": "tidelift" } ], - "time": "2026-06-18T09:49:37+00:00" + "time": "2026-06-23T15:21:08+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.7", + "version": "v1.0.8", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "7fe811c23a9e3cd712b4389eaeb50b5456d8c529" + "reference": "9c19128923b05a5d7355e5d2318d7808b7e33bbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/7fe811c23a9e3cd712b4389eaeb50b5456d8c529", - "reference": "7fe811c23a9e3cd712b4389eaeb50b5456d8c529", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/9c19128923b05a5d7355e5d2318d7808b7e33bbd", + "reference": "9c19128923b05a5d7355e5d2318d7808b7e33bbd", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "symfony/polyfill-php80": "^1.24" + "symfony/polyfill-php80": "^1.25" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", @@ -1641,7 +1643,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.7" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.8" }, "funding": [ { @@ -1657,7 +1659,7 @@ "type": "tidelift" } ], - "time": "2026-06-12T21:33:43+00:00" + "time": "2026-06-23T13:02:23+00:00" }, { "name": "jc5/google2fa-laravel", @@ -1816,16 +1818,16 @@ }, { "name": "laravel-notification-channels/pushover", - "version": "5.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/laravel-notification-channels/pushover.git", - "reference": "a276d3cdbfede11bb5f4013c24ad1ef2a06bcb39" + "reference": "74e4b870e41b65c220be81d85e3b481591cfb2ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-notification-channels/pushover/zipball/a276d3cdbfede11bb5f4013c24ad1ef2a06bcb39", - "reference": "a276d3cdbfede11bb5f4013c24ad1ef2a06bcb39", + "url": "https://api.github.com/repos/laravel-notification-channels/pushover/zipball/74e4b870e41b65c220be81d85e3b481591cfb2ea", + "reference": "74e4b870e41b65c220be81d85e3b481591cfb2ea", "shasum": "" }, "require": { @@ -1877,26 +1879,26 @@ "homepage": "https://github.com/laravel-notification-channels/pushover", "support": { "issues": "https://github.com/laravel-notification-channels/pushover/issues", - "source": "https://github.com/laravel-notification-channels/pushover/tree/5.0.0" + "source": "https://github.com/laravel-notification-channels/pushover/tree/5.0.1" }, - "time": "2026-03-18T11:30:33+00:00" + "time": "2026-05-31T17:09:07+00:00" }, { "name": "laravel/framework", - "version": "v13.12.0", + "version": "v13.17.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "6ac27a7fcfa728250c9f77921cb8fb955546b591" + "reference": "0802b7a81f3252d78200b8037ac183a686a529f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/6ac27a7fcfa728250c9f77921cb8fb955546b591", - "reference": "6ac27a7fcfa728250c9f77921cb8fb955546b591", + "url": "https://api.github.com/repos/laravel/framework/zipball/0802b7a81f3252d78200b8037ac183a686a529f0", + "reference": "0802b7a81f3252d78200b8037ac183a686a529f0", "shasum": "" }, "require": { - "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17", + "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17 || ^0.18", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", @@ -2103,7 +2105,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-05-26T23:39:26+00:00" + "time": "2026-06-23T19:42:45+00:00" }, { "name": "laravel/passport", @@ -2182,16 +2184,16 @@ }, { "name": "laravel/prompts", - "version": "v0.3.18", + "version": "v0.3.21", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72" + "reference": "7753c65c281c2550c7c183f14e18062073b7d821" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72", - "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72", + "url": "https://api.github.com/repos/laravel/prompts/zipball/7753c65c281c2550c7c183f14e18062073b7d821", + "reference": "7753c65c281c2550c7c183f14e18062073b7d821", "shasum": "" }, "require": { @@ -2235,9 +2237,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.18" + "source": "https://github.com/laravel/prompts/tree/v0.3.21" }, - "time": "2026-05-19T00:47:18+00:00" + "time": "2026-06-26T00:11:25+00:00" }, { "name": "laravel/serializable-closure", @@ -2428,70 +2430,6 @@ }, "time": "2026-03-17T13:41:52+00:00" }, - { - "name": "lcobucci/clock", - "version": "3.6.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/clock.git", - "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/4cdd88f761e9be9095ccbedf3e08d61ae216c643", - "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643", - "shasum": "" - }, - "require": { - "php": "~8.4.0 || ~8.5.0", - "psr/clock": "^1.0" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "infection/infection": "^0.32", - "lcobucci/coding-standard": "^12.0", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-deprecation-rules": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^13.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com" - } - ], - "description": "Yet another clock abstraction", - "support": { - "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.6.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2026-04-13T21:30:16+00:00" - }, { "name": "lcobucci/jwt", "version": "5.6.0", @@ -2906,16 +2844,16 @@ }, { "name": "league/flysystem", - "version": "3.34.0", + "version": "3.35.1", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e" + "reference": "f23af6c5aafd958a7593029a271d77baf5ed793c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", - "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f23af6c5aafd958a7593029a271d77baf5ed793c", + "reference": "f23af6c5aafd958a7593029a271d77baf5ed793c", "shasum": "" }, "require": { @@ -2983,9 +2921,9 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.34.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.35.1" }, - "time": "2026-05-14T10:28:08+00:00" + "time": "2026-06-25T06:52:23+00:00" }, { "name": "league/flysystem-local", @@ -3164,27 +3102,27 @@ }, { "name": "league/oauth2-server", - "version": "9.3.0", + "version": "9.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "d8e2f39f645a82b207bbac441694d6e6079357cb" + "reference": "9d2f6fc0a0b5aa1bb02506971d3a4ecff2c6526c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/d8e2f39f645a82b207bbac441694d6e6079357cb", - "reference": "d8e2f39f645a82b207bbac441694d6e6079357cb", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/9d2f6fc0a0b5aa1bb02506971d3a4ecff2c6526c", + "reference": "9d2f6fc0a0b5aa1bb02506971d3a4ecff2c6526c", "shasum": "" }, "require": { "defuse/php-encryption": "^2.4", "ext-json": "*", "ext-openssl": "*", - "lcobucci/clock": "^2.3 || ^3.0", - "lcobucci/jwt": "^5.0", + "lcobucci/jwt": "^5.6", "league/event": "^3.0", - "league/uri": "^7.0", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "league/uri": "^7.8", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/clock": "^1.0", "psr/http-message": "^2.0", "psr/http-server-middleware": "^1.0" }, @@ -3193,17 +3131,18 @@ "lncd/oauth2": "*" }, "require-dev": { - "laminas/laminas-diactoros": "^3.5", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.12|^2.0", - "phpstan/phpstan-deprecation-rules": "^1.1.4|^2.0", - "phpstan/phpstan-phpunit": "^1.3.15|^2.0", - "phpstan/phpstan-strict-rules": "^1.5.2|^2.0", - "phpunit/phpunit": "^10.5|^11.5|^12.0", + "laminas/laminas-diactoros": "^3.8", + "paragonie/random_compat": "^9.99.100", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.38", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0.12", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^11.5.50", "roave/security-advisories": "dev-master", - "slevomat/coding-standard": "^8.14.1", - "squizlabs/php_codesniffer": "^3.8" + "slevomat/coding-standard": "^8.27.1", + "squizlabs/php_codesniffer": "^4.0" }, "type": "library", "autoload": { @@ -3248,7 +3187,7 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/9.3.0" + "source": "https://github.com/thephpleague/oauth2-server/tree/9.4.1" }, "funding": [ { @@ -3256,7 +3195,7 @@ "type": "github" } ], - "time": "2025-11-25T22:51:15+00:00" + "time": "2026-06-25T15:24:07+00:00" }, { "name": "league/uri", @@ -3442,22 +3381,22 @@ }, { "name": "mailersend/laravel-driver", - "version": "v3.1.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/mailersend/mailersend-laravel-driver.git", - "reference": "9452f4f7e3881494bc55f3521b960b1c233a4be1" + "reference": "0f549ceb9da08cef8344941cc64612fb2ffbe233" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mailersend/mailersend-laravel-driver/zipball/9452f4f7e3881494bc55f3521b960b1c233a4be1", - "reference": "9452f4f7e3881494bc55f3521b960b1c233a4be1", + "url": "https://api.github.com/repos/mailersend/mailersend-laravel-driver/zipball/0f549ceb9da08cef8344941cc64612fb2ffbe233", + "reference": "0f549ceb9da08cef8344941cc64612fb2ffbe233", "shasum": "" }, "require": { "ext-json": "*", "illuminate/support": "^10.0 || ^11.0 || ^12.0 || ^13.0", - "mailersend/mailersend": "^0.36.0", + "mailersend/mailersend": "^0.38.0", "nyholm/psr7": "^1.5", "php": ">=8.2", "php-http/guzzle7-adapter": "^1.0", @@ -3465,7 +3404,7 @@ }, "require-dev": { "orchestra/testbench": "^9.0 || ^10.0 || ^11.0", - "phpunit/phpunit": "^9.0 || ^10.5 || ^12.0" + "phpunit/phpunit": "^9.0 || ^10.5 || ^11.0 || ^12.0" }, "type": "library", "extra": { @@ -3505,22 +3444,22 @@ ], "support": { "issues": "https://github.com/mailersend/mailersend-laravel-driver/issues", - "source": "https://github.com/mailersend/mailersend-laravel-driver/tree/v3.1.0" + "source": "https://github.com/mailersend/mailersend-laravel-driver/tree/v3.2.0" }, - "time": "2026-03-18T15:44:07+00:00" + "time": "2026-06-25T07:48:48+00:00" }, { "name": "mailersend/mailersend", - "version": "v0.36.0", + "version": "v0.38.1", "source": { "type": "git", "url": "https://github.com/mailersend/mailersend-php.git", - "reference": "0a28852bba61f31c3668a2af6426dc0b2c866432" + "reference": "e73accddc9872dbcea79c8999796ef1ef33bb859" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mailersend/mailersend-php/zipball/0a28852bba61f31c3668a2af6426dc0b2c866432", - "reference": "0a28852bba61f31c3668a2af6426dc0b2c866432", + "url": "https://api.github.com/repos/mailersend/mailersend-php/zipball/e73accddc9872dbcea79c8999796ef1ef33bb859", + "reference": "e73accddc9872dbcea79c8999796ef1ef33bb859", "shasum": "" }, "require": { @@ -3532,7 +3471,7 @@ "php-http/httplug": "^2.1", "psr/http-client-implementation": "^1.0", "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "^4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0" + "symfony/options-resolver": "^4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.4.0", @@ -3571,9 +3510,9 @@ ], "support": { "issues": "https://github.com/mailersend/mailersend-php/issues", - "source": "https://github.com/mailersend/mailersend-php/tree/v0.36.0" + "source": "https://github.com/mailersend/mailersend-php/tree/v0.38.1" }, - "time": "2026-02-02T09:26:45+00:00" + "time": "2026-05-11T14:33:27+00:00" }, { "name": "monolog/monolog", @@ -5078,16 +5017,16 @@ }, { "name": "predis/predis", - "version": "v3.4.2", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/predis/predis.git", - "reference": "2033429520d8997a7815a2485f56abe6d2d0e075" + "reference": "5c996db191ee2d9bafe651f454b1fca16754271b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/2033429520d8997a7815a2485f56abe6d2d0e075", - "reference": "2033429520d8997a7815a2485f56abe6d2d0e075", + "url": "https://api.github.com/repos/predis/predis/zipball/5c996db191ee2d9bafe651f454b1fca16754271b", + "reference": "5c996db191ee2d9bafe651f454b1fca16754271b", "shasum": "" }, "require": { @@ -5129,7 +5068,7 @@ ], "support": { "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v3.4.2" + "source": "https://github.com/predis/predis/tree/v3.5.1" }, "funding": [ { @@ -5137,7 +5076,7 @@ "type": "github" } ], - "time": "2026-03-09T20:33:04+00:00" + "time": "2026-06-11T16:56:53+00:00" }, { "name": "psr/cache", @@ -6502,25 +6441,25 @@ }, { "name": "symfony/cache", - "version": "v8.0.12", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "11dc0681506ff07ca80bfb4cbf84c601c3cf04f7" + "reference": "ba62e0ed9ea9bc26142844a891d4a3dfceb24aed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/11dc0681506ff07ca80bfb4cbf84c601c3cf04f7", - "reference": "11dc0681506ff07ca80bfb4cbf84c601c3cf04f7", + "url": "https://api.github.com/repos/symfony/cache/zipball/ba62e0ed9ea9bc26142844a891d4a3dfceb24aed", + "reference": "ba62e0ed9ea9bc26142844a891d4a3dfceb24aed", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^3.6", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^7.4|^8.0" + "symfony/var-exporter": "^8.1" }, "conflict": { "ext-redis": "<6.1", @@ -6577,7 +6516,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v8.0.12" + "source": "https://github.com/symfony/cache/tree/v8.1.0" }, "funding": [ { @@ -6597,7 +6536,7 @@ "type": "tidelift" } ], - "time": "2026-05-20T07:22:03+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/cache-contracts", @@ -7245,20 +7184,20 @@ }, { "name": "symfony/expression-language", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "b2a5fd3b7331ae10cc0ed75a28d64b25b67d2c7b" + "reference": "67f31731d5b316d0183c565933017d5d3331d609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/b2a5fd3b7331ae10cc0ed75a28d64b25b67d2c7b", - "reference": "b2a5fd3b7331ae10cc0ed75a28d64b25b67d2c7b", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/67f31731d5b316d0183c565933017d5d3331d609", + "reference": "67f31731d5b316d0183c565933017d5d3331d609", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/cache": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3" }, @@ -7288,7 +7227,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v8.0.8" + "source": "https://github.com/symfony/expression-language/tree/v8.1.0" }, "funding": [ { @@ -7308,7 +7247,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/finder", @@ -7380,22 +7319,23 @@ }, { "name": "symfony/http-client", - "version": "v8.0.9", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "537c7f164078975b800f3f1c56810791024e4c77" + "reference": "68a48e4c31f63fcd1bdff997a85a09e55efe8cdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/537c7f164078975b800f3f1c56810791024e4c77", - "reference": "537c7f164078975b800f3f1c56810791024e4c77", + "url": "https://api.github.com/repos/symfony/http-client/zipball/68a48e4c31f63fcd1bdff997a85a09e55efe8cdb", + "reference": "68a48e4c31f63fcd1bdff997a85a09e55efe8cdb", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "psr/log": "^1|^2|^3", - "symfony/http-client-contracts": "~3.4.4|^3.5.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/http-client-contracts": "^3.7", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -7411,7 +7351,7 @@ "require-dev": { "amphp/http-client": "^5.3.2", "amphp/http-tunnel": "^2.0", - "guzzlehttp/promises": "^1.4|^2.0", + "guzzlehttp/guzzle": "^7.10", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", @@ -7452,7 +7392,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v8.0.9" + "source": "https://github.com/symfony/http-client/tree/v8.1.0" }, "funding": [ { @@ -7472,7 +7412,7 @@ "type": "tidelift" } ], - "time": "2026-04-29T15:02:55+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/http-client-contracts", @@ -7828,20 +7768,20 @@ }, { "name": "symfony/mailgun-mailer", - "version": "v8.0.0", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "c8567e2b9a64db3aebd701838402a3726061c36a" + "reference": "abe5edef690685a1b2a407dcc0f265181d50fd28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/c8567e2b9a64db3aebd701838402a3726061c36a", - "reference": "c8567e2b9a64db3aebd701838402a3726061c36a", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/abe5edef690685a1b2a407dcc0f265181d50fd28", + "reference": "abe5edef690685a1b2a407dcc0f265181d50fd28", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/mailer": "^7.4|^8.0" }, "require-dev": { @@ -7874,7 +7814,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v8.0.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v8.1.0" }, "funding": [ { @@ -7894,7 +7834,7 @@ "type": "tidelift" } ], - "time": "2025-08-04T07:36:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/mime", @@ -7984,20 +7924,20 @@ }, { "name": "symfony/options-resolver", - "version": "v7.4.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4" + "reference": "88f9c561f678a02d54b897014049fa839e33ff82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", - "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/88f9c561f678a02d54b897014049fa839e33ff82", + "reference": "88f9c561f678a02d54b897014049fa839e33ff82", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4.1", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -8031,7 +7971,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.4.8" + "source": "https://github.com/symfony/options-resolver/tree/v8.1.0" }, "funding": [ { @@ -8051,7 +7991,7 @@ "type": "tidelift" } ], - "time": "2026-03-24T13:12:05+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8136,6 +8076,93 @@ ], "time": "2026-04-10T16:19:22+00:00" }, + { + "name": "symfony/polyfill-deepclone", + "version": "v1.40.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-deepclone.git", + "reference": "dca4ccba5f360070b574414dce4c1e7a559844fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-deepclone/zipball/dca4ccba5f360070b574414dce4c1e7a559844fa", + "reference": "dca4ccba5f360070b574414dce4c1e7a559844fa", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "provide": { + "ext-deepclone": "*" + }, + "suggest": { + "ext-deepclone": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\DeepClone\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the deepclone extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "deepclone", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-deepclone/tree/v1.40.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-06-12T07:27:17+00:00" + }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.38.1", @@ -8864,20 +8891,20 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "94facc221260c1d5f20e31ee43cd6c6a824b4a19" + "reference": "67fd34de15ded1763aa1e330fe345f080a94022c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/94facc221260c1d5f20e31ee43cd6c6a824b4a19", - "reference": "94facc221260c1d5f20e31ee43cd6c6a824b4a19", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/67fd34de15ded1763aa1e330fe345f080a94022c", + "reference": "67fd34de15ded1763aa1e330fe345f080a94022c", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "psr/http-message": "^1.0|^2.0", "symfony/http-foundation": "^7.4|^8.0" }, @@ -8927,7 +8954,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v8.0.8" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v8.1.0" }, "funding": [ { @@ -8947,7 +8974,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/routing", @@ -9548,20 +9575,22 @@ }, { "name": "symfony/var-exporter", - "version": "v8.0.9", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "24cf67be4dd0926e4413635418682f4fff831412" + "reference": "2dd18582c5f6c024db9fc0ff9c76d873af726f34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/24cf67be4dd0926e4413635418682f4fff831412", - "reference": "24cf67be4dd0926e4413635418682f4fff831412", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2dd18582c5f6c024db9fc0ff9c76d873af726f34", + "reference": "2dd18582c5f6c024db9fc0ff9c76d873af726f34", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.4.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-deepclone": "^1.37" }, "require-dev": { "symfony/property-access": "^7.4|^8.0", @@ -9591,11 +9620,12 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "description": "Provides tools to export, instantiate, hydrate, clone and lazy-load PHP objects", "homepage": "https://symfony.com", "keywords": [ "clone", "construct", + "deep-clone", "export", "hydrate", "instantiate", @@ -9604,7 +9634,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v8.0.9" + "source": "https://github.com/symfony/var-exporter/tree/v8.1.0" }, "funding": [ { @@ -9624,7 +9654,7 @@ "type": "tidelift" } ], - "time": "2026-04-18T13:51:42+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "thecodingmachine/safe", @@ -9826,16 +9856,16 @@ }, { "name": "twig/twig", - "version": "v3.26.0", + "version": "v3.27.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "1fcae487b180d78e6351f4e0afa91f9eab96a2bc" + "reference": "ae2071bffb38f04847fc0864d730c94b9cb8ab74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/1fcae487b180d78e6351f4e0afa91f9eab96a2bc", - "reference": "1fcae487b180d78e6351f4e0afa91f9eab96a2bc", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ae2071bffb38f04847fc0864d730c94b9cb8ab74", + "reference": "ae2071bffb38f04847fc0864d730c94b9cb8ab74", "shasum": "" }, "require": { @@ -9890,7 +9920,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.26.0" + "source": "https://github.com/twigphp/Twig/tree/v3.27.1" }, "funding": [ { @@ -9902,7 +9932,7 @@ "type": "tidelift" } ], - "time": "2026-05-20T07:31:59+00:00" + "time": "2026-05-30T17:09:26+00:00" }, { "name": "vlucas/phpdotenv", @@ -10213,16 +10243,16 @@ }, { "name": "carthage-software/mago", - "version": "1.28.0", + "version": "1.40.2", "source": { "type": "git", "url": "https://github.com/carthage-software/mago.git", - "reference": "c3daa7199f83bd06c0077b997358c46e80a0bb06" + "reference": "19f3aa5891d334cdac2f9c4e43f2b256b4e05dac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/carthage-software/mago/zipball/c3daa7199f83bd06c0077b997358c46e80a0bb06", - "reference": "c3daa7199f83bd06c0077b997358c46e80a0bb06", + "url": "https://api.github.com/repos/carthage-software/mago/zipball/19f3aa5891d334cdac2f9c4e43f2b256b4e05dac", + "reference": "19f3aa5891d334cdac2f9c4e43f2b256b4e05dac", "shasum": "" }, "require": { @@ -10260,7 +10290,7 @@ ], "support": { "issues": "https://github.com/carthage-software/mago/issues", - "source": "https://github.com/carthage-software/mago/tree/1.28.0" + "source": "https://github.com/carthage-software/mago/tree/1.40.2" }, "funding": [ { @@ -10268,7 +10298,7 @@ "type": "github" } ], - "time": "2026-05-19T07:03:29+00:00" + "time": "2026-06-24T23:45:03+00:00" }, { "name": "cloudcreativity/json-api-testing", @@ -10399,28 +10429,29 @@ }, { "name": "composer/pcre", - "version": "3.3.2", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" + "reference": "d5a341b3fb61f3001970940afb1d332968a183ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "url": "https://api.github.com/repos/composer/pcre/zipball/d5a341b3fb61f3001970940afb1d332968a183ed", + "reference": "d5a341b3fb61f3001970940afb1d332968a183ed", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, "conflict": { - "phpstan/phpstan": "<1.11.10" + "phpstan/phpstan": "<2.2.2" }, "require-dev": { - "phpstan/phpstan": "^1.12 || ^2", - "phpstan/phpstan-strict-rules": "^1 || ^2", - "phpunit/phpunit": "^8 || ^9" + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^9" }, "type": "library", "extra": { @@ -10458,7 +10489,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.2" + "source": "https://github.com/composer/pcre/tree/3.4.0" }, "funding": [ { @@ -10468,26 +10499,22 @@ { "url": "https://github.com/composer", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2024-11-12T16:29:46+00:00" + "time": "2026-06-07T11:47:49+00:00" }, { "name": "driftingly/rector-laravel", - "version": "2.3.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/driftingly/rector-laravel.git", - "reference": "3c1c13f335b3b4d1a1f944a8ea194020044871ed" + "reference": "0dbdd842dfdbc821cfe5f47ca7326e2502b2a107" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/driftingly/rector-laravel/zipball/3c1c13f335b3b4d1a1f944a8ea194020044871ed", - "reference": "3c1c13f335b3b4d1a1f944a8ea194020044871ed", + "url": "https://api.github.com/repos/driftingly/rector-laravel/zipball/0dbdd842dfdbc821cfe5f47ca7326e2502b2a107", + "reference": "0dbdd842dfdbc821cfe5f47ca7326e2502b2a107", "shasum": "" }, "require": { @@ -10508,9 +10535,9 @@ "description": "Rector upgrades rules for Laravel Framework", "support": { "issues": "https://github.com/driftingly/rector-laravel/issues", - "source": "https://github.com/driftingly/rector-laravel/tree/2.3.0" + "source": "https://github.com/driftingly/rector-laravel/tree/2.5.0" }, - "time": "2026-04-08T10:52:44+00:00" + "time": "2026-06-02T16:22:14+00:00" }, { "name": "ergebnis/phpstan-rules", @@ -10650,16 +10677,16 @@ }, { "name": "fruitcake/laravel-debugbar", - "version": "v4.2.8", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/fruitcake/laravel-debugbar.git", - "reference": "799d70c1101d3f8840dd76ff68ff6a78f9352905" + "reference": "3d76ea8d78b82225b92789de65fc630c1cd8e80c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/799d70c1101d3f8840dd76ff68ff6a78f9352905", - "reference": "799d70c1101d3f8840dd76ff68ff6a78f9352905", + "url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/3d76ea8d78b82225b92789de65fc630c1cd8e80c", + "reference": "3d76ea8d78b82225b92789de65fc630c1cd8e80c", "shasum": "" }, "require": { @@ -10736,7 +10763,7 @@ ], "support": { "issues": "https://github.com/fruitcake/laravel-debugbar/issues", - "source": "https://github.com/fruitcake/laravel-debugbar/tree/v4.2.8" + "source": "https://github.com/fruitcake/laravel-debugbar/tree/v4.3.0" }, "funding": [ { @@ -10748,7 +10775,7 @@ "type": "github" } ], - "time": "2026-04-20T13:31:29+00:00" + "time": "2026-06-04T07:54:01+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -10844,16 +10871,16 @@ }, { "name": "larastan/larastan", - "version": "v3.9.6", + "version": "v3.10.0", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "9ad17e83e96b63536cb6ac39c3d40d29ff9cf636" + "reference": "2970f83398154178a739609c244577267c7ee8eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/9ad17e83e96b63536cb6ac39c3d40d29ff9cf636", - "reference": "9ad17e83e96b63536cb6ac39c3d40d29ff9cf636", + "url": "https://api.github.com/repos/larastan/larastan/zipball/2970f83398154178a739609c244577267c7ee8eb", + "reference": "2970f83398154178a739609c244577267c7ee8eb", "shasum": "" }, "require": { @@ -10867,17 +10894,17 @@ "illuminate/pipeline": "^11.44.2 || ^12.4.1 || ^13", "illuminate/support": "^11.44.2 || ^12.4.1 || ^13", "php": "^8.2", - "phpstan/phpstan": "^2.1.44" + "phpstan/phpstan": "^2.2.0" }, "require-dev": { - "doctrine/coding-standard": "^13", + "doctrine/coding-standard": "^14", "laravel/framework": "^11.44.2 || ^12.7.2 || ^13", "mockery/mockery": "^1.6.12", "nikic/php-parser": "^5.4", "orchestra/canvas": "^v9.2.2 || ^10.0.1 || ^11", "orchestra/testbench-core": "^9.12.0 || ^10.1 || ^11", "phpstan/phpstan-deprecation-rules": "^2.0.1", - "phpunit/phpunit": "^10.5.35 || ^11.5.15 || ^12.5.8" + "phpunit/phpunit": "^10.5.35 || ^11.5.15 || ^12.5.8 || ^13.1.8" }, "suggest": { "orchestra/testbench": "Using Larastan for analysing a package needs Testbench", @@ -10922,7 +10949,7 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v3.9.6" + "source": "https://github.com/larastan/larastan/tree/v3.10.0" }, "funding": [ { @@ -10930,7 +10957,7 @@ "type": "github" } ], - "time": "2026-04-16T10:02:43+00:00" + "time": "2026-05-28T08:00:58+00:00" }, { "name": "laravel-json-api/testing", @@ -11534,11 +11561,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.55", + "version": "2.2.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9eaac3826ed5e9b8427350a43cac825eeca3f566", - "reference": "9eaac3826ed5e9b8427350a43cac825eeca3f566", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e5cc34d491a90e79c216d824f60fe21fd4d93bd6", + "reference": "e5cc34d491a90e79c216d824f60fe21fd4d93bd6", "shasum": "" }, "require": { @@ -11561,6 +11588,17 @@ "license": [ "MIT" ], + "authors": [ + { + "name": "Ondřej Mirtes" + }, + { + "name": "Markus Staab" + }, + { + "name": "Vincent Langlet" + } + ], "description": "PHPStan - PHP Static Analysis Tool", "keywords": [ "dev", @@ -11583,7 +11621,7 @@ "type": "github" } ], - "time": "2026-05-18T11:57:34+00:00" + "time": "2026-06-05T09:00:01+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -11688,16 +11726,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "14.1.9", + "version": "14.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "655533a65696bbc4231cd8027af150dadc40ec88" + "reference": "10d7da3628a99289cdf4c662dd7f0d73f1baec83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/655533a65696bbc4231cd8027af150dadc40ec88", - "reference": "655533a65696bbc4231cd8027af150dadc40ec88", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/10d7da3628a99289cdf4c662dd7f0d73f1baec83", + "reference": "10d7da3628a99289cdf4c662dd7f0d73f1baec83", "shasum": "" }, "require": { @@ -11709,14 +11747,14 @@ "php": ">=8.4", "phpunit/php-text-template": "^6.0", "sebastian/complexity": "^6.0", - "sebastian/environment": "^9.2", + "sebastian/environment": "^9.3.2", "sebastian/git-state": "^1.0", - "sebastian/lines-of-code": "^5.0", + "sebastian/lines-of-code": "^5.0.1", "sebastian/version": "^7.0", "theseer/tokenizer": "^2.0.1" }, "require-dev": { - "phpunit/phpunit": "^13.1" + "phpunit/phpunit": "^13.2.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -11725,7 +11763,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "14.1.x-dev" + "dev-main": "14.2.x-dev" } }, "autoload": { @@ -11754,7 +11792,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/14.1.9" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/14.2.2" }, "funding": [ { @@ -11774,7 +11812,7 @@ "type": "tidelift" } ], - "time": "2026-05-16T05:16:14+00:00" + "time": "2026-06-08T11:50:38+00:00" }, { "name": "phpunit/php-file-iterator", @@ -12071,16 +12109,16 @@ }, { "name": "phpunit/phpunit", - "version": "13.1.10", + "version": "13.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "38959098d3c10660a189afaa35a94290c1de67bb" + "reference": "60da0ff1e10a0f72ee18a24117ec3b613a346bba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/38959098d3c10660a189afaa35a94290c1de67bb", - "reference": "38959098d3c10660a189afaa35a94290c1de67bb", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/60da0ff1e10a0f72ee18a24117ec3b613a346bba", + "reference": "60da0ff1e10a0f72ee18a24117ec3b613a346bba", "shasum": "" }, "require": { @@ -12094,21 +12132,22 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.4.1", - "phpunit/php-code-coverage": "^14.1.8", + "phpunit/php-code-coverage": "^14.2.2", "phpunit/php-file-iterator": "^7.0.0", "phpunit/php-invoker": "^7.0.0", "phpunit/php-text-template": "^6.0.0", "phpunit/php-timer": "^9.0.0", "sebastian/cli-parser": "^5.0.0", - "sebastian/comparator": "^8.1.3", - "sebastian/diff": "^8.3.0", - "sebastian/environment": "^9.3.0", - "sebastian/exporter": "^8.0.2", + "sebastian/comparator": "^8.3.0", + "sebastian/diff": "^9.0", + "sebastian/environment": "^9.3.2", + "sebastian/exporter": "^8.1.0", + "sebastian/file-filter": "^1.0", "sebastian/git-state": "^1.0", - "sebastian/global-state": "^9.0.0", + "sebastian/global-state": "^9.0.1", "sebastian/object-enumerator": "^8.0.0", "sebastian/recursion-context": "^8.0.0", - "sebastian/type": "^7.0.0", + "sebastian/type": "^7.0.1", "sebastian/version": "^7.0.0", "staabm/side-effects-detector": "^1.0.5" }, @@ -12118,7 +12157,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "13.1-dev" + "dev-main": "13.2-dev" } }, "autoload": { @@ -12150,7 +12189,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/13.1.10" + "source": "https://github.com/sebastianbergmann/phpunit/tree/13.2.1" }, "funding": [ { @@ -12158,25 +12197,25 @@ "type": "other" } ], - "time": "2026-05-15T08:03:56+00:00" + "time": "2026-06-15T13:14:22+00:00" }, { "name": "rector/rector", - "version": "2.4.4", + "version": "2.5.2", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "4661c582a20f03df585d2e3fdc4af1b83d67a091" + "reference": "49ff6339174bdbdf50b0b35ecbcff14a05ac9e24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/4661c582a20f03df585d2e3fdc4af1b83d67a091", - "reference": "4661c582a20f03df585d2e3fdc4af1b83d67a091", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/49ff6339174bdbdf50b0b35ecbcff14a05ac9e24", + "reference": "49ff6339174bdbdf50b0b35ecbcff14a05ac9e24", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "phpstan/phpstan": "^2.1.48" + "phpstan/phpstan": "^2.2.2" }, "conflict": { "rector/rector-doctrine": "*", @@ -12210,7 +12249,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/2.4.4" + "source": "https://github.com/rectorphp/rector/tree/2.5.2" }, "funding": [ { @@ -12218,7 +12257,7 @@ "type": "github" } ], - "time": "2026-05-20T19:30:21+00:00" + "time": "2026-06-22T11:39:33+00:00" }, { "name": "sebastian/cli-parser", @@ -12291,27 +12330,27 @@ }, { "name": "sebastian/comparator", - "version": "8.2.1", + "version": "8.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "ce999bf08b2c387a5423fe56961c32eed3f88089" + "reference": "c025fc7604afab3f195fab7cdaf72327331af241" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ce999bf08b2c387a5423fe56961c32eed3f88089", - "reference": "ce999bf08b2c387a5423fe56961c32eed3f88089", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c025fc7604afab3f195fab7cdaf72327331af241", + "reference": "c025fc7604afab3f195fab7cdaf72327331af241", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", "php": ">=8.4", - "sebastian/diff": "^8.3", - "sebastian/exporter": "^8.0.3" + "sebastian/diff": "^9.0", + "sebastian/exporter": "^8.1.0" }, "require-dev": { - "phpunit/phpunit": "^13.1.10" + "phpunit/phpunit": "^13.2" }, "suggest": { "ext-bcmath": "For comparing BcMath\\Number objects" @@ -12319,7 +12358,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "8.2-dev" + "dev-main": "8.3-dev" } }, "autoload": { @@ -12359,7 +12398,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/8.2.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/8.3.0" }, "funding": [ { @@ -12379,7 +12418,7 @@ "type": "tidelift" } ], - "time": "2026-05-21T04:46:40+00:00" + "time": "2026-06-05T03:06:45+00:00" }, { "name": "sebastian/complexity", @@ -12453,29 +12492,29 @@ }, { "name": "sebastian/diff", - "version": "8.3.0", + "version": "9.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "b36d33b6e796513de7cb7df053afb3f55eefcd47" + "reference": "a3fb6a298a265ff487a91bbea46e03cd01dbb226" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b36d33b6e796513de7cb7df053afb3f55eefcd47", - "reference": "b36d33b6e796513de7cb7df053afb3f55eefcd47", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/a3fb6a298a265ff487a91bbea46e03cd01dbb226", + "reference": "a3fb6a298a265ff487a91bbea46e03cd01dbb226", "shasum": "" }, "require": { "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^13.0", - "symfony/process": "^7.2" + "phpunit/phpunit": "^13.2", + "symfony/process": "^7.4.13" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "8.3-dev" + "dev-main": "9.0-dev" } }, "autoload": { @@ -12508,7 +12547,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/8.3.0" + "source": "https://github.com/sebastianbergmann/diff/tree/9.0.0" }, "funding": [ { @@ -12528,27 +12567,27 @@ "type": "tidelift" } ], - "time": "2026-05-15T04:58:09+00:00" + "time": "2026-06-05T03:04:51+00:00" }, { "name": "sebastian/environment", - "version": "9.3.0", + "version": "9.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6767059a30e4277ac95ee034809e793528464768" + "reference": "6c9e487c9eb706a8d258102a1c0b0a3e53e86c2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6767059a30e4277ac95ee034809e793528464768", - "reference": "6767059a30e4277ac95ee034809e793528464768", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6c9e487c9eb706a8d258102a1c0b0a3e53e86c2e", + "reference": "6c9e487c9eb706a8d258102a1c0b0a3e53e86c2e", "shasum": "" }, "require": { "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^13.0" + "phpunit/phpunit": "^13.1.11" }, "suggest": { "ext-posix": "*" @@ -12584,7 +12623,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/9.3.0" + "source": "https://github.com/sebastianbergmann/environment/tree/9.3.2" }, "funding": [ { @@ -12604,20 +12643,20 @@ "type": "tidelift" } ], - "time": "2026-04-15T12:14:03+00:00" + "time": "2026-05-25T13:41:38+00:00" }, { "name": "sebastian/exporter", - "version": "8.0.3", + "version": "8.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "9b54f1afabb977a097ef353600d41a372ccde617" + "reference": "c0d29a945f8cf82f300a05e69874508e307ca4c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/9b54f1afabb977a097ef353600d41a372ccde617", - "reference": "9b54f1afabb977a097ef353600d41a372ccde617", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c0d29a945f8cf82f300a05e69874508e307ca4c6", + "reference": "c0d29a945f8cf82f300a05e69874508e307ca4c6", "shasum": "" }, "require": { @@ -12631,7 +12670,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "8.0-dev" + "dev-main": "8.1-dev" } }, "autoload": { @@ -12674,7 +12713,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/8.0.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/8.1.0" }, "funding": [ { @@ -12694,7 +12733,76 @@ "type": "tidelift" } ], - "time": "2026-05-20T04:38:47+00:00" + "time": "2026-05-21T11:50:56+00:00" + }, + { + "name": "sebastian/file-filter", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/file-filter.git", + "reference": "33a26f394330f6faa7684bb9cc73afb7727aae93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/file-filter/zipball/33a26f394330f6faa7684bb9cc73afb7727aae93", + "reference": "33a26f394330f6faa7684bb9cc73afb7727aae93", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "require-dev": { + "phpunit/phpunit": "^13.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for filtering files", + "homepage": "https://github.com/sebastianbergmann/file-filter", + "support": { + "issues": "https://github.com/sebastianbergmann/file-filter/issues", + "security": "https://github.com/sebastianbergmann/file-filter/security/policy", + "source": "https://github.com/sebastianbergmann/file-filter/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/file-filter", + "type": "tidelift" + } + ], + "time": "2026-04-22T07:20:04+00:00" }, { "name": "sebastian/git-state", @@ -12767,16 +12875,16 @@ }, { "name": "sebastian/global-state", - "version": "9.0.0", + "version": "9.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e52e3dc22441e6218c710afe72c3042f8fc41ea7" + "reference": "ba68ba79da690cf7eddefd3ce5b78b20b9ba9945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e52e3dc22441e6218c710afe72c3042f8fc41ea7", - "reference": "e52e3dc22441e6218c710afe72c3042f8fc41ea7", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ba68ba79da690cf7eddefd3ce5b78b20b9ba9945", + "reference": "ba68ba79da690cf7eddefd3ce5b78b20b9ba9945", "shasum": "" }, "require": { @@ -12786,7 +12894,7 @@ }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^13.0" + "phpunit/phpunit": "^13.1.13" }, "type": "library", "extra": { @@ -12817,7 +12925,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/9.0.0" + "source": "https://github.com/sebastianbergmann/global-state/tree/9.0.1" }, "funding": [ { @@ -12837,7 +12945,7 @@ "type": "tidelift" } ], - "time": "2026-02-06T04:45:13+00:00" + "time": "2026-06-01T15:11:33+00:00" }, { "name": "sebastian/lines-of-code", @@ -13312,23 +13420,23 @@ }, { "name": "thecodingmachine/phpstan-safe-rule", - "version": "v1.4.3", + "version": "v1.4.7", "source": { "type": "git", "url": "https://github.com/thecodingmachine/phpstan-safe-rule.git", - "reference": "5c804889253ce9498ef185e108e9f94b6023208e" + "reference": "51fa2a35a270f683fc9ea53384a03e892b4d7b51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/phpstan-safe-rule/zipball/5c804889253ce9498ef185e108e9f94b6023208e", - "reference": "5c804889253ce9498ef185e108e9f94b6023208e", + "url": "https://api.github.com/repos/thecodingmachine/phpstan-safe-rule/zipball/51fa2a35a270f683fc9ea53384a03e892b4d7b51", + "reference": "51fa2a35a270f683fc9ea53384a03e892b4d7b51", "shasum": "" }, "require": { "nikic/php-parser": "^5", "php": "^8.1", - "phpstan/phpstan": "^2.1.11", - "thecodingmachine/safe": "^1.2 || ^2.0 || ^3.0" + "phpstan/phpstan": "^2.2.2", + "thecodingmachine/safe": "^3.1" }, "require-dev": { "php-coveralls/php-coveralls": "^2.1", @@ -13364,9 +13472,9 @@ "description": "A PHPStan rule to detect safety issues. Must be used in conjunction with thecodingmachine/safe", "support": { "issues": "https://github.com/thecodingmachine/phpstan-safe-rule/issues", - "source": "https://github.com/thecodingmachine/phpstan-safe-rule/tree/v1.4.3" + "source": "https://github.com/thecodingmachine/phpstan-safe-rule/tree/v1.4.7" }, - "time": "2025-11-21T09:41:49+00:00" + "time": "2026-06-21T07:55:55+00:00" }, { "name": "theseer/tokenizer", diff --git a/resources/assets/v1/src/components/webhooks/Index.vue b/resources/assets/v1/src/components/webhooks/Index.vue index 7771ca9389..013070d378 100644 --- a/resources/assets/v1/src/components/webhooks/Index.vue +++ b/resources/assets/v1/src/components/webhooks/Index.vue @@ -27,7 +27,7 @@ {{ $t('firefly.webhooks') }} -