v0.3.0
⚠ Breaking change
tickers is renamed to ticker (and tickers remove → ticker rm). Update scripts: tickerbox tickers … → tickerbox ticker …. No aliases are kept.
0.3.0 (2026-09-30)
Features
- client,config: verify a ticker symbol via Financial Modeling Prep (ee1e867)
- cmd: add device current, recase device placeholders (8aea429)
- cmd: require confirmation on remaining destructive commands (261d350)
- config: fail loud when no device resolves (752732d)
- main: execute the CLI through fang for styled help and errors (e5e91aa)
- output: style tables, KV, and the doctor verdict with lipgloss (e773fb1)
- profile: dedupe diff engines, add source-device provenance (2a76d57)
Bug Fixes
- client: stop the FMP API key from reaching any formatted error (825ccf4)
- cmd: exclude cobra built-ins from device resolution (b7e1631)
- cmd: gate watch's clear-screen escape on a terminal stdout (6893853)
- cmd: mask wifi/ap passwords in profile show (32683a8)
- cmd: report when a scan poll never found a network as distinct from empty (b147c4d)
- cmd: resolve device for tz set, not just its tz list sibling (4fbe0a3)
- cmd: show the cause of an unavailable status section (27e7ad7)
- cmd: silence cobra's usage dump on a RunE error (3a42afb)
- cmd: validate wifi/ap static-IP fields before posting (7e133c5)
- config: require a scheme on device add (80e531b)
- drop redundant pre-Go-1.22 loop-variable copies (528656b)
- section: validate section fields before config import / profile apply (b057be2)
- tickers: name the expected set in type/time/currency errors (9d78785)
- tickers: validate locally-supplied fields before any device request (abc9f14)
- tickers: validate type/time/currency and reject CSV-corrupting fields before posting (3cc68b2)
Performance Improvements
- fetch independent device endpoints concurrently (bounded) (034031d)