Skip to content

v0.3.1

Choose a tag to compare

@ptu-gh ptu-gh released this 06 Oct 19:51
· 307 commits to main since this release

Upgrading

  • Rebuild and reload: make all, then wealthdb reload -a. Gold migrations
    0104–0106 apply on the first read-write open. Many adapters changed what
    they emit, so a plain load is not enough.
  • AngelList: rebuild the silver once with ./angellist load --force. The
    loader now follows the portal's own marks.
  • The Go module path is now github.com/smartpointer-com/wealthdb/wealthdb.
  • Contributors: run make hooks once. A pre-commit hook then refuses a
    commit that make lint fails on or rewrites.

New configuration

  • declared_accounts names an account the household owns at an institution
    no collector reads. Give it a kind and a tax wrapper, and moves to it stay
    inside the household's cash.
  • far on a spending or income rule names the account on the other side of
    the move the rule places. It can name a declared account.
  • spending.internal_transfer_matching.names tells the matcher which account
    a narrative names as the other side of a move, so the two legs pair with
    each other rather than with a nearby look-alike.

Reports

  • Cash flow: the residual node Untracked accounts is now
    Unpaired transfers. It splits into No far account and
    Fenced-out account. Every row there is a missing counter-leg or an
    account not yet declared.
  • Cash flow coverage reads in-kind transfers and stopped balance series
    honestly.
  • Returns: cash accounts emit no rows of their own at any grain. A portfolio
    or source that holds only cash accounts disappears with them.
  • Income: new type INCOME_ENERGY_FEED_IN. Benefits no longer include tax
    refunds.
  • wealthdb version prints the bare tag only for a clean build of a release
    tag. Any other build prints <last release> nightly <commit>.

Sources

  • UBS: accounts outside the MT940 delivery keep their export rows. A currency
    conversion the statement describes books its other leg. Dividends paid into
    such accounts are booked from the corporate-action confirmation. A renamed
    security no longer duplicates its movement.
  • Schwab: short sales, covers, fees and withholdings get their own kinds. A
    dividend clawback nets instead of booking twice. The api/web cut starts
    where the api history starts.
  • Fidelity: a correction keeps its sign. A closed account's wind-up gets its
    missing out-legs. Supplied-statement fees no longer double the feed's.
  • SVB: deposit accounts are typed cash. Renames, conversions and reverse
    splits book as corporate actions.
  • AngelList: an exit paid in shares pairs with the broker's receipt through
    the equity-transfer ledger. Positions follow the portal's marks.
  • Chase: an export cheque takes the payee its statement prints.
  • First Citizens: memo-posted items and re-issued ids are stored once. The
    bank's own category reaches gold.
  • EquityZen: a distribution's fee is its own leg.
  • Swissquote: login detection fixed.
  • VIAC: reads the tagged decimals the wealth summary now sends.

Build and docs

  • make lint runs gofmt, go vet and ruff, and the tree passes it.
  • Collectors share money, statement-period, document and sign-in helpers in
    collectorkit.
  • Agent rules live in AGENTS.md. CLAUDE.md is a symlink to it.
  • The README describes what the suite does, with examples.