Compare commits

...

17 Commits

Author SHA1 Message Date
github-actions[bot]
f21a5b3000 Merge pull request #11020 from firefly-iii/release-1759824697
🤖 Automatically merge the PR into the develop branch.
2025-10-07 10:11:44 +02:00
JC5
6029fe2e84 🤖 Auto commit for release 'v6.4.2' on 2025-10-07 2025-10-07 10:11:37 +02:00
Sander Dorigo
651e11ed1c Fix #11018 2025-10-07 10:06:54 +02:00
James Cole
5ba29cdacd Merge pull request #11019 from ctrl-f5/fix/currency-account-end-date
fix #11015 set end date time to end of day
2025-10-07 10:05:15 +02:00
mergify[bot]
f948cc95b4 Merge branch 'develop' into fix/currency-account-end-date 2025-10-07 08:04:45 +00:00
Nicky De Maeyer
11e721c6c9 fix #11018, set end date to endOfDay 2025-10-07 10:03:26 +02:00
github-actions[bot]
4bc77b2707 Merge pull request #11017 from firefly-iii/release-1759823886
🤖 Automatically merge the PR into the develop branch.
2025-10-07 09:58:17 +02:00
JC5
6639309935 🤖 Auto commit for release 'develop' on 2025-10-07 2025-10-07 09:58:06 +02:00
Sander Dorigo
52e08bb9eb Update changelog 2025-10-07 09:52:39 +02:00
Sander Dorigo
435ca994cf Fix #11016 2025-10-07 09:52:29 +02:00
Sander Dorigo
b29c35864c Fix #11015 2025-10-07 09:49:35 +02:00
github-actions[bot]
22c88383ad Merge pull request #11013 from firefly-iii/release-1759814427
🤖 Automatically merge the PR into the develop branch.
2025-10-07 07:20:35 +02:00
JC5
9593f1b44e 🤖 Auto commit for release 'v6.4.1' on 2025-10-07 2025-10-07 07:20:27 +02:00
github-actions[bot]
22f67be0b5 Merge pull request #11012 from firefly-iii/release-1759813983
🤖 Automatically merge the PR into the develop branch.
2025-10-07 07:13:10 +02:00
JC5
0e1633b52b 🤖 Auto commit for release 'develop' on 2025-10-07 2025-10-07 07:13:03 +02:00
James Cole
0070e000b6 Fix changelog. 2025-10-07 07:09:12 +02:00
James Cole
c525a18263 Add subSecond routine. 2025-10-07 07:06:54 +02:00
7 changed files with 63 additions and 41 deletions

View File

@@ -88,7 +88,9 @@ class ShowController extends Controller
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $params['limit'], $params['limit']);
// #11007 go to the end of the previous day.
$this->parameters->set('start', $this->parameters->get('start')->subSecond());
$this->parameters->set('start', $this->parameters->get('start')?->subSecond());
// #11018 also end of the day.
$this->parameters->set('end', $this->parameters->get('end')?->endOfDay());
// enrich
/** @var User $admin */
@@ -129,7 +131,9 @@ class ShowController extends Controller
$manager = $this->getManager();
// #11007 go to the end of the previous day.
$this->parameters->set('start', $this->parameters->get('start')->subSecond());
$this->parameters->set('start', $this->parameters->get('start')?->subSecond());
// #11018 also end of the day.
$this->parameters->set('end', $this->parameters->get('end')?->endOfDay());
// enrich
/** @var User $admin */

View File

@@ -100,6 +100,11 @@ class ListController extends Controller
$count = $collection->count();
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
// #11007 go to the end of the previous day.
$this->parameters->set('start', $this->parameters->get('start')?->subSecond());
// #11018 also end of the day.
$this->parameters->set('end', $this->parameters->get('end')?->endOfDay());
// enrich
/** @var User $admin */
$admin = auth()->user();

View File

@@ -82,10 +82,9 @@ class SubscriptionEnrichment implements EnrichmentInterface
// TODO clean me up.
$notes = $this->notes;
$objectGroups = $this->objectGroups;
$paidDates = $this->paidDates;
$payDates = $this->payDates;
$this->collection = $this->collection->map(function (Bill $item) use ($notes, $objectGroups, $paidDates, $payDates) {
$this->collection = $this->collection->map(function (Bill $item) use ($notes, $paidDates, $payDates) {
$id = (int)$item->id;
$currency = $item->transactionCurrency;
$nem = $this->getNextExpectedMatch($payDates[$id] ?? []);
@@ -122,10 +121,12 @@ class SubscriptionEnrichment implements EnrichmentInterface
// add object group if available
if (array_key_exists($id, $this->mappedObjects)) {
$key = $this->mappedObjects[$id];
$meta['object_group_id'] = (string)$objectGroups[$key]['id'];
$meta['object_group_title'] = $objectGroups[$key]['title'];
$meta['object_group_order'] = $objectGroups[$key]['order'];
$key = $this->mappedObjects[$id];
if (array_key_exists($key, $this->objectGroups)) {
$meta['object_group_id'] = (string)$this->objectGroups[$key]['id'];
$meta['object_group_title'] = $this->objectGroups[$key]['title'];
$meta['object_group_order'] = $this->objectGroups[$key]['order'];
}
}
// Add notes if available.

View File

@@ -3,7 +3,18 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## 6.4.1 - 2025-09-15
## 6.4.2 - 2055-10-07
Everything from v6.4.1, plus:
### Fixed
- [Issue 11015](https://github.com/firefly-iii/firefly-iii/issues/11015) (Call to a member function subSecond() on null when viewing accounts) reported by @sirgio145
- [Issue 11016](https://github.com/firefly-iii/firefly-iii/issues/11016) (Undefined array key 1 when viewing subscriptions) reported by @anuneo
- [Issue 11018](https://github.com/firefly-iii/firefly-iii/issues/11018) (/v1/accounts balance_difference last day is not accounted for) reported by @ctrl-f5
## 6.4.1 - 2025-10-07
### Added
@@ -17,7 +28,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- [Discussion 10891](https://github.com/orgs/firefly-iii/discussions/10891) (User group id is null when downloading new exchange rates) started by @dakennguyen
- [Discussion 10916](https://github.com/orgs/firefly-iii/discussions/10916) (Errors/Warnings in Logs after Batch API Import) started by @Mr-Kanister
- [Issue 10920](https://github.com/firefly-iii/firefly-iii/issues/10920) (Liability transaction with same source and destination possible) reported by @Mr-Kanister
- [Issue 10921](https://github.com/firefly-iii/firefly-iii/issues/10921) (Transaction type between asset and liability not correctly enforced using API) reported by @Mr-Kanister
- [Issue 10924](https://github.com/firefly-iii/firefly-iii/issues/10924) (Recurring transactions don't save (or show) selected subscription) reported by @SteffoSpieler
- [Discussion 10938](https://github.com/orgs/firefly-iii/discussions/10938) (Unable to apply default rule group to certain transactions) started by @praemon
- [Issue 10940](https://github.com/firefly-iii/firefly-iii/issues/10940) (Internal Server Error when trying to open piggy banks) reported by @mattephi
@@ -27,15 +37,17 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- [Issue 10965](https://github.com/firefly-iii/firefly-iii/issues/10965) (Fix running balance on liability overview) reported by @JC5
- [Discussion 10974](https://github.com/orgs/firefly-iii/discussions/10974) (Big webhook_messages table) started by @Billos
- [Discussion 10988](https://github.com/orgs/firefly-iii/discussions/10988) (Call to a member function startOfDay() on null.) started by @molnarti
- [Issue 10990](https://github.com/firefly-iii/firefly-iii/issues/10990) (duplicate piggy event via API) reported by @4e868df3
- [Discussion 10994](https://github.com/orgs/firefly-iii/discussions/10994) (How does the save per month attribute from a piggy bank is calculated?) started by @AdriDevelopsThings
- #11005
- #11007
### API
- [Issue 10803](https://github.com/firefly-iii/firefly-iii/issues/10803) (Issue in /v1/budget-limits spent attribute) reported by @Billos
- [Discussion 10908](https://github.com/orgs/firefly-iii/discussions/10908) (New fields for BudgetLimit object) started by @Billos
- [Issue 10921](https://github.com/firefly-iii/firefly-iii/issues/10921) (Transaction type between asset and liability not correctly enforced using API) reported by @Mr-Kanister
- [Issue 10990](https://github.com/firefly-iii/firefly-iii/issues/10990) (duplicate piggy event via API) reported by @4e868df3
- [Issue 11005](https://github.com/firefly-iii/firefly-iii/issues/11005) (PUT /v1/accounts/{id} timezone error) reported by @cioraneanu
- [Issue 11007](https://github.com/firefly-iii/firefly-iii/issues/11007) (/v1/accounts balance_difference takes time into account, but api only accepts days) reported by @ctrl-f5
- [Issue 11010](https://github.com/firefly-iii/firefly-iii/issues/11010) (/v1/currencies/{code}/accounts does not use start and end date for account enrichment) reported by @ctrl-f5
## 6.4.0 - 2025-09-14

14
composer.lock generated
View File

@@ -11920,21 +11920,21 @@
},
{
"name": "rector/rector",
"version": "2.1.7",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
"reference": "c34cc07c4698f007a20dc5c99ff820089ae413ce"
"reference": "e1aaf3061e9ae9342ed0824865e3a3360defddeb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/c34cc07c4698f007a20dc5c99ff820089ae413ce",
"reference": "c34cc07c4698f007a20dc5c99ff820089ae413ce",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/e1aaf3061e9ae9342ed0824865e3a3360defddeb",
"reference": "e1aaf3061e9ae9342ed0824865e3a3360defddeb",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
"phpstan/phpstan": "^2.1.18"
"phpstan/phpstan": "^2.1.26"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -11968,7 +11968,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/2.1.7"
"source": "https://github.com/rectorphp/rector/tree/2.2.1"
},
"funding": [
{
@@ -11976,7 +11976,7 @@
"type": "github"
}
],
"time": "2025-09-10T11:13:58+00:00"
"time": "2025-10-06T21:25:14+00:00"
},
{
"name": "sebastian/cli-parser",

View File

@@ -78,8 +78,8 @@ return [
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
// see cer.php for exchange rates feature flag.
],
'version' => 'develop/2025-10-06',
'build_time' => 1759720765,
'version' => '6.4.2',
'build_time' => 1759824590,
'api_version' => '2.1.0', // field is no longer used.
'db_version' => 28, // field is no longer used.

38
package-lock.json generated
View File

@@ -3047,9 +3047,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz",
"integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==",
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.0.tgz",
"integrity": "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3060,9 +3060,9 @@
}
},
"node_modules/@types/express/node_modules/@types/express-serve-static-core": {
"version": "4.19.6",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
"integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
"version": "4.19.7",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz",
"integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3173,13 +3173,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "24.6.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.2.tgz",
"integrity": "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang==",
"version": "24.7.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.0.tgz",
"integrity": "sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.13.0"
"undici-types": "~7.14.0"
}
},
"node_modules/@types/node-forge": {
@@ -5736,9 +5736,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
"version": "1.5.230",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.230.tgz",
"integrity": "sha512-A6A6Fd3+gMdaed9wX83CvHYJb4UuapPD5X5SLq72VZJzxHSY0/LUweGXRWmQlh2ln7KV7iw7jnwXK7dlPoOnHQ==",
"version": "1.5.232",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.232.tgz",
"integrity": "sha512-ENirSe7wf8WzyPCibqKUG1Cg43cPaxH4wRR7AJsX7MCABCHBIOFqvaYODSLKUuZdraxUTHRE/0A2Aq8BYKEHOg==",
"dev": true,
"license": "ISC"
},
@@ -5820,9 +5820,9 @@
}
},
"node_modules/envinfo": {
"version": "7.16.1",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.16.1.tgz",
"integrity": "sha512-IugkinfKJlINIece0m1tAtjn4LGNP3APqchokVe090oSI5E3mixxKuc34ZiDHO17MTPODwjHWEt7QdC8Y+xtyQ==",
"version": "7.17.0",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.17.0.tgz",
"integrity": "sha512-GpfViocsFM7viwClFgxK26OtjMlKN67GCR5v6ASFkotxtpBWd9d+vNy+AH7F2E1TUkMDZ8P/dDPZX71/NG8xnQ==",
"dev": true,
"license": "MIT",
"bin": {
@@ -11316,9 +11316,9 @@
}
},
"node_modules/undici-types": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz",
"integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==",
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz",
"integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==",
"dev": true,
"license": "MIT"
},