Repository navigation
v0.7.0
Highlights
- Unmatched bank transactions are a Focus Queue task (#447, closes #422). One aggregate row per practice instead of a conditional fifth nav link — deliberately not one per transaction, since a per-row title would have to name the counterparty. The nav is honestly four links again.
- Supervision feedback in the session timeline (#449). Supervision topics and their feedback sit in the Protokoll timeline by date next to the session logs they refer to; the separate hidden list is gone.
- Update banner no longer offers an older release as an upgrade (#437). Release tags are compared as parsed
(major, minor, patch)tuples rather than!=. seed_sample_data --clearfixed (#438). It walks thePROTECTgraph leaf-first, atomically, instead of dying half-way on todos the focus-queue sync had materialized.- Migrations reset: 35 files → 3 (#444). Self-hosters have nothing to do — the replacement
0001_initialshares its name, so a plainmigratereads it as applied and runs only two idempotent data migrations. Schema equivalence verified on 678 facts. A database that has not reached migration0034should upgrade via v0.6.1 first. - Bank review: ignoring an auto-expense now deletes the record it created (#453), matching what the withdrawal view already did. Expense and withdrawal review share one base class; the importer's parse and ingest halves are separated (#446) so a bank-API fetcher can reuse the matching pipeline.
- Codebase metrics page in
docs/development/(#439, #442, #451), refreshed monthly with SVG charts and a long-file tracker. - CI/tooling (#454, #456, #458, #459): one hook mechanism, gitleaks over full history, Dependabot actually finding the Python manifests with patch updates auto-merging, requirements-file sync check, mypy and
check --deployas gates, a release guardrail for version drift, and an ADR log indocs/decisions/.
Deps: pypdf 6.19.0, urllib3 2.8.0, uvicorn 0.53.0. pip-audit reports 0 known vulnerabilities.
Full changelog: docs/CHANGELOG.md