Wealthfolio logo
Download
3.11.0
Oct 22, 2026

Wealthfolio 3.11.0 — Release Notes

Wealthfolio 3.11 adds running balances, Arabic with a right-to-left layout, per-currency number formats, and currency exchanges within an account. Activity lists are grouped by day, loans can record a rate change, and the interface is rebuilt on new foundations. This release also fixes many issues in calculations, income, device sync, and the Linux desktop app.

Using device sync? Update all your devices to 3.11. Older versions keep rejecting some edits made on 3.11, such as a renamed portfolio or a changed category.

Running balances

Cash and credit-card accounts now show the balance after each activity, so you can check an import against your bank statement. Spending → Transactions shows it too when the list covers a single account. Other transaction-tracked accounts show their end-of-day cash in each day’s header. Activity exports and the AI tools include the balance.

Activity lists grouped by day

The Activities page and an account’s Activities tab now open each day with a header, like the Spending transactions list. In Spending, row checkboxes appear on hover, and a partial selection shows a dash.

Arabic and right-to-left

Wealthfolio is now available in Arabic. The whole app, including add-ons, switches to a right-to-left layout, and Arabic text uses the Rubik typeface so its letters join properly.

Per-currency number formats

In Settings → General → Language & Region, the new Customize currency formats section lets a currency follow another region. For example, INR can use Indian grouping (₹12,34,567.89) while USD stays in US format. Amounts also follow each currency’s own decimals: none for JPY, three for KWD.

Currency exchange within one account

A cash transfer can now go from one currency to another in the same account, for example when you convert USD to EUR at your broker. It’s saved as a linked pair of activities and doesn’t count as a contribution.

Loan rate changes

Variable-rate loans can record a lender’s new rate, with or without a new payment, without renewing the loan. Choose Change interest rate in the Schedule tab’s Add event menu.

A refreshed interface

The interface is rebuilt on new foundations. Tables and grids sit on cards, menus and pickers look and behave the same everywhere, and keyboard focus is easier to see. Buttons, switches, and pickers that had no accessible name now have one, in every language.

AI assistant and agents

The AI assistant works with current Claude, GPT, and Gemini models, which rejected some of its requests before. CSV imports now read the attached file itself, so files up to the 500-row limit import whole, and you can paste a table instead of attaching a file. The assistant’s prompt stays the same through a conversation, so providers can cache it.

AI Agent Access now gives ready-to-copy setup for Claude Code, Codex and the ChatGPT desktop app, Cursor, and other MCP apps, and labels each tool as read-only or write.

After updating

There is no migration, and nothing is recalculated on first launch.

Run Refresh full history once (Settings → Market Data → History) if, on 3.10, you had credits marked external (such as refunds or reimbursements from bank sync), custom holdings of type “Other”, currency conversions imported as a transfer pair within one account, or cash or holdings in a currency whose code isn’t three letters, such as USDT. Until then, past values in those accounts stay as 3.10 calculated them.

Some numbers change. Income is now converted at the exchange rate of the day it was received and counted in its month in your time zone. Performance now includes currency gains and losses on cash.

If an edit, a manual price, or an import mapping never reached another device, edit it again or pair that device again.

In rare cases, the first broker sync after updating sets a holding’s average cost to 0, even a cost you edited. It takes a broker that doesn’t send an average cost and a quantity with three or more decimals, such as 4096.029.

For self-hosters

No configuration changes are needed. Docker images are tagged 3.11.0, 3.11, and latest. If you pin the 3.10 tag, change it to 3.11 to update.

Linux packagers: the in-app updater no longer installs over AUR, Flatpak, or other package-manager installs. It still shows the update and its notes. Set WEALTHFOLIO_UPDATE_EXPLANATION to show your own message.

More improvements and fixes

  • Device sync: manual prices and valuations, CSV import mappings, and items that were deleted and created again (portfolio edits, category changes, tags, budgets, holdings snapshots) now reach your other devices. A device also catches up when the cloud is ahead of it, and keeps receiving changes while an upload waits to retry.
  • Calculations: credits marked external, such as refunds and reimbursements, count as contributions again instead of gains. Custom “Other” holdings are counted once in net worth. Performance includes currency gains and losses on cash, also in securities accounts, and marks a partial result as “Partial data”. Recalculating history on large accounts no longer fails with “too many SQL variables”.
  • Income: past income is converted at the rate on the day it was received and counted in its month in your time zone. Income without an exchange rate is left out of totals, and a notice names the currency. The currency pie compares converted amounts, and growth no longer shows 0% when there’s nothing to compare.
  • Activities: editing a trade keeps its security instead of sometimes creating a duplicate asset, and a pasted or typed symbol no longer keeps the previous security’s details. Editing one side of a synced transfer keeps the other side’s date and reference.
  • Holdings and cash: in a holdings snapshot, enter either the total cost or the cost per share. Adjust an account’s cash one currency at a time. Table headers stay in view while you scroll.
  • Formatting: option strikes show in the option’s currency, and Region & formats is searchable. Hide Balance also hides the amounts in the income currency pie’s tooltip and on the income chart’s axes, and Spending’s budget pace, tooltips, and chart average.
  • Connect: broker numbers are converted exactly (4196049.73 no longer becomes 4196049.730000001).
  • Desktop: on macOS, Cmd+C, Cmd+V, and Cmd+Z keep working, and the Show menu bar setting is hidden there. On Linux, Undo, Redo, Quit, and the Edit menu work, and the window no longer freezes while the keyring is slow or waiting for an unlock prompt. On Windows, the menu no longer has a Hide item that could leave the window hidden.
  • Web app: saving a CSV import template works when the browser doesn’t provide crypto.randomUUID, for example on a self-hosted server opened over plain HTTP, and buttons along the top edge of a page now work on the web and on phones. Old /income and /performance bookmarks open their Insights tabs.
  • Mobile: Next in Spending’s Add Transaction no longer saves a $0 transaction, the Performance Plus button stays on screen, and period rows scroll sideways. On iOS, portfolios created before 3.9 open after an app update.
  • AI assistant: a reply cut off by a provider error is saved, and images in replies show as text instead of loading.
  • Security: TLS certificates are updated after the eMudhra CA compromise, and the desktop framework (Tauri) is updated.
  • Add-ons: @wealthfolio/ui now follows Base UI’s API. Add-ons built for earlier SDKs keep working.

Thanks

Thanks to everyone else who contributed, reported a bug, or helped test a fix. 💛

Full release notes on GitHub