-
v1.1.2 — Hotfix Release Stable
released this
2026-05-20 18:46:39 +00:00 | 109 commits to main since this releaseHotfix Release
Closes the three v1.1.1 backlog items: wall-clock job timestamps + within-day sort, zero ruff findings, and a job-specific status badge. WebUI- and hygiene-only — no change to the capture/train/export algorithm.
Fixed
- [SF-G3-1] + [SF-NEW-3] Wall-clock job timestamps + within-day sort —
JobStatenow carriesstarted_at_walltimeandfinished_at_walltimeas ISO-Z strings (monotonic siblings stay for duration math).state.pygrew an explicitdone-branch so WebUI-completed jobs surface theirfinished_atinstead of falling through to the ply-not-None path.list_capturesnow sorts byfinished_at DESCwith capture-name DESC as a tiebreaker. - [SF-G3-2] Job-status badge cancelled/queued rendering — the jobs view rendered cancelled/queued
JobStates as a grey "ready" badge becausecapture_badgehad no branches for them. New siblingjob_badgemacro purpose-built forJobState: explicit branches for queued, running, done, failed, cancelled. New CSS class.s-cancelledkeeps cancelled runs visually distinct.capture_badgestays unchanged — it remains the right macro forCaptureInfo.
Changed (Hygiene)
- [SF-H1-1] Zero ruff findings —
uv run ruff check src/ tests/now passes cleanly (23 pre-existing findings resolved). Categories: 11× F401 unused imports, 3× I001 unsorted import blocks, 7× SIM117 nestedwith-statements collapsed via PEP 617, 2× B904raise typer.Exit(...) from Noneincli.py.
Design Notes
job_badgevscapture_badgeseparation — the two macros now own different status enums.capture_badgeknows pipeline stages (preflight → export) and the CaptureInfo lifecycle.job_badgeknows the JobRunner lifecycle (queued/running/done/failed/cancelled).- Wall-clock timestamps coexist with monotonic —
JobStatekeeps bothstarted_at/finished_at(monotonicfloat, for duration math) andstarted_at_walltime/finished_at_walltime(ISO-Z strings, for display + sorting).
Tests
206 unit tests (204 passed, 2 opt-in E2E skipped) — +6 over v1.1.1.
For the full changelog see
CHANGELOG.md.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- [SF-G3-1] + [SF-NEW-3] Wall-clock job timestamps + within-day sort —