Merge pull request #12637 from firefly-iii/release-1787414538

🤖 Automatically merge the PR into the develop branch.
This commit is contained in:
github-actions[bot]
2026-08-22 18:02:28 +02:00
committed by GitHub
13 changed files with 211 additions and 169 deletions
+36 -36
View File
@@ -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",
@@ -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'];
}
}
@@ -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
}
}
@@ -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']);
@@ -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;
@@ -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);
+14 -2
View File
@@ -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));
@@ -1,6 +1,5 @@
<?php
/*
* UpdatesAccountInformation.php
* Copyright (c) 2026 james@firefly-iii.org
@@ -1,6 +1,5 @@
<?php
/*
* HandlesNewUserRegistration.php
* Copyright (c) 2026 james@firefly-iii.org
@@ -222,7 +222,14 @@ trait AugumentData
$currentEnd->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;
@@ -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;
Generated
+120 -120
View File
@@ -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",
+2 -2
View File
@@ -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.