v0.5.1 — outstanding-roadmap sweep
Same-day follow-up to v0.5.0 (Phase 4: Export & Approval) closing every actionable 📋 item still surviving in ROADMAP.md.
This is also the first true tagged release since v0.4.2 — v0.5.0 (Phase 4 ship) shipped as a feat: commit without a release tag, so v0.5.1 bundles Phase 4 + the sweep.
Phase 4 (v0.5.0) recap
M3U + symlink folder per album, hard-lock approval state, PDF + HTML report generation via WeasyPrint. Specs: 02 / 08 / 09 / 10 / 11. Convergence trace: 4-round pre-implementation spec sweep (39 → 17 → 3 → 0 actionable findings) + 3-round post-implementation /audit + /indie-review (40 → 3 → 0 findings) + full-codebase audit (ruff / bandit / semgrep / gitleaks all clean).
v0.5.1 sweep — 8 items
Audit tooling
pyrightconfig.jsonat repo root pointing pyright at.venv(recovers the 4 mutagen unresolved-import diagnostics on every/auditrun)..gitleaks.tomlwithextends.useDefault = true+ path-regexp allowlist for.venv/,__pycache__/, gitignored data dirs (Tracks/,Albums/,.album-builder/).
Code
ACCENT_ROLE = Qt.ItemDataRole.UserRole + 2extracted as module-level constant inlibrary_pane.py— closes the v0.2.1 Tier 2 L6-M2 deferral; mirrorsMISSING_ROLE/TITLE_ROLEinalbum_order_pane.py._write_settings(data)helper inpersistence/settings.pystampsSETTINGS_SCHEMA_VERSION = 1at every write site so a hand-rolledsettings.jsonlackingschema_versionself-heals on next save (closes the final piece of Theme B recurrence; +4 regression tests).
Docs
- README §Status promoted from v0.2.0 to v0.5.0 prose.
- README §System dependencies adds WeasyPrint runtime-library install commands (Pango / Cairo / GDK-PixBuf) for openSUSE + Debian/Ubuntu.
- ROADMAP cross-cutting summary 📋 → ✅ flips for Themes A-H (2026-04-28 indie-review) and Themes B/F/I/J/K/L recurrence (2026-04-30 indie-review), each citing the per-item Tier fix that actually closed it.
- Phase 4 prep round-1/2/3 section headers flipped 📝 → ✅ to match round-4's already-✅ marker.
Verification
- 467 → 471 passing tests (+4
schema_versionregression tests intests/persistence/test_settings.py). - Ruff clean.
- 11 skipped (audio integration gates).
Outstanding
Two genuine 📋 deferrals remain in the roadmap, both intentional:
DebouncedWriter._timersunbounded growth — bounded by album count today; revisit when high-cardinality keys land.- Stale-segment recovery TOCTOU — microsecond race window during owner shutdown; accepted as v1 design.
The §Future / deferred section lists 7 explicit non-v1 features (group-by-artist tabs, tap-along LRC editor, multi-project, album cover compositing, bulk pre-alignment scheduler, light-theme support, recursive subfolder scanning).
Phases 1–4 are feature-complete and hardened.