- Fixed
Fixed self-host duplicate data after logout/login
Budgero no longer replays the full mutation log after restoring a fresh server snapshot, which prevented duplicate data from appearing after signing back in.
- Fixed
Fixed startup stalls on encryption key check
Resolved a startup race that could leave the app stuck on the "Checking your encryption key" screen after logging out and back in.
- Fixed
Improved guarded startup recovery
Startup now recovers more reliably when auth, workspace loading, and master-password checks update in quick succession.
Budgero Changelog
We ship improvements weekly so you can budget with confidence. Browse everything we've released, polished, and fixed without waiting for the next newsletter.
- Improved
Desktop transaction multi-select controls
Desktop transaction lists now support Ctrl/Cmd toggle selection, Shift range selection, row-click selection, and a header checkbox to select or clear the current page.
- Fixed
Category import deduplication
Transaction imports now map category names to existing categories first and reuse a single import category group, preventing duplicate category/group creation per row.
- Fixed
Self-host transition link update
Updated self-host transition messaging to point to the correct destination link for sunset guidance.
- Improved
Paper theme is now the default app experience
New users now default to the Paper theme preset, with improved form-control contrast and legibility updates across key input surfaces.
- Improved
Startup guards and offline recovery hardening
App startup flow was consolidated into a unified guard chain with stronger service readiness handling and smoother offline recovery states.
- Fixed
Sync and mutation cursor recovery
Runtime sync now handles startup catch-up and mutation cursor recovery more reliably, reducing stalled or inconsistent sync states after reconnect.
- Fixed
Server WASM delivery reliability
Server static delivery now skips gzip for WASM assets and test mode no longer depends on bundled web dist output, improving runtime stability and CI reliability.
- Improved
Mobile bottom navigation polish
Refined mobile bottom navigation spacing and active-state styling to improve visual clarity in PWA and mobile views.
- New
Warranty tracking
Track product warranties with names, expiry dates, amounts, and optional notes. Upload or capture receipt photos directly from your camera, link warranties to existing transactions with auto-filled amounts, and monitor active, expiring, and expired warranties at a glance.
- Fixed
Bug fixes and stability improvements
Various fixes to sync, backup persistence, and workspace setup reliability.
- Improved
Normalized transactions analytics view
Added a prebuilt `transactions_analytics` DuckDB view with denormalized account/category/group/payee/label fields, snake_case naming, and date buckets for week, month, quarter, and year.
- Improved
Explorer schema and query workflow
Explorer now surfaces DuckDB views in the schema sidebar, supports schema search, distinguishes view/analytics objects visually, and includes expanded premade analytics queries.
- Fixed
Custom dashboards mobile navbar overlap
Custom Dashboards now reserve bottom safe-area space on mobile so content stays above the navigation bar and remains fully reachable.
- New
Custom dashboards for reports
You can now pin Explorer charts to budget-scoped custom dashboards, reorder and resize widgets, and manage multiple dashboard pages across desktop and mobile.
- New
Global privacy mode for numbers
Added a global header toggle to mask numeric values across calculator cells and key amount surfaces, with values revealed while actively editing.
- Improved
DuckDB report execution
Read-only report queries now run through DuckDB for analytics-oriented SQL support, and Explorer quick queries were updated for DuckDB compatibility.
- Improved
SQL editor completion for reporting
Explorer SQL editor now uses a DuckDB-oriented dialect and schema-aware completion for more relevant keywords, functions, and table/column suggestions.
- New
Transaction labels with color
You can now create, edit, and delete labels in Settings, each with a name and color, and assign one label per transaction.
- Improved
Label picker in transaction workflows
Transaction forms and transaction lists now include a dedicated label picker with color cues across desktop and mobile views.
- New
Spending by label report
Prebuilt Reports now include spending grouped by label, including an Unlabeled bucket for transactions without labels.
- Improved
Label-aware semantic search
Transaction search now supports label tokens like `label:Travel` and includes label names in plain-text matching.
- Fixed
Collaboration-only workspace writes
Users with collaboration access can now upload workspace blobs and update master-password and backup settings without a paid subscription, restoring normal shared-workspace sync behavior.
- Fixed
Collaboration access cleanup on member removal
When an owner removes a user from their last shared workspace membership, collaboration access is now revoked automatically. Access stays enabled when the user remains a member in other workspaces.
- Fixed
Backup settings persistence
Updating backup reminder frequency no longer clears the last downloaded timestamp, and recording a database backup no longer resets reminder frequency back to 7 days.
- Fixed
Self-host admin access guard
Self-host admin access checks now resolve correctly during initialization and profile loading, preventing false "Admin Access Required" screens for valid admin accounts.
- Fixed
Workspace switch budget-name refresh
Switching workspaces now refreshes the displayed budget name immediately, so the header stays in sync without requiring a manual page reload.
- Improved
PWA install guidance on non-native browsers
When automatic install prompts are unavailable (including iOS and unsupported browsers), Budgero now shows clear manual install instructions instead of hiding install guidance.
- New
Flexible transaction import delimiters
Transaction imports now accept tab-separated and semicolon-separated files in addition to standard CSV, making it easier to import data exported from more banks and tools.
- Fixed
Dashboard drilldown split spending
Dashboard drilldowns now include split spending values correctly, so category and spending breakdowns stay accurate when transactions are split across multiple categories.
- Fixed
Workspace switch stability
Budget guard and reconnect transitions during workspace switching are now more stable, preventing race conditions and UI flicker when moving between budgets.
- Improved
Faster app loading
The app runtime has been restructured with a new internal architecture, deduplicated modules, and streamlined coordination, resulting in noticeably faster app loading times.
- Fixed
Custom currency rates apply to transfers
Custom currency exchange rates set by users now correctly apply to transfers as well, ensuring consistent rate usage across all transaction types.
- Improved
Calculator sheet accessibility
Improved accessibility on the calculator sheet for better screen reader support and keyboard navigation.
- New
Server-synced appearance preferences
Your theme, color mode, and appearance settings are now persisted to your server profile, so preferences follow you across devices and browser sessions.
- Improved
Mobile panels migrated to Drawer
Major mobile panels — including spending, calculator, chat, debt payoff, budget context, and budgeting — now use the native Drawer component instead of Sheet for a smoother, more consistent swipe experience.
- Improved
Faster mobile spending drawer
Reduced open-time jank on the mobile spending drawer for a smoother, more responsive budgeting experience on phones.
- Fixed
Session expired state for self-host auth
Self-hosted instances now correctly show a session expired state when receiving a 401, instead of silently failing or getting stuck.
- Fixed
Budget table drag behavior across layouts
Drag-and-drop for reordering categories now works consistently across all budget table layouts, preventing misaligned drops and ghost rows.
- Improved
Unified mobile swipe quick actions
Swipe-to-reveal quick actions on mobile budget rows now use a consistent style and behavior across all layouts.
- Fixed
Mobile spending drawer stability
The mobile spending drawer no longer flickers, closes unexpectedly, or has elements disappearing on scroll. Fixed GPU compositing issues that caused broken rendering on Android Chrome and other mobile browsers. Closing a nested dialog (quick view, delete confirmation, reassign category) no longer dismisses the parent drawer.
- Fixed
Self-host blob storage path
Blob storage on self-hosted instances now aligns with the DB_PATH setting, so uploaded files are stored next to the database instead of in the default working directory.
- Fixed
PWA shortcut launches
PWA shortcuts now reliably deliver their intent to the running app via the Launch Handler API and hand off navigation to an existing app instance, preventing blank launches that required re-entering the master password.
- Improved
Faster blob downloads and auth caching
Server-side blob downloads are now streamed more efficiently and Clerk JSON Web Keys are cached by key ID, reducing latency on authenticated requests.
- Fixed
Custom currency rate mutations
Custom currency exchange rate edits now route through the sync engine correctly, fixing failures when updating rates in multi-device setups.
- Improved
Background provider sync
Third-party provider sync in SaaS mode has been moved off the profile request into an hourly background loop, reducing latency on profile loads and keeping provider data fresh automatically.
- Improved
Exchange rate selector
The exchange rate selector now shows only the flag and currency code for a cleaner, more compact display.
- Fixed
Zero balance after deleting all transactions
Deleting all transactions from an account could leave a tiny floating-point residual (e.g. -0.00) instead of exact zero, which blocked account deletion. The balance is now recalculated from scratch when the last transaction is removed.
- New
Custom exchange rates
Define your own exchange rates for multi-currency transactions. A new settings page lets you manage custom rates, and exchange rate details now appear in transaction forms, mobile cards, and the desktop transaction table.
- Improved
Desktop dashboard layout
Polished the desktop dashboard visual hierarchy with better spacing and layout, and widened the sidebar with improved scrollbar and account list styling.
- Fixed
Monetary value rounding
Budget monetary values are now properly rounded to avoid floating-point display noise like $10.000000001.
- New
Curated theme system
Replaced the old generic themes with three distinctive new options: Phosphor (retro CRT terminal), Mesa (warm southwestern desert), and Obsidian (luxury dark with copper accents). Themes now support single-mode locking so dark-only and light-only themes auto-apply their color mode.
- Improved
Mobile budget table readability
Budget table columns now auto-size to content instead of using fixed widths, preventing financial numbers from overlapping or truncating on small screens.
- Improved
Compact budget toolbar layout
Ready to Assign is now centered in its own row with the month selector on a separate row below for better clarity on mobile.
- Improved
Account pages and dashboard polish
Streamlined account pages, summary cards, dashboard widgets, and transaction list for improved responsiveness and readability.
- Fixed
Self-host admin copy
Admin user management now correctly references "username" instead of "email" throughout the self-hosted interface.
- Fixed
Overlay disappearing issue
Fixed an issue where overlays would disappear unexpectedly during interactions, ensuring consistent user experience across all components.
- New
AllowOverAssignment budget preference
Added new budget preference to control whether over-assignment is allowed, giving users more flexibility in their budgeting workflow.
- Improved
Persistent analytics opt-out
Your analytics preference is now saved to your account instead of just browser storage. The setting survives sign-outs and syncs across devices.
- Fixed
iOS safe area on mobile budget button
The floating budget context button on mobile now accounts for the iOS safe area inset, preventing it from being obscured by the home indicator.
- New
Future overspending warning
Reducing an assignment or moving money now checks all future months for that category. If any month would go negative, a confirmation dialog lists the affected months and their projected balances before you proceed.
- New
Category selection for off-budget transfers
Transfers to off-budget accounts can now be assigned to a category, giving you more control over how off-budget money movement is tracked in your budget.
- Fixed
Compact mobile header controls
The collapse-all and hidden categories toggle buttons now appear correctly in the compact mobile budget header.
- New
Hidden categories feature
Hide categories you no longer need without deleting them. Hidden categories are grouped separately and always appear at the bottom of your budget table.
- Improved
Category ordering persists to database
Drag-and-drop category ordering is now saved to your database instead of browser storage. Your custom order syncs across devices and survives browser cache clears.
- Improved
Move money available in all layouts
The move money popover is now accessible from the Available column in compact and table mobile layouts, matching the functionality of the default card view.
- Fixed
Amount filter pills show correct labels
Filter pills for amount searches now display the correct operator labels and support the equal operator for exact amount matching.
- New
Semantic search for transactions
Search transactions using natural language like "last 30 days outflows groceries". The search bar now understands date ranges, transaction types (inflows/outflows/transfers), and category names—combining them into instant filters.
- New
All Transactions page
View and search across every transaction in your budget from one place. Access it directly from the sidebar on desktop or under Accounts on mobile.
- New
All Time date preset
The date range selector now includes an "All Time" option so you can quickly view your complete transaction history without setting custom dates.
- Improved
Data export from subscription screen
You can now export your budget data directly from the subscription required screen, ensuring you always have access to your financial information.
- Improved
Split transaction dialog
The split details popup on desktop is now wider with better table formatting, making it easier to review and edit transaction splits.
- Improved
Date range presets on mobile
Date range preset buttons now wrap properly on smaller screens, preventing layout overflow and improving touch targets.
- Fixed
Offline mode no longer hammers the server
Fixed an issue where the app would repeatedly attempt to fetch the profile when the server was unreachable. The app now waits for connectivity status before making requests.
- Improved
Smarter offline detection
Offline state is now detected using the connectivity service health probe instead of parsing error messages, making detection more reliable across different network conditions.
- Fixed
Multi-currency transaction editing
Fixed a bug where editing multi-currency transactions would incorrectly use the inverse of the exchange rate, causing incorrect converted amounts.
- Fixed
Self-host admin re-login
Fixed a bug where logging back in with the same admin credentials on self-hosted instances would fail after the initial session.
- New
Autofill rules
Create rules that automatically fill in transaction fields as you type. Set up patterns like "when payee contains Starbucks, set category to Coffee" and watch fields populate instantly.
- Improved
Extended rule conditions and actions
Rules now support memo and payee fields for both conditions and actions. Match transactions by payee name, automatically set payees, or transform memos with regex patterns.
- Improved
Reorganized settings
Settings have been restructured into clearer sections, making it easier to find display preferences, account options, and app configuration.
- New
Privacy controls
A new Privacy section in settings lets you control usage analytics. Disable anonymous usage tracking anytime if you prefer complete data privacy.
- New
Investment & Retirement account types
Track your brokerage accounts, 401(k), IRA, and pension funds separately from other assets. Each type has its own color and icon for clearer organization.
- New
Asset history chart
A new History tab on the Accounts page shows a stacked bar chart of your assets and liabilities over the last 24 months, with net worth comparison.
- Fixed
Dashboard balance shows cash only
The dashboard balance card now correctly shows only cash accounts (checking, savings, cash), excluding credit cards and loans for a clearer picture of spendable money.
- Improved
Separate account groupings
Real Estate, Other Assets, Investments, and Retirement accounts now appear in their own sections on the Accounts page instead of being grouped together.
- Improved
Unified debt account handling
Credit cards, loans, and mortgages now all use the same per-account linked category system, making debt tracking consistent across account types.
- Fixed
Linked categories sync with account names
Renaming a debt account now automatically updates its linked category name, keeping your budget organized without manual edits.
- Fixed
Transfer memos update on account rename
When you rename an account, existing transfer memos now reflect the new name so your transaction history stays accurate.
- Improved
Linked categories cleaned up on account deletion
Deleting a debt account now automatically removes its linked category, preventing orphaned categories from cluttering your budget.
- Improved
Protected linked categories
Linked categories can no longer be accidentally deleted while their associated debt account exists. A clear error message guides you to delete the account first.
- Fixed
Recurring transaction form uses numpad input
The recurring transaction form now uses the custom numpad input instead of the browser default number field, matching the rest of the app and improving mobile usability.
- New
Budgero Self-Host
Deploy Budgero on your own infrastructure with Docker. Full end-to-end encryption, complete data ownership, and no reliance on external services.
- New
Calculator-Style Number Inputs
All amount fields now feature a dedicated numpad with expression support. Type "100 + 50" or "1000 * 0.3" and let Budgero do the math.
- New
Mobile Budget Table Layouts
Choose between card, compact, and table views for your budget on mobile. Switch layouts from the toolbar to match how you prefer to work.
- Improved
Cleaner Empty State Handling
Zero values now display as empty fields when editing, reducing clutter and making it faster to enter new amounts without clearing placeholder text.
- New
Local LLM Integration (Experimental)
Connect Budgero to local language models via Ollama or LM Studio. Your financial conversations stay private with local models.
- New
AI-Powered Auto Categorization (Experimental)
Let AI suggest categories for new transactions based on payee, memo, and your existing spending patterns. Review suggestions before applying.
- New
AI-Powered Receipt Scanner (Experimental)
Snap a photo of any receipt and let AI extract the merchant, amount, and date. Works with your local LLM for complete privacy.
- New
AI Chat Assistant (Experimental)
Ask questions about your budget in natural language. Get insights on spending trends, category breakdowns, and budget health without leaving the app.
- New
Voice Transaction Logging (Experimental)
Speak your transactions naturally and let local Whisper models transcribe them. Say "coffee at Starbucks for $5.50" and Budgero handles the rest—completely offline.
- New
Push API
Add transactions programmatically from external scripts, automations, or services. Generate an API token in Settings, encrypt your payload, and push directly to your budget.
- New
Python SDK
A first-party Python client for the Push API with built-in AES-256-GCM encryption. Install via pip and start automating transaction imports in minutes.
- New
Audit Log
Track every mutation across your budget in a new Settings page. See timestamps, operation details, and origin (local vs remote), with one-click undo for reversible actions.
- Improved
Remembers your last transaction details
Budgero now saves your most recent payee, account, and category so repeat entries start prefilled and faster.
- New
Touch-friendly numpad input
A dedicated numeric keypad appears on touchscreens across the app, making amount entry smoother on phones and tablets.
- New
Global shortcut to Add Transaction
Press Ctrl + Alt + T (⌘ + ⌥ + T on macOS) from anywhere to open the transaction form without leaving the keyboard.
- Improved
Ctrl + ⏎ / ⌘ + ⏎ submits the form
Finish new transactions with Ctrl + ⏎ (⌘ + ⏎ on macOS) so keyboard flows match the rest of Budgero’s dialogs.
- New
Global Drag-and-Drop Imports
You can now drag and drop CSV or PDF files anywhere in the app to trigger an import, making it faster to bring in your data.
- Improved
Improved Split Transaction Visibility
Split transactions now display correctly in quick views and have a polished layout on mobile cards, ensuring complex spending is easy to read on any device.
- Fixed
Authentication & Offline Stability
Fixed issues with offline guard fallbacks and forced sign-out on expired tokens to ensure your session state remains consistent and secure.
- Improved
Backup language matches the app
Self-host references were renamed to “Budgero Backup” across the import flow and docs, so new teams always see the terminology used in product.
- Improved
Streamlined app update flow
Manual update checks surface clear status toasts and only prompt when a fresh build is available, so you always know whether Budgero pulled down anything new.
- Fixed
Stopped repeated reload loops
Resolved a bug where the old update overlay reloaded the PWA multiple times after an install, keeping the refresh to a single, predictable pass.
- Improved
Smarter transaction split handling
Split rows now respect category changes, show clearer totals, and keep amounts in sync so you can break up purchases without surprise leftovers.
- Improved
Planning page table refresh
The compact table view received spacing, typography, and highlight tweaks that make monthly plans easier to scan on both desktop and tablet widths.
- New
Account balances in the sidebar
Every account now surfaces its current balance right inside the sidebar list, giving you instant context while you jump between budgets.
- New
Budgero Core (free)
A browser-based, offline-first edition that keeps your budget in OPFS. No account required, perfect for single-device workflows.
- New
Pricing refresh & marketing site
Updated budgero.app with Core vs Full comparison, revised FAQs, and a new pricing table highlighting the 14-day trial for paid plans.
- Improved
Service worker and install prompts for Core
Core now registers a PWA service worker, precaching assets so the experience works offline and can be installed like an app.
- New
Shared budgets and invites
Spin up shared budget spaces, invite collaborators, and mirror assignments live so couples and teams stay perfectly in sync.
- Improved
Desktop skips onboarding overlays
The Electron build now bypasses the onboarding tour entirely, letting experienced users jump straight into their budgets.
- Improved
Simpler desktop About page
We removed the manual service worker update button from desktop settings to avoid confusing actions that do not apply to native builds.
- New
Automations hub with recurring reminders
Rules and recurring transactions now live together on the Automations page, complete with desktop dialogs, mobile drawers, and notification opt-ins for Electron and PWA builds.
- New
Create recurring items from account activity
Convert any transaction selection into a recurring template straight from account toolbars, pre-filling the editor so you can schedule paycheques and bills in seconds.
- Improved
Recurring editor usability upgrades
The editor adopts our calendar picker with past dates disabled, responsive card actions, and mobile drawers that prevent buttons from spilling offscreen.
- Fixed
Offline sync no longer duplicates automations
Replaying queued mutations now skips reapplying local inserts, so new rules and recurring transactions appear exactly once even after reconnecting.
- Fixed
Budget group visibility persists
Collapsed and expanded category groups now sync to local storage so the budget table reopens exactly how you left it across reloads and tabs.
- Improved
Medium breakpoints polished
Budget table and goal cards received responsive tweaks around tablet widths, preventing cramped totals and awkward wrapping.
- Fixed
Consistent goal currency formatting
Goal status messages now rely on the same currency locale as the rest of the app, so progress and target amounts line up.
- Fixed
Accurate off-budget transfers
Transfers directed to off-budget accounts correctly decrease Ready to Assign, keeping your cash flow math precise.
- New
Theme preset system
Introduced selectable presets with persistence so you can swap Budgero’s look without losing your preferred light or dark mode.
- New
Five new Budgero looks
Choose from Twitter Blue, Paper, Neo Brutalism, Bubblegum, or DOOM 64—each tuned with custom OKLCH tokens, fonts, shadows, and sidebar accents.
- Improved
Smarter theme switcher
The appearance picker now previews palettes, manages data-theme attributes, and keeps light/dark controls close at hand.
- Fixed
Unstuck mobile date headers
Dashboard transaction headers scroll with the list again so your view stays focused on the entries you are reviewing.
- New
Prebuilt analytics responsive refresh
Metric cards, chart filters, and detailed views now wrap neatly on smaller screens, leaving room for the mobile bottom nav and preventing cards from spilling offscreen.
- Improved
Compact chart axes
Income vs Expense and Spending Over Time charts adopted compact K/M formatting and wider plotting areas so big budgets stay readable at a glance.
- New
Category pivot drill-down
Click any monthly total to pop open a curated list of the underlying transactions, complete with account, memo, and amount details filtered by date, category, and accounts.
- Improved
Filter consistency & presets
Shared multi-select account/category controls keep filters aligned across analytics cards, and date presets now focus on 14/30/90-day windows for quick comparisons.
- Improved
Responsive budget layout refresh
Category rows, group headers, and totals received a slimmer, stacked layout so memos truncate gracefully, metrics hug the right edge, and the table shrinks without clipping on narrow screens.
- Improved
Multi-month view access
The multi-month planner is now reserved for spacious desktops (≥1600px) and each month card stretches independently, giving a clearer snapshot when you open the sheet.
- Improved
Persistent drag handles
Drag-and-drop grips stay visible on desktop so reordering groups and categories is effortless, even with the tighter layout.
- Improved
PWA Install Prompt Disabled on iOS
PWA install prompt from the setting page is now hidden on iOS devices as PWA installation is not supported on iOS. To install the app on iOS, users can use the "Add to Home Screen" option from the Safari share menu.
- Fixed
Onboarding respects completion
Creating goals or categories no longer re-opens the onboarding flow once your profile is marked complete, keeping experienced users focused on budgeting.
- New
Guided onboarding journey
New users are welcomed with an intro screen and step-by-step guidance through master password setup, budget creation, and the essentials needed to start budgeting securely.
- New
Celebration screen
Wrapping up onboarding now lands on a dedicated “You did it!” moment that reinforces progress and highlights the next best actions.
- Improved
Contextual budget helpers
Category groups, categories, goals, and assignments now light up right where work needs to happen—complete with scroll-into-view hints so nothing gets lost.
- Improved
YNAB import detection
When you import from YNAB we auto-complete onboarding tasks, skip redundant walkthroughs, and keep the server in sync so you can get straight to budgeting.
- New
Public changelog
Launched this page so you can follow product updates without digging through release notes or social posts.
Get updates the moment we ship
Use my.budgero.app to stay current with new features, performance fixes, and upcoming previews.
Head to the app