Budget Tracker 1.6.0
What's Changed
- Document Homebrew installation instructions by @Feromond in #102
- [Feature] Add investment tracking and portfolio views by @Feromond in #103
- Expand and clarify the user guide by @Feromond in #104
- Add database backups and restore management by @Feromond in #105
- Bump version to 1.6.0 and update dependencies by @Feromond in #106
Full Changelog: v1.5.2...v1.6.0
Install
With Rust installed (skip this if you use homebrew or the Windows installer below):
cargo install budget-tracker-tuiOn macOS or Linux you can also use Homebrew now:
brew install budget-trackerNo Rust? Prebuilt binaries for Linux, macOS, and Windows
Unpack the archive for your platform and put budget-tracker on your PATH.
| Archive | Platform |
|---|---|
*-x86_64-unknown-linux-gnu.tar.gz |
Linux x86_64 (glibc 2.35+) |
*-x86_64-unknown-linux-musl.tar.gz |
Linux x86_64 (static, any distro) |
*-aarch64-unknown-linux-gnu.tar.gz |
Linux arm64 (glibc 2.35+) |
*-aarch64-unknown-linux-musl.tar.gz |
Linux arm64 (static, any distro) |
*-aarch64-apple-darwin.tar.gz |
macOS Apple Silicon |
*-x86_64-pc-windows-msvc.zip |
Windows x86_64 |
Verify a download with sha256sum -c SHA256SUMS --ignore-missing.
Two big things this release: investment tracking, and actual backups of your database.
Investments have been asked for since #41 and can be reached using the i key bind. It's all entered by hand, no live prices and no bank connection. You record what an account is worth (v for a valuation) and money going in or out (a inside an account), and the app works out the growth from there, so you never type in a gain yourself. The accounts list is your portfolio with value, invested, Gain, ROI and Annual, and Enter opens an account for its entry history, growth chart, and a year by year look at what you put in versus what it earned. ←/→ change the time range. One thing to watch: if an account already exists in real life, give it a starting value and how much of that you contributed when you create it, otherwise your whole balance counts as a gain you never made.
Backups should have been in here a long time ago. The app now snapshots your database once a day at startup, and always before a schema upgrade. Settings > Manage Backups lists them with b to take one, d to delete, and Enter to restore. Restoring copies your current database first so you can undo it, and a snapshot gets checked before it replaces anything. Automatic snapshots keep the last 5 by default and clean up per machine, so a synced folder won't have two computers deleting each other's backups.
Existing databases upgrade automatically on first launch, in a single transaction, so a failure leaves the file exactly as it was. The rest is the user guide rewrite, Homebrew, and dependency bumps.
TLDR:
- Added investment tracking behind
i, with valuations and contributions kept separate so gains are worked out instead of typed, closing #41 - Added a portfolio view with value, invested, Gain, ROI and Annual, plus per account detail with entry history, growth chart, and a year by year contributions versus gains table
- Added time ranges with ←/→ (YTD, 1Y, 3Y, 5Y, All), only showing ranges that cover less than All
- Accounts can start with a value and a cost basis so existing holdings don't report the whole balance as a gain
- Valuations older than 30 days get flagged with a ! and counted in the panel title
- Accounts can be archived with e instead of deleted, hidden from the totals and charts until you press
A - Investments are per ledger and copy along with one, and deleting a ledger now tells you how many accounts go with it
- Added database snapshots: daily at startup, before a schema upgrade, on demand, and before every restore
- Added Settings > Manage Backups to take, restore and delete snapshots, keeping the last 5 by default (1-50)
- Snapshots are checked before restoring, and one from a newer version is refused
- Automatic cleanup only touches this machine's snapshots, so synced folders stay safe
- Rewrote and expanded the user guide, added Homebrew, and bumped dependencies
