Download Latest Version Wealthfolio_aarch64.app.tar.gz (130.5 MB)
Email in envelope

Get an email when there's a new version of Wealthfolio

Home / v3.4.0
Name Modified Size InfoDownloads / Week
Parent folder
wealthfolio-server-3.4.0-linux-amd64.tar.gz 2026-05-15 137.9 MB
wealthfolio-server-3.4.0-linux-amd64.tar.gz.sha256 2026-05-15 110 Bytes
latest.json 2026-05-15 10.9 kB
Wealthfolio_3.4.0_aarch64.AppImage.tar.gz.sig 2026-05-15 436 Bytes
Wealthfolio_3.4.0_aarch64.AppImage.tar.gz 2026-05-15 202.1 MB
Wealthfolio_3.4.0_aarch64.AppImage.sig 2026-05-15 428 Bytes
Wealthfolio_3.4.0_aarch64.AppImage 2026-05-15 202.8 MB
Wealthfolio-3.4.0-1.aarch64.rpm.sig 2026-05-15 424 Bytes
Wealthfolio-3.4.0-1.aarch64.rpm 2026-05-15 132.6 MB
Wealthfolio_3.4.0_arm64.deb.sig 2026-05-15 416 Bytes
Wealthfolio_3.4.0_arm64.deb 2026-05-15 132.6 MB
Wealthfolio_3.4.0_amd64.AppImage.tar.gz.sig 2026-05-15 432 Bytes
Wealthfolio_3.4.0_amd64.AppImage.tar.gz 2026-05-15 203.6 MB
Wealthfolio_3.4.0_amd64.AppImage.sig 2026-05-15 424 Bytes
Wealthfolio_3.4.0_amd64.AppImage 2026-05-15 204.3 MB
Wealthfolio-3.4.0-1.x86_64.rpm.sig 2026-05-15 420 Bytes
Wealthfolio-3.4.0-1.x86_64.rpm 2026-05-15 132.2 MB
Wealthfolio_3.4.0_amd64.deb.sig 2026-05-15 416 Bytes
Wealthfolio_3.4.0_amd64.deb 2026-05-15 132.2 MB
Wealthfolio_3.4.0_x64-setup.nsis.zip.sig 2026-05-15 428 Bytes
Wealthfolio_3.4.0_x64-setup.nsis.zip 2026-05-15 122.8 MB
Wealthfolio_3.4.0_x64-setup.exe.sig 2026-05-15 424 Bytes
Wealthfolio_3.4.0_x64-setup.exe 2026-05-15 122.8 MB
Wealthfolio_3.4.0_x64_en-US.msi.zip.sig 2026-05-15 428 Bytes
Wealthfolio_3.4.0_x64_en-US.msi.sig 2026-05-15 424 Bytes
Wealthfolio_3.4.0_x64_en-US.msi.zip 2026-05-15 128.2 MB
Wealthfolio_3.4.0_x64_en-US.msi 2026-05-15 128.2 MB
Wealthfolio_3.4.0_arm64-setup.nsis.zip.sig 2026-05-15 432 Bytes
Wealthfolio_3.4.0_arm64-setup.exe.sig 2026-05-15 424 Bytes
Wealthfolio_3.4.0_arm64-setup.nsis.zip 2026-05-15 121.3 MB
Wealthfolio_3.4.0_arm64-setup.exe 2026-05-15 121.3 MB
Wealthfolio_3.4.0_arm64_en-US.msi.zip.sig 2026-05-15 432 Bytes
Wealthfolio_3.4.0_arm64_en-US.msi.zip 2026-05-15 126.8 MB
Wealthfolio_3.4.0_arm64_en-US.msi.sig 2026-05-15 424 Bytes
Wealthfolio_3.4.0_arm64_en-US.msi 2026-05-15 126.8 MB
Wealthfolio_x64.app.tar.gz.sig 2026-05-15 412 Bytes
Wealthfolio_x64.app.tar.gz 2026-05-15 131.6 MB
Wealthfolio_aarch64.app.tar.gz.sig 2026-05-15 412 Bytes
Wealthfolio_3.4.0_x64.dmg 2026-05-15 132.1 MB
Wealthfolio_aarch64.app.tar.gz 2026-05-15 130.5 MB
Wealthfolio_3.4.0_aarch64.dmg 2026-05-15 130.8 MB
README.md 2026-05-15 8.6 kB
v3.4.0 source code.tar.gz 2026-05-15 122.8 MB
v3.4.0 source code.zip 2026-05-15 128.5 MB
Totals: 44 Items   3.3 GB 6

What's Changed

This release tightens every step where data flows in and out of Wealthfolio: multi-exchange CSV imports keep their identity, quote sync explains itself when it can't price an asset, database backups get a managed list with streamed downloads, and self-hosters get a prebuilt Linux server with proper non-root container defaults.

⚠️ Breaking — self-hosters only

  • Docker image now runs as UID/GID 1000 (#940, closes [#919]). Existing deployments must chown their data directory once before upgrading — see the self-host docs for the exact command. Fresh installs using the documented named-volume setup need no action.
  • Docker image moved to wealthfolio/wealthfolio (#950). The afadil/wealthfolio tag still publishes as a legacy mirror so existing compose.yml files keep working.
  • GitHub repo transferred to the wealthfolio org (#951). Old URLs redirect automatically.

CSV import — multi-exchange identity preserved

Major correctness pass on the import wizard, driven by #855.

  • Exchange suffix identity preserved (#967, [#958]). German .DE listings of US issuers now resolve to XETRA/EUR instead of snapping to NASDAQ/USD. ISIN-only rows resolve through existing assets or provider search rather than short-circuiting. Cross-listings (e.g. SHOP on TSX vs NYSE) produce two distinct review rows.
  • Region auto-classification now uses provider country data instead of guessing from the exchange MIC.
  • TRANSFER_IN/OUT external flag preserved through CSV import (#952, fixes #927). The "External" checkbox on the Review grid no longer gets silently dropped on save.
  • Padded broker fund names map correctly (#932, fixes #926). CSV cells with leading/trailing whitespace now resolve through saved symbol mappings.
  • SPLIT rows require a positive ratio (#935). Blank or zero-amount split rows are blocked at validation time instead of silently failing to adjust holdings.
  • HTML table preview now extracts headers from td-only tables.
  • 35+ symbol multi-exchange E2E fixture added for regression coverage.

Quote sync & market data

  • Quote sync position lifecycle fixed (#949). Asset-catalog active state is now decoupled from open/closed position state. Holdings-only assets are protected from orphan cleanup; targeted/inactive/closed/empty modes all filter correctly.
  • "No quote" reasons are now visible (#936). The warning tooltip on asset tables explains why: manual pricing, inactive asset, expired option, matured bond, error cooldown, pending sync, or generic no-data.
  • Bond provider routing fixed (#934). Bond ISIN now drives provider selection; stale data_source/error state is cleared when the market identity or provider profile changes.
  • Quote-unit currencies added (#973): GBp/GBX (LSE pence), ILA (TASE agorot), USX, ZAc, KWF. Resolved quote currency is now the source of truth for new market symbol selections.
  • New provider capability panels for Börse Frankfurt, OpenFIGI (#942), and US Treasury Calc.
  • Yahoo dividends endpoint isolated from the rest of the Yahoo path.
  • Duplicate latest-quote snapshot IDs handled (#918 follow-up).

Asset-backed income activities

  • DRIP, dividend-in-kind, and staking rewards are now first-class asset-backed income subtypes (#944). They expand into an income leg plus an acquisition leg, surface on activity grids, and round-trip through CSV import.
  • Subtype clears and external subtype paths handled at persistence boundaries; AI tools and broker sync prep know about the new shapes.
  • Stock splits now recalculate from the earliest matching activity rather than the latest snapshot.

Goals planning

Three issues closed by [#929]:

  • Save-up date no longer drifts by one day in positive-offset timezones (#917).
  • Save-up sliders unlocked (#921) — manual target amount, monthly contribution, and expected return can exceed the default slider range (still within backend limits).
  • FIRE projection assumptions can go past the default UI range (#924), with warnings on high return/inflation values.
  • Money inputs draft locally and commit on blur/Enter to stop preview flicker while typing.

Database backups

Major rework of the web/self-host backup flow (#975):

  • New managed backup list with streamed downloads and one-click delete.
  • Removed the unsafe arbitrary-path web backup endpoint.
  • iOS gets a native file-picker export flow.
  • Addon SDK backupDatabase() returns filename-only metadata.

Wealthfolio Connect

  • Per-request correlation IDs (#971). Every Connect, auth refresh, subscription, and device-sync call now sends x-wf-client-request-id and surfaces the server x-request-id in failed-request logs — without logging sensitive payloads. Connect error fallback details preserved.
  • Subscription plan UI filtered to API-returned visible plans, so hidden Plus plans don't get re-added locally.
  • Broker sync runs on mobile startup (#953) after the service context is ready.
  • OCC option symbols normalized from broker activity sync (#948). Padded 21-char OCC tickers no longer create a duplicate asset against the compact form used by position sync. A migration cleans up safe duplicates in-place.

AI

  • Anthropic top_k/top_p defaults removed (#945, fixes #933). Every Anthropic call was being rejected with "top_k must be unset when using Claude Models" — those keys are gone.
  • Claude Opus refreshed to 4.7.
  • Stale Anthropic tuning overrides sanitized.
  • AI data sharing notice updated in the provider settings card.

Self-host

  • Prebuilt Linux server tarball published with every release (#928, closes #563). No more ~20 min on-device cargo build for Proxmox / LXC installs.
  • New self-host docs for Proxmox (LXC, Docker-in-LXC, Docker-in-VM) and Unraid, plus a Community Apps template.xml.
  • Container runs as non-root (UID 1000, [#940] — see Breaking).
  • Static OpenSSL link for server release builds.
  • WF_REQUEST_TIMEOUT_MS default raised to 5 min in the Unraid template.
  • WF_CORS_ALLOW_ORIGINS documented in the prebuild README.

UI polish

  • Savings input uses your currency instead of always $ (#910, fixes #909). Thanks @ChampionBuffalo1!
  • Dashboard chart views no longer show an extra scrollbar (#976, fixes #965).
  • Dark-mode money input background fix.
  • Mobile alert dialog layout improvements.
  • Price sync toast / debounce tuned.
  • XNEO display name updated to "Cboe Canada".

Security & maintenance

  • Dependency lockfile security update (#959).
  • Community addons index added to the README.
  • Repository metadata filled in for tauri Cargo.toml and frontend package.json.

Testing

  • Synthetic market-data fixtures for deterministic e2e quote/search/profile coverage (#970).
  • Multi-exchange CSV import spec (#958).
  • Symbol mapping spec now runs standalone on a fresh DB (#923).
  • E2E coverage for stock-split holdings adjustment and asset-backed income subtypes.

Contributors

Thanks to everyone who shipped this release — @afadil, @ChampionBuffalo1, @triantos, @marcoscale98, and the wider community for issue reports and testing.

Full changelog: https://github.com/wealthfolio/wealthfolio/compare/v3.3.0...v3.4.0


Source: README.md, updated 2026-05-15