Skip to content

Budget Tracker 1.6.0

Choose a tag to compare

@Feromond Feromond released this 09 Sep 03:13
· 18 commits to main since this release
v1.6.0
53741f0

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-tui

On macOS or Linux you can also use Homebrew now:

brew install budget-tracker
No 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
investments backup-management