Release Notes - v1.0.3

15 views
Skip to first unread message

Christian Jay

unread,
Jan 22, 2026, 4:16:10 AMJan 22
to WealthSnap
WealthSnap v1.3.0 - Release Notes

Release Date: January 22, 2026 Build: Version 1.3.0 (Feature Release)


✨ What's New🚀 Performance & UX
  • 3x Faster Transaction Loading: Reduced initial load time from ~5 seconds to ~2 seconds for large datasets (2000+ transactions) by caching the encryption key in memory—eliminating thousands of redundant SecureStore I/O calls.
  • Instant CRUD Operations: Adding, editing, or deleting transactions is now instant—optimistic cache updates avoid full data re-fetches.
  • Skeleton Loading States: Added polished skeleton loading animations to the Home Screen and Insights Dashboard.
    • Home: Replaced placeholders with pulsating skeletons for Balance, Income, Expense, and Transaction lists.
    • History: Added skeletons for the Financial Summary and Transaction List.
    • Insights: Added comprehensive loading skeletons for all charts (Net Cash Flow, Expenses, Income, Savings Rate) to prevent content jumping.
  • Smoother Transitions: The app now gracefully transitions from loading state to content, ensuring no flickering or blank screens.
  • Smart Security Lock: The app now intelligently avoids locking when you are briefly away to browse images, take photos, or manage backups (Share/Restore), providing a seamless experience without constant re-authentication.
📥 CSV/TSV Transaction Import
  • Bulk Import: Import hundreds or thousands of transactions at once from CSV or TSV files.
  • Strict Format Validation: Columns must be in exact order (Date, Category, Income, Expense, Notes) with clear instructions shown before import.
  • Smart Validation: Validates dates (no future dates), categories (must exist), amounts (supports thousand separators), and notes (max 50 chars).
  • Duplicate Detection: Automatically flags duplicate transactions matching existing records (by date+amount+category+notes).
  • Full-Screen Processing: Non-dismissible import screen ensures data integrity during the import process.
  • Scrollable Error Details: Enhanced CustomAlert now displays validation errors in a scrollable section for files with many issues.
📄 Smart Document Scanner
  • Powered by Google ML Kit: Replace standard camera capture with an intelligent document scanner.
  • Auto-Detection: Automatically detects receipt edges, corrects perspective, and enhances image quality for better AI analysis.
  • Seamless Integration: Integrated directly into the "Add Record" flow for quick receipt capture.
�📊 Monthly Pulse Projection
  • Spending Forecast: The Monthly Pulse chart now shows a dotted projection line extending from your current spending to the end of the month.
  • Historical-Based: Projection uses your historical spending patterns (3M/6M/12M average) to predict where you'll likely end up.
  • Visual Clarity: Solid line shows actual spending up to today; dotted line shows the projection for remaining days.
📈 Pro-Rated Spending Comparison
  • Fair Comparison: The "This M*" bar now shows your projected full month spending based on current pace, making it directly comparable to historical full-month averages.
  • Clear Indication: The asterisk (*) indicates it's a projection, explained in the info modal.
💰 Pro-Rated Income Comparison
  • Smart Projection: The "This M*" bar in Income Analytics now projects based on your historical average (3M/6M trend), which is far more accurate for salary-based or irregular income.
  • Visual Breakdown: The current month's bar is stacked to clearly differentiate Actual Income (solid) vs Target Average (projected/lighter).
  • Consistent UI: Added an info modal to explain the projection and chart labels, matching the Spending Comparison experience.
🔔 Smart Alert Notifications
  • Proactive Alerts: You will now receive a push notification when a significant spending deviation (spike) is detected, helping you stay on top of your finances without opening the app.
  • Intelligent Frequency: WealthSnap remembers which alerts you've seen to avoid spamming you with duplicate notifications for the same issue.
  • Privacy First: Notifications are processed entirely locally on your device.
  • Background Checks: Alerts now monitor your recurring transactions daily in the background, ensuring you never miss a spending spike even if you haven't opened the app.
🐛 Bug Fixes
  • Insights Display: Resolved an issue where Insight graphs could appear blank while data was being calculated.
  • Security Layer Fix: Fixed a critical security issue where modals and alerts could remain visible above the PIN entry screen when the app is locked. All modals and alerts now automatically close when the security lock is triggered.
  • Data Migration Fix: Resolved a critical issue where migrating from the original version directly to V2 could leave recurring transaction names unencrypted.
  • Migration Startup Freeze: Fixed an issue where the app could appear frozen on the splash screen during database upgrades. The upgrade process is now properly handled during the initial loading phase.
🛡️ Data Integrity
  • Robust Migration System: Implemented a "Waterfall" migration pattern that safely handles version skipping (e.g., upgrading from v1 directly to v3) without data corruption.
  • Sequential Encryption: Ensures all sensitive data is consistently encrypted regardless of which version you are upgrading from.

🛠️ Technical Improvements
  • Encryption Key Caching: The AES-256 encryption key is now cached in memory after the first SecureStore fetch, dramatically reducing I/O overhead during bulk decryption.
  • Optimistic Cache System: Implemented addTransactionToCacheupdateTransactionInCache, and deleteTransactionFromCache functions for instant UI updates without full cache invalidation.
  • Enhanced CustomAlert: Added scrollable details section with 60% max height constraint for displaying long error lists.
  • Import Service: New importService.ts handles CSV/TSV parsing, validation, duplicate detection, and transaction preparation.
  • Reusable Skeleton Component: Created a robust Skeleton.tsx component that adapts to both Light and Dark modes automatically.
  • Optimized Data Fetching: Refactored InsightsScreen data loading logic to ensure metrics are fully calculated before removing the loading state.
  • Flexible File Picker: Backup restore now accepts multiple MIME types for better compatibility with cloud storage and messaging apps.

📝 Verification
  1. Home Screen: Open the app and verify skeletons pulsate before data appears.
  2. History Screen: Navigate to History and confirm the Summary and List show skeletons briefly.
  3. Insights Screen: Navigate to Insights and confirm all charts show skeletons before rendering the final graphs.
  4. Theme Adaptability: Toggle Dark Mode and verify skeletons adjust their color accordingly.

Previous Version: 1.2.0 Package: com.christian.soyosa.WealthSnap

Reply all
Reply to author
Forward
0 new messages