What's Changed
This patch release improves holdings cost-basis accuracy, total-return reporting, bond trade handling, self-hosted web access, and Spending budget period sync.
Highlights
Holdings Cost Basis & Total Return
- Added historical base-cost support across live holdings, valuations, snapshots, asset detail views, AI tools, and addon SDK types.
- Live holdings now use persisted lot base cost where available instead of falling back to current FX conversion.
- Added return basis, income, total return, total P&L, day P&L, unrealized P&L, and income fields across holdings views.
- Asset detail pages now surface total return, income, realized P&L, and improved option/bond-aware calculations.
Bond & Trade Amount Fixes
- Preserved broker-entered bond trade amounts for BUY/SELL flows, including duplicate and update paths.
- Plain equity BUY/SELL rows now avoid stale stored amounts and derive trade value from quantity × unit price.
- Broker import mapping now preserves bond amounts while normalizing ordinary trade amounts.
- Fixed duplicated transactions carrying stale book-cost data.
Spending Budget Sync
- The Spending period selector now keeps the Monthly Budget card aligned for “Last Month” and custom-month selections.
- Spending interval and custom month selections now persist across navigation.
- Multi-month periods continue to reset the budget card to the current month.
Self-Hosted Web Mode
- Updated Docker/web defaults to use port
8088. - Fixed Docker Compose self-host access and proxy-mode port exposure.
- Clarified auth behavior: non-loopback web mode requires authentication unless
WF_AUTH_REQUIRED=false.
Health Checks
- Health Center now surfaces ungrouped transfer legs so broken transfer relationships are easier to find and repair.
Contributors
Full Changelog: v3.5.0...v3.5.1