Live Build Log
Development Log
A chronological ledger of every feature, fix, and refactor that shaped Simple Money Tracker.
🏁
86
Milestones
🚀
4
Major Versions
💻
4000+
Commits
v4.27.0Milestone 86
Milestone 86: Snappier Login, Dialog UX Polish & Reliable Quotas
✨ Feature2⚡ Performance2🔧 Bugfix1
- ✨FeatureSmoother Dialogs & Pickers: Icon, avatar, and provider pickers in goals, contacts, and subscriptions now collapse automatically once selected. You can also type custom lender or borrower names directly in debt and lending forms without needing to create contacts first.
- ✨FeatureReal-Time Provider Search: Typing a service name in the subscription dialog now instantly narrows down the provider logo grid, making it quick and easy to select your service.
- ⚡PerformanceAccurate Investment Tracking: New investments created with an empty current value now default to your initial amount, keeping your baseline performance at a clean 0% rather than a false -100% loss.
- ⚡PerformanceFaster Login Startup: Streamlined sign-in profile loading to a single database read and moved background session sync off the critical path, getting you into your workspace faster.
- 🔧BugfixReliable Currency Converter: Fixed a quota display glitch so your remaining daily conversions update instantly and accurately with zero number jumping.
- 🛡️SecurityStronger Account Protection: Upgraded plan limit checks and quota enforcement to secure server validation while maintaining complete end-to-end Zero-Knowledge privacy.
v4.26.0Milestone 85
Milestone 85: Loading Progress, Storage Safety & UX Polish
⚡ Performance2✨ Feature1🗄️ Data1
- ⚡PerformanceFaster, Smoother Loading: Real-time progress bars across contacts, expenses, messages, and notes — you can now see exactly when your data is loading or decrypting, especially on large datasets.
- ✨FeatureSmoother Forms: The contact picker in debt and lending forms is now virtualized and supports infinite scroll, so it stays fast even with hundreds of contacts.
- 🗄️DataMore Reliable Telegram Sync: Pending Telegram expense checks now wait for the expense data to fully load, eliminating duplicate or out-of-order prompts.
- 🔧BugfixSafer File Deletion: Fixed a known security issue in the storage delete flow so users can only delete their own files.
- ⚡PerformanceFaster Group Dashboards: Group member data is now loaded only when you actually open a member dashboard, keeping the initial page load snappy.
- 🧠AIBetter Discoverability for AI Search: Added `llms.txt` and `llms-full.txt` so AI assistants and search engines can better understand and recommend Simple Money Tracker.
- 🛡️SecuritySecurity & Stability: Squashed a handful of known issues — signout now fully clears sensitive in-memory data, login flows are more resilient to browser storage hiccups, and various auth edge cases are handled more gracefully.
v4.25.0Milestone 84
Milestone 84: Badge Celebrations, Passkey Nudge & Legal Refresh
✨ Feature2🛡️ Security2
- ✨FeatureBadge Celebrations: Toast when you hit a My Stats milestone, with accurate paid-debt and lending counts.
- ✨FeaturePasskey Setup Nudge: A one-time-per-session banner invites vault users to add a passkey for account recovery.
- 🛡️SecuritySettings & Security: Settings grouped with a live format preview; Security split into 2FA, Vault, and Passkeys.
- 🛡️SecurityLegal Refresh: Updated Privacy, Terms, License, AUP, and DMCA, with previous versions kept in a public history.
v4.24.0Milestone 83
Milestone 83: Subscription Expiry Safety-Net & Push Delivery
🏗️ Architecture1📋 Workflow1🔗 Integration1
- 🏗️ArchitectureSubscriber Expiry Safety-Net: Daily Cloud Function double-checks expired active Pro accounts and downgrades any missed by hourly jobs, with live re-checks to avoid races.
- 📋WorkflowDowngrade Guard: Skips processing when a subscriber is already inactive so expiry jobs do not repeat work or send duplicate notices.
- 🔗IntegrationFCM Registration Restore: Re-enabled push token registration after login (non-blocking) so notifications work again alongside MFA and passkey flows.
v4.23.0Milestone 82
Milestone 82: Scalability, API Security & Billing Reliability
🛡️ Security2🔧 Bugfix1🗄️ Data1
- 🛡️SecurityAPI Security Audit: Hardened OpenAPI contracts and runtime APIs — stricter request validation, unified safe error handling, PayPal capture ownership checks, and removal of test endpoints.
- 🔧BugfixBilling Reliability: PayPal webhook with signature verification; fixed capture-order so paid users always receive Pro; clearer plan selection UI.
- 🛡️SecurityGoogle Contacts Import: Import contacts from Google CSV with secure server parsing, duplicate skip, and encrypted storage.
- 🗄️DataData Scalability: Paginated full fetches, chunked batch reads/writes, and notification jobs moved to subcollections for large datasets.
- 🧠AIServer-Side Quotas & Gates: AI usage, email triggers, storage sync, and Pro upload checks enforced on the server; vault unlock rate-limit reset path removed.
- ⚡PerformanceUX Polish: Redesigned Profile and Currency Converter; lazy-loaded language packs for faster login (~2MB less upfront).
v4.22.0Milestone 81
Milestone 81: Security Hardening & Authorization Audit
🛡️ Security1
- 🛡️SecurityKnown Security Issues Addressed: Closed a full authorization audit covering API and server-action trust boundaries — session-bound identity instead of client-supplied user IDs, admin-only broadcast controls, storage path ownership, passkey and vault rate-limit hardening, and production lockdown of test endpoints.
v4.21.0Milestone 80
Milestone 80: Education Category, Weather Restructure & UX Polish
✨ Feature4🎨 Design2♻️ Refactor1
- ✨FeatureEducation Category: Added 'Education' with BookOpen icon to default and all 14 localized category lists for tracking educational spending.
- ♻️RefactorWeather Continent Navigation: Restructured city selection with continent-based categorization and a dedicated mode selector for single vs. multi-city comparison views.
- 🎨DesignStorage Filtering & Usage Visualization: Added file type and date filtering to Simple Storage, plus a categorized usage breakdown chart showing storage consumption by file type.
- ✨FeatureCurrency Converter Swap: Added a one-click swap button to instantly toggle between source and target currencies in the converter interface.
- 🎨DesignMessages Quick Filter: Introduced a sidebar filter for inbox and sent message lists, filterable by sender/recipient and creation month.
- ✨FeatureDebt Interest Simulation Sliders: Added interactive range sliders with numeric inputs for annual rate and days owed in the interest simulation tab.
- 🛡️SecurityPassword Reset Privacy Gate: Enforced privacy policy acceptance before allowing password reset, with the trigger button disabled until consent is given.
- ✨FeatureLending Dialog Protection: Prevented accidental dialog closure on outside clicks to protect in-progress form data.
- ⚡PerformanceMarquee GPU Optimization: Migrated landing page marquee to hardware-accelerated CSS with smart pause when off-screen via IntersectionObserver.
- 🧠AIUI Refinements: Calendar date range refactored with date-fns utilities. Background settings sticky action bar. AI Coach accordion layout. Debt/lending card event isolation. Calendar typography refresh. Landing page simplification.
v4.20.0Milestone 79
Milestone 79: Login Rate Limiting & AI Coach Quota Limits
🛡️ Security1🎨 Design1🧠 AI1
- 🛡️SecurityLogin Rate Limiting: Secured the email/password authentication flow with a sliding 1-hour window rate limiter using Upstash Redis, restricting to 5 failed attempts per email and 20 per IP.
- 🎨DesignProduct Statistics Section: Added a new interactive 'By the Numbers' statistics grid to the landing page Hero section featuring 8 product metrics (Zero Knowledge, KEK/DEK layers, AES-GCM, PBKDF2).
- 🧠AIAI Coach Transparency & Server Limits: Added an AI input data transparency card to let users review shared metadata.
- ⚡PerformanceSEO & Metadata Enhancements: Added homepage canonical link tag and optimized Twitter Card metadata titles on public subpages to ensure page-specific layout titles in social shares.
Loading more milestones...