Tidy Changelog

Version 2.0.1

September 21, 2025

A patch release focusing on UI polish and theme consistency.

  • Fixed

    Light Theme Consistency

    Corrected an issue where some form input fields would incorrectly retain dark theme styling when the light theme was active.

  • Improved

    Cleaner Transaction Form

    Added a toggle for the template feature in the "Add Transaction" modal. The template selection and saving fields are now hidden by default, providing a cleaner interface for simple entries.

Version 2.0.0

September 20, 2025

A major update focused on user experience, quality-of-life, and onboarding. Tidy is now faster to learn and more efficient to use day-to-day.

  • New

    Try Before You Connect with Sample Data

    New users are now welcomed with a fully-featured demo mode. You can explore the app with sample data without needing to connect a folder or Google Drive account first. Your work in this mode is temporary and is not saved until you connect your own storage.

  • New

    Dark Theme

    Tidy now respects your system's preferred color scheme. The interface, including all charts, will automatically adapt to a polished dark theme.

  • Improved

    Workflow Accelerators

    Transaction entry is now faster with payee memory and category auto-fill. You can also now save frequently used transactions as templates for quick loading.

  • Improved

    Smarter Goal Planning

    Pots with a goal amount and date will now display a helpful hint showing how much you need to save each month to stay on track.

Version 1.5.0

September 19, 2025

This update makes budgets more proactive and visible, helping you make smarter spending decisions in the moment.

  • New

    Live Budget Feedback in Form

    When adding or editing a transaction, the form now shows you the real-time status of the selected category's budget, including how much you have remaining.

  • New

    Proactive Budget Warnings

    The Summary panel will now display small amber "chips" for up to three categories that are approaching their budget limit, giving you an early warning on your spending.

  • Improved

    Enhanced Dashboard Insights

    The tooltip for the spending donut chart on the Dashboard now includes budget information, showing you exactly how much you've spent versus your budget for that category.

Version 1.4.0

September 19, 2025

This release focuses on significant accessibility improvements and user interface polish, making the app easier to navigate and visually clearer.

  • New

    Accessible Navigation Tabs

    The main view tabs are now fully accessible, featuring proper ARIA roles and keyboard navigation support (Left/Right arrows) so screen readers can correctly interpret and announce the active panel.

  • Improved

    Softer Budget Alerts

    The over-budget progress bar has been switched from red to a gentler amber gradient, providing a less alarming visual cue when you've overspent in a category.

  • Fixed

    UI State Synchronization

    Corrected minor issues where tab button styling and panel visibility could become out of sync with the application state, ensuring a more reliable user interface.

Version 1.3.0

September 19, 2025

This release focuses on making the Google Drive sync feature significantly more robust, intelligent, and communicative, especially when dealing with network errors or multi-device conflicts.

  • Improved

    Smarter Google Drive Syncing

    The app now caches Google Drive file metadata to perform conditional uploads. This prevents accidental overwrites and ensures that changes are only sent when the local data is newer than the cloud version.

  • Improved

    Resilient Network Handling

    Added intelligent retry/backoff helpers for all Google Drive operations. The app will now automatically retry failed requests due to temporary network issues, making the sync process more reliable.

  • New

    Better Conflict Resolution

    Enhanced the sync conflict handling to gracefully manage 412 "Precondition Failed" errors from Google Drive. If another device has updated the file, these conflicts are now clearly surfaced in the existing review modal.

  • Improved

    Cleaner Disconnect Process

    When disconnecting from Google Drive, the app now properly revokes the OAuth token and clears all Drive-related metadata. The UI copy has also been updated to provide clearer, Drive-specific guidance during the sync and conflict process.

Version 1.2.0

September 19, 2025

This is a significant data engine update that improves correctness, especially for recurring items and sorting. All existing data will be automatically migrated to the new, more robust format upon loading.

  • Fixed

    Correct Recurrence on Short Months

    Recurring transactions scheduled for the 29th, 30th, or 31st of the month will now correctly appear on the last day of shorter months (e.g., February 28th), preventing them from being skipped.

  • Improved

    Deterministic Sorting

    Transactions created on the same day will now maintain a consistent order across sessions and devices. This is achieved by using new UUIDs and creation timestamps for deterministic sorting, which resolves potential inconsistencies in sync and export operations.

  • New

    Robust Data Integrity with UUIDs

    The data persistence layer has been upgraded. All items now use universally unique identifiers (UUIDs) and include `createdAt` and `updatedAt` timestamps. This strengthens the foundation for all create, edit, and sync operations.

Version 1.1.0

September 18, 2025

This version introduces a more robust and reliable saving mechanism to prevent data loss and provide clearer feedback on data persistence.

  • Improved

    Reliable Autosave

    Implemented a serialized write queue with debounced `markDirty` scheduling to prevent overlapping autosave writes, ensuring data integrity.

  • Improved

    Clearer Save Status

    The folder write helper and autosave UI feedback have been updated. The status light now accurately reflects the completion of the write operation, giving users a clear indication of when their data is saved.

  • Improved

    Atomic Local Persistence

    Manual saves and Google Drive sync now trigger the queued save pipeline. This ensures that all local data persistence is atomic and prevents race conditions.

Version 1.0

September 18, 2025

The first official public release of Tidy! This version focuses on stability, quality-of-life improvements, and a more intuitive user interface.

  • Improved

    Persistent Google Sign-In

    The app now securely remembers your Google Sign-In across sessions. If you close your browser and come back later, you'll be automatically signed in.

  • Improved

    One-Click Folder Reconnection

    For mobile users (especially on Android), the app now remembers previously connected local folders. You'll see a simple "Click to reconnect" button in Settings to re-grant permission without having to find the folder every time.

  • Improved

    Cleaner Top Bar & Status Lights

    The controls at the top of the app have been reorganised for clarity. Sync status (for both Local Folder and Google Drive) is now grouped together with clearer icons and tooltips.

  • New

    Closing Balance Toggle

    You can now toggle the summary's closing balance between 'Cleared' (your actual, confirmed balance) and 'Planned' (a forecast including pending items). The app remembers your choice.

  • Fixed

    Planned Closing Balance Calculation

    Corrected a logical inconsistency where the "Planned Closing Balance" in the summary didn't align with the running total in the calendar view. Both figures are now in sync and provide a true forecast.

  • Improved

    Security Hardening

    Replaced direct HTML injection with safe text helpers across the app to prevent potential cross-site scripting (XSS) vulnerabilities from user-provided data like payees or notes.

  • New

    Safe CSV Export

    The "Export to CSV" button on the Dashboard is now fully functional. The export is guarded against CSV injection attacks by ensuring data that looks like a formula (e.g., starting with '=') is safely formatted.