← Back to releases

v4.0.7

Bug Fixes

  • Repair FTS4 UPDATE trigger to eliminate 20-30s delete lag on physical devices (#431, #433)
  • Defer running balance recalculation with per-account deduplication
  • Pure-SQL running balance recalculation with JS fallback
  • Add WHEN clause to FTS UPDATE triggers to skip balance-only updates (#414, #415)
  • Correct FTS5 trigger syntax to unblock transaction deletion (#407, #408)
  • Fix classifications CHECK constraint causing loading screen crash
  • Update footer balances in real-time when transactions change
  • Remove hasLegacyBalances guard that froze account balances permanently (#416, #417)
  • Remove hardcoded account type workaround (#418, #425)
  • Remove dead LegacyRestoreFix.ts with dangerous LIKE-based DELETE queries (#419, #423)
  • Preserve currency and use lAmtInt for large amounts in legacy migration (#385, #402)
  • Allow tapping payee suggestions without dismissing keyboard (#247, #310)
  • Backfill stale running balances after double migration

Code Quality & CI

  • Clean build outputs and simplify build triggers
  • Rename AAB artifacts to match APK naming pattern
  • Gate ScheduledTransactionService console logging behind DEV (#356, #399)
  • Remove hardcoded user data from VoidTransactionRestore test (#422, #424)
  • Remove implemented features from voting list (#207, #308)
  • Add Database Migration Safety Guide
  • Add triple migration test script
  • Clean up workspace after non-main branch builds
  • Add .claude/worktrees/ to .gitignore
  • Update change highlights

View this release on GitHub ↗