From 0d6c1c7d5d36267a9f9b837aac5fb8d0c657b119 Mon Sep 17 00:00:00 2001 From: JC5 Date: Sat, 22 Aug 2026 18:02:19 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Auto=20commit=20for=20release=20?= =?UTF-8?q?'develop'=20on=202026-08-22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .ci/php-cs-fixer/composer.lock | 72 +++--- .../Insight/Income/TagController.php | 5 +- .../Insight/Transfer/TagController.php | 5 +- .../Budget/BudgetLimitController.php | 8 +- .../Controllers/Budget/IndexController.php | 5 +- .../Controllers/Chart/BudgetController.php | 8 +- app/Jobs/CreateAutoBudgetLimits.php | 16 +- .../Account/UpdatesAccountInformation.php | 1 - .../System/HandlesNewUserRegistration.php | 1 - app/Support/Http/Controllers/AugumentData.php | 9 +- .../Enrichments/RecurringEnrichment.php | 6 +- composer.lock | 240 +++++++++--------- config/firefly.php | 4 +- 13 files changed, 211 insertions(+), 169 deletions(-) diff --git a/.ci/php-cs-fixer/composer.lock b/.ci/php-cs-fixer/composer.lock index 595f485cb8..1bec1a455d 100644 --- a/.ci/php-cs-fixer/composer.lock +++ b/.ci/php-cs-fixer/composer.lock @@ -468,16 +468,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.95.20", + "version": "v3.95.21", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "4d6c9886a77dbc1db3b9eaca6472cedf9eb1fab7" + "reference": "1228a1cd06e867846b5922a09d2ee948d8182e91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/4d6c9886a77dbc1db3b9eaca6472cedf9eb1fab7", - "reference": "4d6c9886a77dbc1db3b9eaca6472cedf9eb1fab7", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/1228a1cd06e867846b5922a09d2ee948d8182e91", + "reference": "1228a1cd06e867846b5922a09d2ee948d8182e91", "shasum": "" }, "require": { @@ -560,7 +560,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.20" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.21" }, "funding": [ { @@ -568,7 +568,7 @@ "type": "github" } ], - "time": "2026-08-19T16:28:14+00:00" + "time": "2026-08-21T17:03:47+00:00" }, { "name": "psr/container", @@ -1330,16 +1330,16 @@ }, { "name": "symfony/console", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "68efa2ebfd9a362951eb5a8b09fd177c66ddec24" + "reference": "d07c06839e33047e2c894a6793248f3fb66c8129" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/68efa2ebfd9a362951eb5a8b09fd177c66ddec24", - "reference": "68efa2ebfd9a362951eb5a8b09fd177c66ddec24", + "url": "https://api.github.com/repos/symfony/console/zipball/d07c06839e33047e2c894a6793248f3fb66c8129", + "reference": "d07c06839e33047e2c894a6793248f3fb66c8129", "shasum": "" }, "require": { @@ -1406,7 +1406,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v8.1.4" + "source": "https://github.com/symfony/console/tree/v8.1.5" }, "funding": [ { @@ -1426,7 +1426,7 @@ "type": "tidelift" } ], - "time": "2026-07-31T12:43:13+00:00" + "time": "2026-08-21T14:29:57+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1501,16 +1501,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "c14c05a9e6da7f5e375e6efc28952c7e7dbddffb" + "reference": "7458da64220376b2e0dc2d8451bf43382c1ad297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c14c05a9e6da7f5e375e6efc28952c7e7dbddffb", - "reference": "c14c05a9e6da7f5e375e6efc28952c7e7dbddffb", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7458da64220376b2e0dc2d8451bf43382c1ad297", + "reference": "7458da64220376b2e0dc2d8451bf43382c1ad297", "shasum": "" }, "require": { @@ -1563,7 +1563,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v8.1.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.1.5" }, "funding": [ { @@ -1583,7 +1583,7 @@ "type": "tidelift" } ], - "time": "2026-07-22T15:42:13+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -1667,16 +1667,16 @@ }, { "name": "symfony/filesystem", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "17856b7a222664a26a5ea1cb06ee0721c2438217" + "reference": "6b2f4a0eeb28b5d74f90862592923a654bc629b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/17856b7a222664a26a5ea1cb06ee0721c2438217", - "reference": "17856b7a222664a26a5ea1cb06ee0721c2438217", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6b2f4a0eeb28b5d74f90862592923a654bc629b3", + "reference": "6b2f4a0eeb28b5d74f90862592923a654bc629b3", "shasum": "" }, "require": { @@ -1714,7 +1714,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v8.1.2" + "source": "https://github.com/symfony/filesystem/tree/v8.1.5" }, "funding": [ { @@ -1734,20 +1734,20 @@ "type": "tidelift" } ], - "time": "2026-07-22T15:42:13+00:00" + "time": "2026-08-21T12:16:08+00:00" }, { "name": "symfony/finder", - "version": "v8.1.1", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e2989e762c70f9490fa3a00a0ac0fae5aa97a531" + "reference": "8d7acede2b2ae07605783d1c43e49b5767036474" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e2989e762c70f9490fa3a00a0ac0fae5aa97a531", - "reference": "e2989e762c70f9490fa3a00a0ac0fae5aa97a531", + "url": "https://api.github.com/repos/symfony/finder/zipball/8d7acede2b2ae07605783d1c43e49b5767036474", + "reference": "8d7acede2b2ae07605783d1c43e49b5767036474", "shasum": "" }, "require": { @@ -1782,7 +1782,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v8.1.1" + "source": "https://github.com/symfony/finder/tree/v8.1.5" }, "funding": [ { @@ -1802,7 +1802,7 @@ "type": "tidelift" } ], - "time": "2026-06-27T09:05:56+00:00" + "time": "2026-08-21T12:16:08+00:00" }, { "name": "symfony/options-resolver", @@ -2536,16 +2536,16 @@ }, { "name": "symfony/process", - "version": "v8.1.0", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c4a9e58f235a6bf7f97ffbfedae2687353ac79e5" + "reference": "d863f5e70d7c87abb906ac11b61f83036093000b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c4a9e58f235a6bf7f97ffbfedae2687353ac79e5", - "reference": "c4a9e58f235a6bf7f97ffbfedae2687353ac79e5", + "url": "https://api.github.com/repos/symfony/process/zipball/d863f5e70d7c87abb906ac11b61f83036093000b", + "reference": "d863f5e70d7c87abb906ac11b61f83036093000b", "shasum": "" }, "require": { @@ -2577,7 +2577,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v8.1.0" + "source": "https://github.com/symfony/process/tree/v8.1.5" }, "funding": [ { @@ -2597,7 +2597,7 @@ "type": "tidelift" } ], - "time": "2026-05-29T05:06:50+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/service-contracts", diff --git a/app/Api/V1/Controllers/Insight/Income/TagController.php b/app/Api/V1/Controllers/Insight/Income/TagController.php index df99eef909..94be2ae461 100644 --- a/app/Api/V1/Controllers/Insight/Income/TagController.php +++ b/app/Api/V1/Controllers/Insight/Income/TagController.php @@ -158,7 +158,10 @@ final class TagController extends Controller 'currency_id' => (string) $foreignCurrencyId, 'currency_code' => $journal['foreign_currency_code'], ]; - $response[$foreignKey]['difference'] = bcadd((string) $response[$foreignKey]['difference'], Steam::positive($journal['foreign_amount'])); + $response[$foreignKey]['difference'] = bcadd( + (string) $response[$foreignKey]['difference'], + Steam::positive($journal['foreign_amount']) + ); $response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; } } diff --git a/app/Api/V1/Controllers/Insight/Transfer/TagController.php b/app/Api/V1/Controllers/Insight/Transfer/TagController.php index f92a7aa9f0..b7b85fd376 100644 --- a/app/Api/V1/Controllers/Insight/Transfer/TagController.php +++ b/app/Api/V1/Controllers/Insight/Transfer/TagController.php @@ -155,7 +155,10 @@ final class TagController extends Controller 'currency_id' => (string) $foreignCurrencyId, 'currency_code' => $journal['foreign_currency_code'], ]; - $response[$foreignKey]['difference'] = bcadd((string) $response[$foreignKey]['difference'], Steam::positive($journal['foreign_amount'])); + $response[$foreignKey]['difference'] = bcadd( + (string) $response[$foreignKey]['difference'], + Steam::positive($journal['foreign_amount']) + ); $response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; // intentional float } } diff --git a/app/Http/Controllers/Budget/BudgetLimitController.php b/app/Http/Controllers/Budget/BudgetLimitController.php index de7337738f..04d75cd738 100644 --- a/app/Http/Controllers/Budget/BudgetLimitController.php +++ b/app/Http/Controllers/Budget/BudgetLimitController.php @@ -198,7 +198,13 @@ final class BudgetLimitController extends Controller if ($request->expectsJson()) { $array = $limit->toArray(); // add some extra metadata: - $spentArr = $this->opsRepository->sumExpenses($limit->start_date, $limit->end_date, null, new Collection()->push($budget), $currency); + $spentArr = $this->opsRepository->sumExpenses( + $limit->start_date, + $limit->end_date, + null, + new Collection()->push($budget), + $currency + ); $array['spent'] = $spentArr[$currency->id]['sum'] ?? '0'; $array['left_formatted'] = Amount::formatAnything($limit->transactionCurrency, bcadd($array['spent'], (string) $array['amount'])); $array['amount_formatted'] = Amount::formatAnything($limit->transactionCurrency, $limit['amount']); diff --git a/app/Http/Controllers/Budget/IndexController.php b/app/Http/Controllers/Budget/IndexController.php index 215ebbd484..d40d4432a3 100644 --- a/app/Http/Controllers/Budget/IndexController.php +++ b/app/Http/Controllers/Budget/IndexController.php @@ -284,7 +284,10 @@ final class IndexController extends Controller if (array_key_exists($currency->id, $spentArr) && array_key_exists('sum', $spentArr[$currency->id])) { $array['spent'][$currency->id]['spent'] = $spentArr[$currency->id]['sum']; - $array['spent'][$currency->id]['spent_outside'] = Steam::negative(bcsub($spentInLimits[$currency->id], $spentArr[$currency->id]['sum'])); + $array['spent'][$currency->id]['spent_outside'] = Steam::negative(bcsub( + $spentInLimits[$currency->id], + $spentArr[$currency->id]['sum'] + )); $array['spent'][$currency->id]['currency_id'] = $currency->id; $array['spent'][$currency->id]['currency_symbol'] = $currency->symbol; $array['spent'][$currency->id]['currency_decimal_places'] = $currency->decimal_places; diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index ad724137dc..f4b32fe5c5 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -539,7 +539,13 @@ final class BudgetController extends Controller } // get spent amount in this period for this currency. - $sum = $this->opsRepository->sumExpenses($currentStart, $currentEnd, $accounts, new Collection()->push($budget), $currency); + $sum = $this->opsRepository->sumExpenses( + $currentStart, + $currentEnd, + $accounts, + new Collection()->push($budget), + $currency + ); $amount = Steam::positive($sum[$currency->id]['sum'] ?? '0'); $chartData[0]['entries'][$title] = Steam::bcround($amount, $currency->decimal_places); diff --git a/app/Jobs/CreateAutoBudgetLimits.php b/app/Jobs/CreateAutoBudgetLimits.php index ceede3cd1c..39c60c3b9a 100644 --- a/app/Jobs/CreateAutoBudgetLimits.php +++ b/app/Jobs/CreateAutoBudgetLimits.php @@ -135,7 +135,13 @@ class CreateAutoBudgetLimits implements ShouldQueue // if has one, calculate expenses and use that as a base. $repository = app(OperationsRepositoryInterface::class); $repository->setUser($autoBudget->budget->user); - $spent = $repository->sumExpenses($previousStart, $previousEnd, null, new Collection()->push($autoBudget->budget), $autoBudget->transactionCurrency); + $spent = $repository->sumExpenses( + $previousStart, + $previousEnd, + null, + new Collection()->push($autoBudget->budget), + $autoBudget->transactionCurrency + ); $currencyId = $autoBudget->transaction_currency_id; $spentAmount = $spent[$currencyId]['sum'] ?? '0'; Log::debug(sprintf('Spent in previous budget period (%s-%s) is %s', $previousStart->format('Y-m-d'), $previousEnd->format('Y-m-d'), $spentAmount)); @@ -225,7 +231,13 @@ class CreateAutoBudgetLimits implements ShouldQueue // if has one, calculate expenses and use that as a base. $repository = app(OperationsRepositoryInterface::class); $repository->setUser($autoBudget->budget->user); - $spent = $repository->sumExpenses($previousStart, $previousEnd, null, new Collection()->push($autoBudget->budget), $autoBudget->transactionCurrency); + $spent = $repository->sumExpenses( + $previousStart, + $previousEnd, + null, + new Collection()->push($autoBudget->budget), + $autoBudget->transactionCurrency + ); $currencyId = $autoBudget->transaction_currency_id; $spentAmount = $spent[$currencyId]['sum'] ?? '0'; Log::debug(sprintf('Spent in previous budget period (%s-%s) is %s', $previousStart->format('Y-m-d'), $previousEnd->format('Y-m-d'), $spentAmount)); diff --git a/app/Listeners/Model/Account/UpdatesAccountInformation.php b/app/Listeners/Model/Account/UpdatesAccountInformation.php index e4419cc54b..63714e2153 100644 --- a/app/Listeners/Model/Account/UpdatesAccountInformation.php +++ b/app/Listeners/Model/Account/UpdatesAccountInformation.php @@ -1,6 +1,5 @@ addMonth(); } // primary currency amount. - $expenses = $opsRepository->sumExpenses($currentStart, $currentEnd, null, $budgetCollection, $entry->transactionCurrency, $this->convertToPrimary); + $expenses = $opsRepository->sumExpenses( + $currentStart, + $currentEnd, + null, + $budgetCollection, + $entry->transactionCurrency, + $this->convertToPrimary + ); $spent = $expenses[$currency->id]['sum'] ?? '0'; $entry->pc_spent = $spent; diff --git a/app/Support/JsonApi/Enrichments/RecurringEnrichment.php b/app/Support/JsonApi/Enrichments/RecurringEnrichment.php index d0c09bf027..2428353cb0 100644 --- a/app/Support/JsonApi/Enrichments/RecurringEnrichment.php +++ b/app/Support/JsonApi/Enrichments/RecurringEnrichment.php @@ -354,7 +354,11 @@ class RecurringEnrichment implements EnrichmentInterface /** @var RecurrenceRepetition $repetition */ foreach ($set as $repetition) { - $recurrence = $this->collection->filter(static fn (Recurrence $item): bool => (int) $item->id === (int) $repetition->recurrence_id)->first(); + $recurrence = $this->collection->filter( + static fn (Recurrence $item): bool => (int) $item->id === (int) $repetition->recurrence_id + ) + ->first() + ; $fromDate = clone ($recurrence->latest_date ?? $recurrence->first_date); $recurrenceId = (int) $repetition->recurrence_id; $repId = (int) $repetition->id; diff --git a/composer.lock b/composer.lock index 3ba7621071..5be98b7024 100644 --- a/composer.lock +++ b/composer.lock @@ -2847,16 +2847,16 @@ }, { "name": "league/flysystem", - "version": "3.35.2", + "version": "3.35.3", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "b277b5dc3d56650b68904117124e79c851e12376" + "reference": "5fc8404762179ae514678487b23494fd69b2309c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b277b5dc3d56650b68904117124e79c851e12376", - "reference": "b277b5dc3d56650b68904117124e79c851e12376", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/5fc8404762179ae514678487b23494fd69b2309c", + "reference": "5fc8404762179ae514678487b23494fd69b2309c", "shasum": "" }, "require": { @@ -2924,22 +2924,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.35.2" + "source": "https://github.com/thephpleague/flysystem/tree/3.35.3" }, - "time": "2026-07-06T14:42:07+00:00" + "time": "2026-08-22T12:55:54+00:00" }, { "name": "league/flysystem-local", - "version": "3.31.0", + "version": "3.35.3", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079" + "reference": "a099b24dce160f3b2239043d13d47c4a1a214ea4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079", - "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/a099b24dce160f3b2239043d13d47c4a1a214ea4", + "reference": "a099b24dce160f3b2239043d13d47c4a1a214ea4", "shasum": "" }, "require": { @@ -2973,9 +2973,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.35.3" }, - "time": "2026-01-23T15:30:45+00:00" + "time": "2026-08-12T13:29:21+00:00" }, { "name": "league/fractal", @@ -6384,16 +6384,16 @@ }, { "name": "symfony/cache", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "77aaed12441eff519d7028cb851f893d7969f768" + "reference": "c12be586c0e4798e649e7501aa9181ddc9d93310" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/77aaed12441eff519d7028cb851f893d7969f768", - "reference": "77aaed12441eff519d7028cb851f893d7969f768", + "url": "https://api.github.com/repos/symfony/cache/zipball/c12be586c0e4798e649e7501aa9181ddc9d93310", + "reference": "c12be586c0e4798e649e7501aa9181ddc9d93310", "shasum": "" }, "require": { @@ -6414,7 +6414,7 @@ "symfony/cache-implementation": "1.1|2.0|3.0" }, "require-dev": { - "cache/integration-tests": "dev-master", + "cache/integration-tests": "^1.0.3", "doctrine/dbal": "^4.3", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", @@ -6459,7 +6459,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v8.1.4" + "source": "https://github.com/symfony/cache/tree/v8.1.5" }, "funding": [ { @@ -6479,7 +6479,7 @@ "type": "tidelift" } ], - "time": "2026-08-01T16:22:31+00:00" + "time": "2026-08-19T08:32:28+00:00" }, { "name": "symfony/cache-contracts", @@ -6640,16 +6640,16 @@ }, { "name": "symfony/console", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "68efa2ebfd9a362951eb5a8b09fd177c66ddec24" + "reference": "d07c06839e33047e2c894a6793248f3fb66c8129" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/68efa2ebfd9a362951eb5a8b09fd177c66ddec24", - "reference": "68efa2ebfd9a362951eb5a8b09fd177c66ddec24", + "url": "https://api.github.com/repos/symfony/console/zipball/d07c06839e33047e2c894a6793248f3fb66c8129", + "reference": "d07c06839e33047e2c894a6793248f3fb66c8129", "shasum": "" }, "require": { @@ -6716,7 +6716,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v8.1.4" + "source": "https://github.com/symfony/console/tree/v8.1.5" }, "funding": [ { @@ -6736,20 +6736,20 @@ "type": "tidelift" } ], - "time": "2026-07-31T12:43:13+00:00" + "time": "2026-08-21T14:29:57+00:00" }, { "name": "symfony/css-selector", - "version": "v8.1.0", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "dc0e2be45c9b5588c82414f02ac574b4b986abcd" + "reference": "a291fb5adb65f52a4bb315db2d803698315dc64d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/dc0e2be45c9b5588c82414f02ac574b4b986abcd", - "reference": "dc0e2be45c9b5588c82414f02ac574b4b986abcd", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/a291fb5adb65f52a4bb315db2d803698315dc64d", + "reference": "a291fb5adb65f52a4bb315db2d803698315dc64d", "shasum": "" }, "require": { @@ -6785,7 +6785,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v8.1.0" + "source": "https://github.com/symfony/css-selector/tree/v8.1.5" }, "funding": [ { @@ -6805,7 +6805,7 @@ "type": "tidelift" } ], - "time": "2026-05-29T05:06:50+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/deprecation-contracts", @@ -6880,16 +6880,16 @@ }, { "name": "symfony/error-handler", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "dc98404be5e8c949815e23fee1928f5de4f3f5d3" + "reference": "8b2a4289ffe5e2dc8fcf645b8e7870e1fa0325ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/dc98404be5e8c949815e23fee1928f5de4f3f5d3", - "reference": "dc98404be5e8c949815e23fee1928f5de4f3f5d3", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8b2a4289ffe5e2dc8fcf645b8e7870e1fa0325ce", + "reference": "8b2a4289ffe5e2dc8fcf645b8e7870e1fa0325ce", "shasum": "" }, "require": { @@ -6937,7 +6937,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v8.1.2" + "source": "https://github.com/symfony/error-handler/tree/v8.1.5" }, "funding": [ { @@ -6957,20 +6957,20 @@ "type": "tidelift" } ], - "time": "2026-07-22T15:42:13+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "c14c05a9e6da7f5e375e6efc28952c7e7dbddffb" + "reference": "7458da64220376b2e0dc2d8451bf43382c1ad297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c14c05a9e6da7f5e375e6efc28952c7e7dbddffb", - "reference": "c14c05a9e6da7f5e375e6efc28952c7e7dbddffb", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7458da64220376b2e0dc2d8451bf43382c1ad297", + "reference": "7458da64220376b2e0dc2d8451bf43382c1ad297", "shasum": "" }, "require": { @@ -7023,7 +7023,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v8.1.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.1.5" }, "funding": [ { @@ -7043,7 +7043,7 @@ "type": "tidelift" } ], - "time": "2026-07-22T15:42:13+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7194,16 +7194,16 @@ }, { "name": "symfony/finder", - "version": "v8.1.1", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e2989e762c70f9490fa3a00a0ac0fae5aa97a531" + "reference": "8d7acede2b2ae07605783d1c43e49b5767036474" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e2989e762c70f9490fa3a00a0ac0fae5aa97a531", - "reference": "e2989e762c70f9490fa3a00a0ac0fae5aa97a531", + "url": "https://api.github.com/repos/symfony/finder/zipball/8d7acede2b2ae07605783d1c43e49b5767036474", + "reference": "8d7acede2b2ae07605783d1c43e49b5767036474", "shasum": "" }, "require": { @@ -7238,7 +7238,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v8.1.1" + "source": "https://github.com/symfony/finder/tree/v8.1.5" }, "funding": [ { @@ -7258,20 +7258,20 @@ "type": "tidelift" } ], - "time": "2026-06-27T09:05:56+00:00" + "time": "2026-08-21T12:16:08+00:00" }, { "name": "symfony/http-client", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "f8d33e21c749e931a33c98b1f6a8ea378b29627a" + "reference": "9f941ed000bb11f16dc7eafed98a7b646d3b3e5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/f8d33e21c749e931a33c98b1f6a8ea378b29627a", - "reference": "f8d33e21c749e931a33c98b1f6a8ea378b29627a", + "url": "https://api.github.com/repos/symfony/http-client/zipball/9f941ed000bb11f16dc7eafed98a7b646d3b3e5d", + "reference": "9f941ed000bb11f16dc7eafed98a7b646d3b3e5d", "shasum": "" }, "require": { @@ -7335,7 +7335,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v8.1.4" + "source": "https://github.com/symfony/http-client/tree/v8.1.5" }, "funding": [ { @@ -7355,7 +7355,7 @@ "type": "tidelift" } ], - "time": "2026-08-06T21:11:24+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/http-client-contracts", @@ -7441,16 +7441,16 @@ }, { "name": "symfony/http-foundation", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "57e712b75f2d0bc8844edbdb18a81dab6f9d55c2" + "reference": "ee16f97e95cfa011a742714d7c8c8f70fe7423f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/57e712b75f2d0bc8844edbdb18a81dab6f9d55c2", - "reference": "57e712b75f2d0bc8844edbdb18a81dab6f9d55c2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ee16f97e95cfa011a742714d7c8c8f70fe7423f4", + "reference": "ee16f97e95cfa011a742714d7c8c8f70fe7423f4", "shasum": "" }, "require": { @@ -7498,7 +7498,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v8.1.4" + "source": "https://github.com/symfony/http-foundation/tree/v8.1.5" }, "funding": [ { @@ -7518,20 +7518,20 @@ "type": "tidelift" } ], - "time": "2026-08-07T15:02:39+00:00" + "time": "2026-08-20T09:59:12+00:00" }, { "name": "symfony/http-kernel", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "69d81d8a5dac32a5d94e4eb063b7d97dc42c792a" + "reference": "0306e1e65b90023fe40de6c6be95d06396bcb2e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/69d81d8a5dac32a5d94e4eb063b7d97dc42c792a", - "reference": "69d81d8a5dac32a5d94e4eb063b7d97dc42c792a", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0306e1e65b90023fe40de6c6be95d06396bcb2e6", + "reference": "0306e1e65b90023fe40de6c6be95d06396bcb2e6", "shasum": "" }, "require": { @@ -7608,7 +7608,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v8.1.4" + "source": "https://github.com/symfony/http-kernel/tree/v8.1.5" }, "funding": [ { @@ -7628,20 +7628,20 @@ "type": "tidelift" } ], - "time": "2026-08-07T18:04:54+00:00" + "time": "2026-08-22T13:45:00+00:00" }, { "name": "symfony/mailer", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "221c7f326ace1ac2baee8331d829d5b7f04f4d53" + "reference": "89f43137da74b8f1aab37c99926482b7084f51b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/221c7f326ace1ac2baee8331d829d5b7f04f4d53", - "reference": "221c7f326ace1ac2baee8331d829d5b7f04f4d53", + "url": "https://api.github.com/repos/symfony/mailer/zipball/89f43137da74b8f1aab37c99926482b7084f51b9", + "reference": "89f43137da74b8f1aab37c99926482b7084f51b9", "shasum": "" }, "require": { @@ -7688,7 +7688,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v8.1.2" + "source": "https://github.com/symfony/mailer/tree/v8.1.5" }, "funding": [ { @@ -7708,7 +7708,7 @@ "type": "tidelift" } ], - "time": "2026-07-28T07:35:25+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/mailgun-mailer", @@ -7782,16 +7782,16 @@ }, { "name": "symfony/mime", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "8f8ac859d369fe3d18e3837998b1c992bbee92c9" + "reference": "1b36ccfd7ccb9ad1d6eafb9024b3dd3d9606b15f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/8f8ac859d369fe3d18e3837998b1c992bbee92c9", - "reference": "8f8ac859d369fe3d18e3837998b1c992bbee92c9", + "url": "https://api.github.com/repos/symfony/mime/zipball/1b36ccfd7ccb9ad1d6eafb9024b3dd3d9606b15f", + "reference": "1b36ccfd7ccb9ad1d6eafb9024b3dd3d9606b15f", "shasum": "" }, "require": { @@ -7812,7 +7812,7 @@ "symfony/process": "^7.4|^8.0", "symfony/property-access": "^7.4|^8.0", "symfony/property-info": "^7.4|^8.0", - "symfony/serializer": "^7.4|^8.0" + "symfony/serializer": "^7.4.17|^8.1.5" }, "type": "library", "autoload": { @@ -7844,7 +7844,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v8.1.4" + "source": "https://github.com/symfony/mime/tree/v8.1.5" }, "funding": [ { @@ -7864,7 +7864,7 @@ "type": "tidelift" } ], - "time": "2026-08-07T15:02:39+00:00" + "time": "2026-08-22T09:06:25+00:00" }, { "name": "symfony/options-resolver", @@ -8770,16 +8770,16 @@ }, { "name": "symfony/process", - "version": "v8.1.0", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c4a9e58f235a6bf7f97ffbfedae2687353ac79e5" + "reference": "d863f5e70d7c87abb906ac11b61f83036093000b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c4a9e58f235a6bf7f97ffbfedae2687353ac79e5", - "reference": "c4a9e58f235a6bf7f97ffbfedae2687353ac79e5", + "url": "https://api.github.com/repos/symfony/process/zipball/d863f5e70d7c87abb906ac11b61f83036093000b", + "reference": "d863f5e70d7c87abb906ac11b61f83036093000b", "shasum": "" }, "require": { @@ -8811,7 +8811,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v8.1.0" + "source": "https://github.com/symfony/process/tree/v8.1.5" }, "funding": [ { @@ -8831,7 +8831,7 @@ "type": "tidelift" } ], - "time": "2026-05-29T05:06:50+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -8922,16 +8922,16 @@ }, { "name": "symfony/routing", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "1058d4e13bb81dd9a6f7565686df7e13b880cdbd" + "reference": "3c188091b6b4fa2e4bc83a135caede12deb8576c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/1058d4e13bb81dd9a6f7565686df7e13b880cdbd", - "reference": "1058d4e13bb81dd9a6f7565686df7e13b880cdbd", + "url": "https://api.github.com/repos/symfony/routing/zipball/3c188091b6b4fa2e4bc83a135caede12deb8576c", + "reference": "3c188091b6b4fa2e4bc83a135caede12deb8576c", "shasum": "" }, "require": { @@ -8978,7 +8978,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v8.1.2" + "source": "https://github.com/symfony/routing/tree/v8.1.5" }, "funding": [ { @@ -8998,7 +8998,7 @@ "type": "tidelift" } ], - "time": "2026-07-22T15:42:13+00:00" + "time": "2026-08-17T13:18:34+00:00" }, { "name": "symfony/service-contracts", @@ -9179,16 +9179,16 @@ }, { "name": "symfony/translation", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "c0955eb4aa417a110e65c8162237b8a5c7d910bf" + "reference": "d9e1caba0d6b6f9a26710af8a2f88d37f001215a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/c0955eb4aa417a110e65c8162237b8a5c7d910bf", - "reference": "c0955eb4aa417a110e65c8162237b8a5c7d910bf", + "url": "https://api.github.com/repos/symfony/translation/zipball/d9e1caba0d6b6f9a26710af8a2f88d37f001215a", + "reference": "d9e1caba0d6b6f9a26710af8a2f88d37f001215a", "shasum": "" }, "require": { @@ -9248,7 +9248,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v8.1.4" + "source": "https://github.com/symfony/translation/tree/v8.1.5" }, "funding": [ { @@ -9268,7 +9268,7 @@ "type": "tidelift" } ], - "time": "2026-07-30T12:40:56+00:00" + "time": "2026-08-21T17:47:34+00:00" }, { "name": "symfony/translation-contracts", @@ -9354,16 +9354,16 @@ }, { "name": "symfony/uid", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "50e98f8bc4c3fcdaf925545a65150fb42cf0caf2" + "reference": "a08aef47989093f32fe50fd11859be1b427df389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/50e98f8bc4c3fcdaf925545a65150fb42cf0caf2", - "reference": "50e98f8bc4c3fcdaf925545a65150fb42cf0caf2", + "url": "https://api.github.com/repos/symfony/uid/zipball/a08aef47989093f32fe50fd11859be1b427df389", + "reference": "a08aef47989093f32fe50fd11859be1b427df389", "shasum": "" }, "require": { @@ -9408,7 +9408,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v8.1.4" + "source": "https://github.com/symfony/uid/tree/v8.1.5" }, "funding": [ { @@ -9428,20 +9428,20 @@ "type": "tidelift" } ], - "time": "2026-08-02T11:29:46+00:00" + "time": "2026-08-11T13:39:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v8.1.2", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "865103cf742a039f34645b971fc3ace308d6c167" + "reference": "61743d9bc7ab23b194527ca1be2fafd7dc93b74a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/865103cf742a039f34645b971fc3ace308d6c167", - "reference": "865103cf742a039f34645b971fc3ace308d6c167", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/61743d9bc7ab23b194527ca1be2fafd7dc93b74a", + "reference": "61743d9bc7ab23b194527ca1be2fafd7dc93b74a", "shasum": "" }, "require": { @@ -9495,7 +9495,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v8.1.2" + "source": "https://github.com/symfony/var-dumper/tree/v8.1.5" }, "funding": [ { @@ -9515,20 +9515,20 @@ "type": "tidelift" } ], - "time": "2026-07-22T15:42:13+00:00" + "time": "2026-08-21T12:16:08+00:00" }, { "name": "symfony/var-exporter", - "version": "v8.1.4", + "version": "v8.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "6efa89335ab6d336643a807fcc89ae4f8a7a17e9" + "reference": "b8f7dd85493e8372c7c81a1547caaaf86b9c16d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/6efa89335ab6d336643a807fcc89ae4f8a7a17e9", - "reference": "6efa89335ab6d336643a807fcc89ae4f8a7a17e9", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b8f7dd85493e8372c7c81a1547caaaf86b9c16d1", + "reference": "b8f7dd85493e8372c7c81a1547caaaf86b9c16d1", "shasum": "" }, "require": { @@ -9578,7 +9578,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v8.1.4" + "source": "https://github.com/symfony/var-exporter/tree/v8.1.5" }, "funding": [ { @@ -9598,7 +9598,7 @@ "type": "tidelift" } ], - "time": "2026-07-30T12:40:56+00:00" + "time": "2026-08-13T16:11:28+00:00" }, { "name": "thecodingmachine/safe", @@ -11504,11 +11504,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.2.8", + "version": "2.2.9", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e285254e60f33c21902efef4a926ca0987c06804", - "reference": "e285254e60f33c21902efef4a926ca0987c06804", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/13d6b4f347bad222da436580c8304fa6f83e6bd0", + "reference": "13d6b4f347bad222da436580c8304fa6f83e6bd0", "shasum": "" }, "require": { @@ -11564,7 +11564,7 @@ "type": "github" } ], - "time": "2026-08-04T22:21:45+00:00" + "time": "2026-08-22T07:38:16+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", diff --git a/config/firefly.php b/config/firefly.php index a0824c3a1b..193fa481cf 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -78,8 +78,8 @@ return [ 'running_balance_column' => (bool)env_default_when_empty(env('USE_RUNNING_BALANCE'), true), // this is only the default value, is not used. // see cer.php for exchange rates feature flag. ], -'version' => 'develop/2026-08-21', -'build_time' => 1787321073, +'version' => 'develop/2026-08-22', +'build_time' => 1787414538, 'api_version' => '2.1.0', // field is no longer used. 'db_version' => 28, // field is no longer used.