Skip to content

v0.3.3

Choose a tag to compare

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

Upgrading

  • Rebuild with make all. Gold migrations 0109–0111 apply on the first
    read-write open. No reload is needed: the next load re-applies the
    categories.

  • Config change. Five category values are retired. A config rule or
    a pin that names one fails at load, and the error names the value to
    use instead:

    retired use instead
    INCOME_WAGES INCOME_SALARY, or INCOME_GIG_ECONOMY for gig-platform pay
    INCOME_OTHER_INCOME INCOME_OTHER
    INCOME_SELF_EMPLOYMENT INCOME_CONTRACTOR
    INCOME_RENT INCOME_RENTAL
    INCOME_ALIMONY_AND_CHILD_SUPPORT INCOME_CHILD_SUPPORT, or INCOME_ALIMONY for maintenance from a former partner

    Edit wealthdb.cfg and the pins ledgers when you rebuild. The earlier
    build refuses the new values, so make both changes at the same time.
    Migration 0111 moves the stored verdicts the same way. A stored
    verdict on the split value becomes INCOME_CHILD_SUPPORT.

  • Optional: wealthdb categorize income --all asks the model again about
    every payer, so it can use the new income values. Without it, existing
    verdicts stay as they are.

  • A demo directory built by an earlier release needs make demo.
    make demo-roll refuses it.

Plaid

  • A new collector, collectors/plaid, reads the banks, brokers and card
    issuers that Plaid reaches:
    • link --item NAME links one login at one institution. You sign in
      on Plaid's own page, in your browser.
    • login --check reports the state of every link and changes nothing.
    • download saves accounts, balances, holdings, transactions and loan
      terms. load builds one silver database per link, and prune trims
      old downloads.
  • It is read-only. A link requests data products only, never a payment
    or a transfer product.
  • The app keys live in ~/.secrets/plaid.env, and each link has its own
    token file there, mode 0600.
  • download --refresh asks Plaid to fetch fresh holdings from the
    institution first. Plaid bills that call on a paid plan, so it runs
    only when billed_reads in $XDG_CONFIG_HOME/plaid.cfg names it.
  • Gold reads each link as one source of the new silver kind plaid.
    Accounts take their kind from Plaid's account type, and rows take
    their category from Plaid.
  • See collectors/plaid/README.md and wealthdb/docs/adapters/plaid.md.
    Read the collector's security disclaimer before you add a credential.

Categories

  • The category list is Plaid's Personal Finance Categories, version 2.
    Its values and descriptions are copied word for word, under 13 of its
    18 primaries. wealthdb adds a value only where Plaid has none, such as
    investment fees, withholding tax, staking, rewards and alimony.
  • New values: late fees, cash-advance fees, salary, gig economy,
    contractor, rental, child support, veterans benefits, long-term
    disability and alimony.
  • Labels that change in reports:
    • Wages becomes Salary.
    • Rent becomes Rental.
    • Self employment becomes Contractor.
    • Alimony and child support becomes Child support or Alimony.
  • In the cash flow statement, gig-economy and contractor pay are
    earnings, rental income is yield, and child support, alimony,
    veterans benefits and long-term disability are benefits.
  • A row the provider filed as a bank fee or a debt payment is no longer
    read as a cash withdrawal. A built-in fee rule no longer overrides a
    fee the provider named.
  • A card's fee that nothing else placed is a bank fee. It read as an
    investment fee.

Build and docs

  • Pins and transfer-override ledgers are read before gold opens for
    writing, so a bad ledger fails before anything loads.
  • reload -a gives carried verdicts their current category names.
  • An env-file error no longer prints the line it failed on, which may
    hold a secret.