Skip to content

v1.2.5

Choose a tag to compare

@wechuli wechuli released this 17 Sep 09:36
· 7 commits to main since this release

Added

  • Archived account management: Open Settings > Archived accounts to restore accounts or permanently delete them.
  • Confirmed permanent deletion: Deletion requires an archived account and its exact name. It removes the account's transactions, valuations, positions, reconciliations, and estate allocations. Linked goals remain without their account link; shared instruments and prices are retained.
  • Transfer protection: Permanent deletion is blocked while cash or in-kind transfers have paired records in another account, preventing unintended changes to other balances.

Changed

  • Archiving stops all financial tracking. Archived accounts are excluded from current and historical totals, dashboards, account and transaction lists, selectors, comparisons, goal progress, live estate views, and ordinary CSV reports. Their cached values remain frozen until restoration.
  • Restoring resumes tracking. Restored accounts rebuild their value from retained history. Converted source accounts cannot be restored while their replacement exists.
  • Incomplete comparisons are explicit. Dashboard period changes and account 30-day changes display Incomplete data instead of a signed gain or loss when either endpoint lacks required prices or exchange rates.
  • Consistent reporting dates: Dashboard and account comparisons use the same end-of-UTC-day cutoff. Account cards use live position values rather than potentially stale cached values.

Fixed

  • Prevented stock splits from inflating valuations by applying pre-split prices to post-split quantities. Holdings require a quote dated on or after the split; historical pre-split valuations are unchanged. Import previews use the same rule.
  • Fixed imported instrument prices leaving other accounts' cached values stale. Imports now refresh every affected account belonging to the same user in one transaction.
  • Added validation that rejects historical edits, deletions, imports, and restores that invalidate recorded spin-off or merger entitlements. Grouped cash deletions receive the same protection, and restore validation replays each account independently.
  • Fixed newly created position accounts failing with Choose a movement period with an end date after its start before noon UTC.
  • Fixed a missing historical exchange rate hiding a valid current base-currency account value. Unavailable changes no longer appear with positive styling.
  • Fixed exchange-rate saves, corrections, and deletions failing with Account not found when an archived position account existed. Recalculation now includes active accounts only.

Upgrade Notes

  • Historical totals may change: Existing archived accounts are now excluded from all historical calculations, not just calculations after their archive date.
  • Existing records are not automatically corrected: Add a post-split quote where needed. To correct holdings that affect a recorded spin-off or merger, remove dependent actions, correct the earlier history, then record the actions again.
  • Backups remain available: Full JSON backups retain archived account records. Permanent deletion does not rewrite previously downloaded backups or saved estate snapshots.
  • No database schema migration or data re-import is required for these changes. Investment History v1 and user backup v8 remain unchanged.

Developer Updates

  • Added unit, component, and browser regressions for valuation, incomplete comparisons, archival, deletion, same-day account creation, and exchange-rate recalculation, including cross-user and rollback checks.
  • Added configurable end-to-end test ports, database paths, backup paths, and build directories so tests can run beside an existing preview without resetting its data.