Wealthfolio logo
Download
All releases 3.12.0 Nov 01, 2026

Wealthfolio 3.12.0 – Release Notes

Wealthfolio 3.12 brings more UI refinements and more ways to customize the app: eight themes, a text size setting, and gain and loss colours for markets where red means up. On phones, each tab now remembers where you were. We’ve also added a rebalancing worksheet, fund conversions support, prices for Indian mutual funds and the Moscow Exchange, and more tools for AI agents.

Using device sync? Update every device to 3.12 before you change gain and loss colours, record a fund conversion, or let a savings goal share an account with Retirement. Devices still on 3.11 don’t handle these.

Using an AI agent? Spending tools now need the new Spending permissions. Edit the token in Settings → AI agent access and reconnect the agent. You don’t need a new token.

Appearance

Settings → Appearance is now grouped into three cards: Theme, Text and numbers, and, on desktop, Navigation. New users make most of these choices during onboarding.

Themes

Seven new themes join Classic: Signature, Ember, Cupertino, Newspaper, Cyber, Terminal and Poster. Picking a theme applies the font it suggests and leaves your light or dark setting alone. Cyber and Terminal are made for dark mode. New profiles start on Signature, existing ones keep Classic, and each device keeps its own theme.

Text size

Choose Small, Default, Large or Extra large. Spacing and icons grow with the text, and screens that would cut values off wrap them or drop a column. On iPhone and Android, the app follows the system text size until you pick one.

Gain and loss colours

In mainland China, Taiwan, South Korea and on most Japanese finance sites, red means a price went up. Gain and loss colors can now be Red up, green down, or Red up, blue down. Gains, returns, day change, the treemap and charts follow it, and the setting syncs across your devices.

Charts

Charts use your theme’s colours, in light and dark mode, and an item keeps the same colour on the donut, the Breakdown list, the holdings strip and the allocation targets. Classic’s charts switch to softer Flexoki colours.

Other interface changes

  • Dashboard: the balance is in regular weight, with the hide-balance button beside it, now on Net Worth and Spending too. Holdings rows are roomier.
  • Holdings tables: tighter rows, gain percents as badges, and the row menu on hover.
  • Activities: type badges are pale, so a column of sells or fees no longer looks like a list of alerts.
  • Insights: Spending insights is now the Spending tab, and the overview opens with its cards already in place.
  • Settings and lists: page titles match the menu, labels use sentence case, and lists across the app take the theme’s card style.

Phone navigation

Each tab of the bottom bar keeps its own stack of screens, so going back returns you to a screen as you left it, with its scroll position, filters and drafts. Screens slide in and out, you can swipe from the left edge to go back in the iOS app, and Android Back steps back through the tab, then to the Dashboard. The bar now shows Holdings beside Dashboard and Insights, and on Android it’s a Material navigation bar.

One time period for the dashboard and Insights

Pick a period on the dashboard, or on Insights’ Spending or Performance tab, and the others follow. Investments and Net Worth also get Spending’s calendar picker, so a single month or a custom range carries over. Income keeps its own period.

Rebalancing worksheet

The rebalancing worksheet replaces the Rebalance planner: in Insights, open a target’s details and choose Open rebalancing. Choose the cash to deploy, the accounts and the eligible securities, and the worksheet works out how far each category is from its target and splits each adjustment in proportion to what you already hold. Edit any line, review the result by account, then copy it for a spreadsheet or export it as CSV. Nothing is submitted or executed, and fees and taxes aren’t included.

Fund conversions

Record units of one fund becoming units of another in the same account: a fund switch, a share-class conversion, or a mutual fund converted to an ETF. Choose Fund conversion when you add an activity. The new units take over the old ones’ cost and purchase dates, lot by lot. Nothing is sold, no gain is realized, and no cash moves. CSV import can’t record conversions yet.

Price providers

Settings → Market data lists the providers that are on, in the order they’re tried, with arrows to reorder them, and Add provider lists the rest. Two new built-in providers need no API key and stay off until you add them:

  • AMFI prices Indian mutual funds; search by ISIN or AMFI scheme code.
  • Moscow Exchange prices shares, ETFs, funds and depositary receipts traded on MOEX. Bonds and dividends aren’t covered.

Custom providers also get a TMX Money template, for TSX listings and Canadian mutual funds.

MCP and AI agents access

AI agent access has three new permissions: View spending, Organize spending and Manage budgets. With them, an agent can read your spending, organize categories, rules and tags, and manage budgets. Changes are shown for review before they’re saved, and manual categories are never changed. Agents also see more detail on activities, holdings and accounts, and can record taxes and FX rates, delete or void activities, and run the Health Center’s checks.

Retirement and savings goals

A savings goal can now take part of an account that Retirement uses. Retirement counts what’s left, up to its own share, and its chart marks each active savings goal at its target date. The retirement overview shows what savings goals plan to add each month, so the same money isn’t entered twice.

Spending

  • Grid: Activities → Spending has a Grid view for editing many transactions at once, including paste and fill across cells. Phones and narrow screens keep the list.
  • Net saved: a linked transfer back from savings now counts, so Net no longer reads too low.
  • Categories: move a category under another parent, delete built-in categories you never used, or use the new preset for Italian banks.
  • Rules: the highest-priority rule that fits a transaction now applies, and re-running rules tells you what actually changed and why a rule couldn’t apply.

After updating

Nothing is recalculated on first launch.

  • AI agent access: existing tokens keep their permissions. An agent that uses the categorization tools needs View spending added, plus Organize spending to make changes; then reconnect it. Tokens made with the Read-only preset show as Custom until you add View spending. Tokens with Activities – commit/write can now delete or void activities.
  • Device sync: a device still on 3.11 skips gain and loss colour changes (and stays green up until you change the setting again after updating it), ignores fund conversions, and sees more than 100% of an account a savings goal shares with Retirement. If a device received a conversion while on 3.11, open that account after updating and choose Recalculate History.
  • Savings goals may show a different status, projected value or monthly amount. The expected return now works as a yearly rate, contributions land at each month-end up to the target date, and a goal with no saved plan assumes 5% instead of 7%.

For self-hosters

No configuration changes are needed. Docker images are tagged 3.12.0, 3.12, and latest; if you pin 3.11, change it to 3.12. The image now runs on Alpine 3.24. OIDC providers that use a private CA can use the new WF_OIDC_CA_FILE setting.

For add-on developers

Add-on pages follow the user’s theme, text size and gain and loss colours, with new --gain and --loss tokens. Classic’s chart colours changed, and new Spending functions each need their own grant. See the SDK changelog for details.

More improvements and fixes

  • Import: skip rows in the Mapping step. Importing trades again no longer adds a second copy when one import named the asset by its symbol and the other by its ID, as long as both carry the same amount.
  • Activities: desktop price fields take 8 decimals, and a total you enter or import is saved as given.
  • Performance: for accounts tracked by transactions, a 1Y or 5Y range that covers their whole history shows the same gain as ALL. Refunds, cash back and other credits that stay in an account count as income in the gain breakdown.
  • Goals: a savings goal’s status, projection and chart now agree.
  • Accounts: manual accounts can have an account number, and CSV import matches against it.
  • Mobile: swiping between tabs no longer stops and then jumps, and on Android the last buttons of sheets and dialogs no longer sit under the navigation bar.
  • Language: more of the app follows the app language.
  • Plus fixes to net worth, asset lots, market data, Connect, the web app, add-ons and security.

Thanks

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

Full release notes on GitHub