Skip to content

Commit 3daac85

Browse files
authored
Feature: Transaction Linking (#294)
* Bump version to 2.9.0 in package.json * Update @luca-financial/luca-schema dependency to version 3.3.0 * feat: implement transaction linking functionality - Added a new slice for managing transaction links, including actions for setting, adding, updating, and removing links. - Enhanced transaction actions to handle linked transactions, ensuring updates are synchronized between linked pairs. - Introduced utility functions for normalizing and validating transaction links. - Updated data migration logic to include transaction links and ensure proper schema compliance. - Enhanced data processing to normalize transaction links when loading data. - Modified the spending analytics to account for linked transactions in category totals. - Updated the EncryptButton component to handle encryption for transaction links. - Enhanced the CategoryTotals component to allow linking and unlinking of transactions, including UI updates for link selection. * feat: enhance account filtering in categories and dashboard analytics * feat: enhance transaction linking by adding state synchronization and reconciliation features * feat: streamline transaction linking by removing sync description feature and ensuring shared descriptions are applied consistently * feat: add FormControlLabel import for enhanced form handling in RecurringTransactionLinkReconciliationPanel * feat: remove features section from Welcome component to streamline UI * feat: add FormControlLabel import to TransactionLinkReconciliationPanel for improved form handling * feat: update @luca-financial/luca-schema dependency to version 3.3.1 * feat: introduce isSameSign property for transaction and recurring transaction links - Added isSameSign property to transaction and recurring transaction link models to handle sign orientation. - Updated various tests to accommodate the new isSameSign property. - Enhanced linking utilities to infer isSameSign based on transaction amounts. - Modified link dialogs to allow users to specify whether linked amounts should use the same sign or opposite signs. - Updated actions and reducers to manage the new isSameSign property during link creation and reconciliation. * feat: update CHANGELOG for version 2.9.0 with new features, changes, and fixes
1 parent 2d6a134 commit 3daac85

48 files changed

Lines changed: 5844 additions & 353 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.9.0] - 2026-04-05
11+
12+
### Added
13+
14+
- Added cross-account transaction linking in the ledger and categories views, including direct reconcile-and-link flows for date, amount, state, description, and same-sign versus opposite-sign behavior.
15+
- Added recurring transaction linking across accounts, including recurring-rule reconciliation, linked-rule syncing, and automatic paired realization into linked real transactions.
16+
- Added transaction-link awareness to category totals so linked duplicate transfer/payment legs can be collapsed into a single real-world event in category analytics.
17+
- Added the dashboard-style account include/exclude filters to the Categories page so analytics can temporarily omit closed, escrow, or other selected accounts.
18+
19+
### Changed
20+
21+
- Updated transaction and recurring link records to use LucaSchema's required `isSameSign` field, with explicit sign-behavior controls in the linking dialogs and migration/load-time inference for older saved links.
22+
- Updated linked transaction syncing so date, amount, state, and description changes propagate through the stored link configuration instead of relying on sign inference alone.
23+
- Updated recurring realization so linked recurring rules create paired `PLANNED` transactions and carry their sign behavior into the realized transaction link automatically.
24+
- Improved transaction and recurring match selection to focus on cross-account candidates, surface top matches and near matches more intelligently, and use reconciliation flows instead of generic picker lists where appropriate.
25+
- Removed the outdated `Powerful Features` section from the welcome page.
26+
- Bumped application version to `2.9.0`. (#294)
27+
28+
### Fixed
29+
30+
- Fixed multiple transaction-link and recurring-link dialog crashes caused by missing reconciliation-panel imports and incorrect props after linking more than one pair in a session.
31+
- Fixed category-link selection so already linked transactions remain non-selectable even when their counterpart is filtered out of the current view.
32+
- Fixed categories and recurring-link workflows to use shared descriptions consistently across linked records.
33+
1034
## [2.8.0] - 2026-04-04
1135

1236
### Added

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "luca-ledger",
3-
"version": "2.8.0",
3+
"version": "2.9.0",
44
"homepage": "https://lucaledger.app/",
55
"type": "module",
66
"license": "MIT",
@@ -19,7 +19,7 @@
1919
"dependencies": {
2020
"@emotion/react": "^11.14.0",
2121
"@emotion/styled": "^11.14.1",
22-
"@luca-financial/luca-schema": "^3.2.0",
22+
"@luca-financial/luca-schema": "^3.3.1",
2323
"@mui/icons-material": "^7.3.9",
2424
"@mui/material": "^7.3.9",
2525
"@mui/system": "^7.3.9",

pnpm-lock.yaml

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)