Compare commits

..

14 Commits

Author SHA1 Message Date
github-actions[bot]
0e321ad82a Merge pull request #11765 from firefly-iii/develop
🤖 Automatically merge the PR into the main branch.
2026-02-20 08:01:53 +01:00
github-actions[bot]
c353a4de95 Merge pull request #11764 from firefly-iii/release-1771570899
🤖 Automatically merge the PR into the develop branch.
2026-02-20 08:01:47 +01:00
JC5
57f828a73c 🤖 Auto commit for release 'v6.4.23' on 2026-02-20 2026-02-20 08:01:39 +01:00
github-actions[bot]
11385b208b Merge pull request #11763 from firefly-iii/release-1771570551
🤖 Automatically merge the PR into the develop branch.
2026-02-20 07:55:59 +01:00
JC5
5584866b96 🤖 Auto commit for release 'develop' on 2026-02-20 2026-02-20 07:55:51 +01:00
James Cole
0b124d875a Update changelog. 2026-02-20 07:51:19 +01:00
James Cole
177cfad862 Fix https://github.com/orgs/firefly-iii/discussions/11736 2026-02-20 07:41:32 +01:00
github-actions[bot]
e929cf7cb0 Merge pull request #11762 from firefly-iii/release-1771564191
🤖 Automatically merge the PR into the develop branch.
2026-02-20 06:10:03 +01:00
JC5
528fda08e9 🤖 Auto commit for release 'develop' on 2026-02-20 2026-02-20 06:09:51 +01:00
James Cole
6f605e5fd2 Remove phpstan thing. 2026-02-20 06:08:43 +01:00
James Cole
7c76fc7721 Fix various issues and code quality things. 2026-02-20 06:04:21 +01:00
James Cole
474680dbbf Fix issue with invitee mail. 2026-02-20 05:44:51 +01:00
James Cole
8babc144fe Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop 2026-02-19 20:03:30 +01:00
James Cole
6eb14f8a96 Fix #11752 2026-02-19 19:55:52 +01:00
17 changed files with 69 additions and 12 deletions

View File

@@ -47,7 +47,7 @@ class CreatesDatabase extends Command
return Command::FAILURE;
}
if ('mysql' !== config('database.default')) { // @phpstan-ignore larastan.noEnvCallsOutsideOfConfig */
if ('mysql' !== config('database.default')) {
$this->friendlyInfo(sprintf('CreateDB does not apply to "%s", skipped.', config('database.default')));
return 0;

View File

@@ -45,11 +45,9 @@ class CategoryReportController extends Controller
use AugumentData;
use TransactionCalculation;
/** @var GeneratorInterface Chart generation methods. */
private $generator;
private GeneratorInterface $generator;
/** @var OperationsRepositoryInterface */
private $opsRepository;
private OperationsRepositoryInterface $opsRepository;
/**
* CategoryReportController constructor.

View File

@@ -62,7 +62,7 @@ class NotifiesAboutNewInvitation implements ShouldQueue
$url = route('invite', [$invitee->invite_code]);
try {
Mail::to($email)->send(new InvitationMail($invitee, $admin, $url));
Mail::to($email)->send(new InvitationMail($email, $admin, $url));
} catch (Exception $e) {
Log::error($e->getMessage());
Log::error($e->getTraceAsString());

View File

@@ -52,6 +52,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface, UserGroupIn
$collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::WITHDRAWAL->value])->withoutCategory();
if ($accounts instanceof Collection && $accounts->count() > 0) {
$collector->setAccounts($accounts);
$collector->excludeDestinationAccounts($accounts); // to exclude withdrawals to liabilities.
}
$journals = $collector->getExtractedJournals();
$array = [];
@@ -97,6 +98,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface, UserGroupIn
$collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionTypeEnum::DEPOSIT->value])->withoutCategory();
if ($accounts instanceof Collection && $accounts->count() > 0) {
$collector->setAccounts($accounts);
$collector->excludeSourceAccounts($accounts); // to prevent income from liabilities.
}
$journals = $collector->getExtractedJournals();
$array = [];

View File

@@ -160,6 +160,12 @@ class ExportDataGenerator
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
public function __construct()
{
$this->accounts = new Collection();

View File

@@ -76,6 +76,9 @@ class AvailableBudgetEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private readonly bool $convertToPrimary; // @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
@@ -112,6 +115,9 @@ class AvailableBudgetEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $currencies = [];
private array $currencyIds = [];
private array $ids = [];

View File

@@ -76,6 +76,9 @@ class BudgetLimitEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $currencies = [];
private array $currencyIds = [];
private Carbon $end;

View File

@@ -78,6 +78,9 @@ class PiggyBankEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $accounts = []; // @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
@@ -114,6 +117,9 @@ class PiggyBankEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $amounts = [];
private Collection $collection;
private array $currencies = [];

View File

@@ -73,6 +73,9 @@ class PiggyBankEventEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $accountIds = []; // @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
@@ -109,6 +112,9 @@ class PiggyBankEventEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private Collection $collection;
private array $currencies = [];
private array $groupIds = [];

View File

@@ -82,6 +82,9 @@ class SubscriptionEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private readonly bool $convertToPrimary;
private ?Carbon $end = null;
private array $mappedObjects = [];

View File

@@ -125,6 +125,12 @@ class TransactionGroupEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
public function __construct()
{
$this->dateFields = ['interest_date', 'book_date', 'process_date', 'due_date', 'payment_date', 'invoice_date'];

View File

@@ -78,6 +78,9 @@ class WebhookEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $ids = []; // @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
@@ -114,6 +117,9 @@ class WebhookEnrichment implements EnrichmentInterface
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
// @phpstan-ignore-line
private array $responses = [];
private array $triggers = [];
private array $webhookDeliveries = [];

View File

@@ -448,7 +448,7 @@ class Navigation
$locale = Steam::getLocale();
// define period to increment
$increment = 'addDay';
$format = $this->preferredCarbonFormat($start, $end);
$format = $this->preferredCarbonLocalizedFormat($start, $end);
$displayFormat = (string) trans('config.month_and_day_js', [], $locale);
$diff = $start->diffInMonths($end, true);
// increment by month (for year)

View File

@@ -2217,7 +2217,7 @@ class OperatorQuerySearch implements SearchInterface
// changed from includeTags to includeAnyTags for #8632
$ids = array_values($tags->pluck('id')->toArray());
$index = count($this->includeAnyTags);
$this->includeAnyTags[$index] = array_unique(array_merge($this->includeAnyTags[$index], $ids));
$this->includeAnyTags[$index] = array_unique(array_merge($this->includeAnyTags[$index] ?? [], $ids));
}
break;
@@ -2252,7 +2252,7 @@ class OperatorQuerySearch implements SearchInterface
if ($tags->count() > 0) {
$ids = array_values($tags->pluck('id')->toArray());
$index = count($this->includeAnyTags);
$this->includeAnyTags[$index] = array_unique(array_merge($this->includeAnyTags[$index], $ids));
$this->includeAnyTags[$index] = array_unique(array_merge($this->includeAnyTags[$index] ?? [], $ids));
}
break;

View File

@@ -246,7 +246,7 @@ class UpdatePiggyBank implements ActionInterface
Log::warning(sprintf('Cannot remove %s from piggy bank.', $amount));
$currency = $accountRepository->getAccountCurrency($account) ?? Amount::getPrimaryCurrency();
event(new RuleActionFailedOnArray($this->action, $array, trans('rules.cannot_remove_from_piggy', [
'amount' => Amount::formatAnything($amount, $currency, false),
'amount' => Amount::formatAnything($currency, $amount, false),
'name' => $piggyBank->name,
])));

View File

@@ -3,6 +3,21 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## v6.4.23
> [!WARNING]
> If no pressing issues get reported, this release will be followed by **v6.5.0**. It will be exactly the same but require PHP 8.5.
### Fixed
- [Issue 11734](https://github.com/firefly-iii/firefly-iii/issues/11734) (Cache is not cleared for "no category" overview monthly blocks) reported by @JC5
- [Issue 11735](https://github.com/firefly-iii/firefly-iii/issues/11735) (health endpoint no longer performant) reported by @grgar
- [Discussion 11736](https://github.com/orgs/firefly-iii/discussions/11736) (Deposit from a Liability & the default financial report) started by @dratze98
- [Issue 11738](https://github.com/firefly-iii/firefly-iii/issues/11738) (API endpoint `api/v1/batch/finish` does not work) reported by @JC5
- [Issue 11744](https://github.com/firefly-iii/firefly-iii/issues/11744) (Webhook and rule execution for imported transactions) reported by @mleck28
- [Issue 11752](https://github.com/firefly-iii/firefly-iii/issues/11752) (ErrorException in OperatorQuerySearch.php when using tag_starts or tag_ends operators via API) reported by @travelr
- [Issue 11757](https://github.com/firefly-iii/firefly-iii/issues/11757) ("Remember Me" cookie expires after 1 minute) reported by @michaeljandrews
- Invitee mail message would error out, reported over mail. Thanks!
## v6.4.22
This release and several previous ones fix authentication problems mainly. Cleaning up the libraries that make up Firefly III's excellent security (with me standing on the shoulders of giants) means that many edge cases that worked in the past no longer worked. Notable issues are listed below.

View File

@@ -78,8 +78,8 @@ return [
'running_balance_column' => (bool)envNonEmpty('USE_RUNNING_BALANCE', true), // this is only the default value, is not used.
// see cer.php for exchange rates feature flag.
],
'version' => 'develop/2026-02-19',
'build_time' => 1771526885,
'version' => '6.4.23',
'build_time' => 1771570769,
'api_version' => '2.1.0', // field is no longer used.
'db_version' => 28, // field is no longer used.