Source: https://wealthfolio.app/changelog/3_9_0/

Back

3.9.0

Sep 26, 2026

# Wealthfolio 3.9.0 — Release Notes

Wealthfolio 3.9 adds **separate profiles**, **app lock**, **optional database encryption**, and **portable backups**. You can customize your Insights overview, exclude categories from Spending, and use a simpler device setup flow. This release also improves imports, prices, net worth, regional formatting, mobile behavior, and add-on APIs.

**Pairing devices?** Update receiving devices to 3.9 before pairing. ([#1786](https://github.com/wealthfolio/wealthfolio/pull/1786), [#1808](https://github.com/wealthfolio/wealthfolio/pull/1808))

## Profiles, app lock, and recovery

Keep each person’s finances in a separate profile. Set a password, lock the app after inactivity, and use a recovery code if you lose access. Existing data remains in a **Personal** profile. ([#1770](https://github.com/wealthfolio/wealthfolio/pull/1770))

Native apps can optionally encrypt their local database. Password-protected portable backups can be previewed before restoring, then used to recover on another installation. Wealthfolio makes a verified backup before applying pending database migrations. After a portable restore, reconnect external services. ([#1740](https://github.com/wealthfolio/wealthfolio/pull/1740), [#1743](https://github.com/wealthfolio/wealthfolio/pull/1743))

## For self-hosters

Existing `WF_DB_PATH` deployments and the supplied Docker `/data` volume continue to work without configuration changes. Existing data appears in a Personal profile; new profiles use separate databases. `WF_DATA_DIR` is an optional way to select the installation directory. If you set it alongside `WF_DB_PATH`, both must select the same directory. See the [configuration reference](https://wealthfolio.app/docs/guide/self-hosting/configuration/#wf_data_dir) for Docker examples.

Continue backing up your persistent data directory or Docker volume and your master key. Copying only the original database file will not include additional profiles. Include any custom `WF_SECRET_FILE` or `WF_ADDONS_DIR` location in your backups.

Server database encryption remains optional. `WF_DB_REQUIRE_ENCRYPTION=true` does not convert existing databases. If you opt in, stop the server and run the offline `db encrypt` command for each existing profile (use `--profile <UUID>` for profiles beyond the default) before enabling the requirement.

**Existing databases must be encrypted before enabling `WF_DB_REQUIRE_ENCRYPTION`.** The variable enforces the database state; it does not convert a plaintext database. If startup reports a mismatch, the database is not damaged. Either unset the variable to remain plaintext, or stop the service, back up the full data directory, run `wealthfolio-server db encrypt` with the same volume, service user, and master key, then restart with the flag enabled. Releases before 3.9 ignored the variable, so upgraded databases can be plaintext even when it was already configured.

## Insights and Spending

### Customizable Insights

Hide, reorder, and resize overview widgets. New widgets show unrealized P&L, top movers, and concentration. Your layout can sync across devices. ([#1758](https://github.com/wealthfolio/wealthfolio/pull/1758))

### Spending controls

Exclude categories from spending totals, reports, events, and budgets. The Spending dashboard also supports a custom date range. ([#1635](https://github.com/wealthfolio/wealthfolio/pull/1635), [#1512](https://github.com/wealthfolio/wealthfolio/pull/1512))

## Devices and mobile

One guide now handles adding, joining, and recovering a device. On mobile, the portfolio refreshes when you return to the app, navigation and QR scanning are improved, and Connect keeps you signed in when subscription access pauses sync. ([#1786](https://github.com/wealthfolio/wealthfolio/pull/1786), [#1808](https://github.com/wealthfolio/wealthfolio/pull/1808), [#1803](https://github.com/wealthfolio/wealthfolio/pull/1803), [#1702](https://github.com/wealthfolio/wealthfolio/pull/1702), [#1711](https://github.com/wealthfolio/wealthfolio/pull/1711))

## More improvements and fixes

-   **Net worth:** clearer charts when balances cross zero, more useful monthly comparisons, separate portfolio gains from other asset changes, and actions to link properties with mortgages. ([#1807](https://github.com/wealthfolio/wealthfolio/pull/1807), [#1801](https://github.com/wealthfolio/wealthfolio/pull/1801))
-   **Imports:** better detection of two-digit and named-month dates, plus automatic matching of CSV account values to existing accounts. ([#1622](https://github.com/wealthfolio/wealthfolio/pull/1622), [#1764](https://github.com/wealthfolio/wealthfolio/pull/1764), [#1771](https://github.com/wealthfolio/wealthfolio/pull/1771))
-   **Prices and performance:** price refreshes preserve older quote history. A separate confirmed action resets provider history when needed. Latest valuations refresh correctly, and volatility uses the actual frequency of the data. ([#1761](https://github.com/wealthfolio/wealthfolio/pull/1761), [#1720](https://github.com/wealthfolio/wealthfolio/pull/1720), [#1645](https://github.com/wealthfolio/wealthfolio/pull/1645))
-   **Dates and regions:** portfolio and planning dates follow your selected timezone. Switzerland is now available as a formatting region. ([#1756](https://github.com/wealthfolio/wealthfolio/pull/1756), [#1767](https://github.com/wealthfolio/wealthfolio/pull/1767))
-   **Add-ons:** new APIs provide spending reports, alternative assets, and transfer linking. Network requests can specify a bounded timeout, and custom price providers support Unix timestamp date placeholders. ([#1753](https://github.com/wealthfolio/wealthfolio/pull/1753), [#1735](https://github.com/wealthfolio/wealthfolio/pull/1735), [#1307](https://github.com/wealthfolio/wealthfolio/pull/1307), [#1328](https://github.com/wealthfolio/wealthfolio/pull/1328), [#1703](https://github.com/wealthfolio/wealthfolio/pull/1703))
-   **Platforms:** initial Android source-build support, iOS launch compatibility updates, and notarized macOS disk images. Android source-build support does not mean a public Android store release. ([#1709](https://github.com/wealthfolio/wealthfolio/pull/1709), [#1790](https://github.com/wealthfolio/wealthfolio/pull/1790))

## Thanks

Thanks to everyone who contributed, reported issues, and helped test this release. 💛

[Full changelog on GitHub](https://github.com/wealthfolio/wealthfolio/compare/v3.8.0...v3.9.0)
