Skip to content

release: 2.2.0 — predictive tracking + self-healing reliability#150

Merged
TCVinNYC merged 4 commits into
mainfrom
release/2.2.0
Jul 5, 2026
Merged

release: 2.2.0 — predictive tracking + self-healing reliability#150
TCVinNYC merged 4 commits into
mainfrom
release/2.2.0

Conversation

@TCVinNYC

@TCVinNYC TCVinNYC commented Jul 3, 2026

Copy link
Copy Markdown
Member

Rolls the changelog for v2.2.0, bumps __version__ to 2.2.0, and records the release soak artifact.

Release gate evidence (in this PR)

docs/release/artifacts/2026-07-03-8x1080p30-full-model-server-30min-post-R1R2R3-with-server-kill.json — 30-min 8×1080p30 NDI full profile, model-server mode: 29.8 fps median/cam, 0 app-induced drops, detect_active 99.9%, stall_s_max 0.0, e2e 42.4 ms, app CPU 50% median — including a live SIGKILL of the model-server at T+10 min with automatic recovery in ~10 s (served/s dipped one 5-second window).

Tag v2.2.0 follows the merge; the release workflow builds installers and the release body gets the hand-written notes.

🤖 Generated with Claude Code

TCVinNYC and others added 2 commits July 3, 2026 18:32
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TCVinNYC added a commit that referenced this pull request Jul 5, 2026
…ng gate

CI caught two issues on PR #151 before merge:

1. ruff format — 9 files (some from this session's commits, some pre-existing
   on this long-lived branch, which has never been through CI as a PR before
   today) had formatting drift. Whitespace/line-wrap only, no behavior change.

2. tests/test_group_framing_worker.py — a real regression from this session's
   tracking-gate commit (04fdf09): _current_digital_target() now returns None
   unless _tracking_enabled is set, but this pre-existing test file's shared
   _make_worker() helper never set it (TargetConfig.mode defaults "off").
   Missed because the tracking-gate commit's own verification only ran the
   test files touching the same code path, not the full suite — group framing
   has its own dedicated test file. Fixed the shared helper (same pattern
   already applied to test_camera_worker_framing.py and test_digital_ptz.py).

Verified via CI's own per-file sharding (tests/test_*.py individually, matches
.github/workflows/ci.yml's documented approach — a single-process full-suite
run accumulates native Qt state and aborts late-suite in this local anaconda
environment on EVERY file after enough Qt fixtures run, confirmed identical on
an unmodified main checkout via a throwaway worktree; CI's clean per-OS runners
don't hit this, per the workflow's own comments and PR #150's green history).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TCVinNYC and others added 2 commits July 5, 2026 10:57
feat/center-stage-output (PR #151) merged into main after this release
branch was cut, adding substantial user-facing work on top of the R1-R6
reliability overhaul this CHANGELOG section already documented. Folding it
into the same v2.2.0 stable entry rather than a separate release:
pose-stable Center Stage framing (dot-anchored crop composition, and the
fix for pose being silently dead in model-server mode that blocked it from
ever engaging), per-camera NDI output, group-framing, face-pack management,
several model-server lifecycle/reliability fixes, and the Windows-only CI
failures this branch's own PR surfaced and fixed (real cross-platform layout
and clock-resolution bugs, not test flakiness).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@TCVinNYC TCVinNYC merged commit 09c018a into main Jul 5, 2026
3 checks passed
@TCVinNYC TCVinNYC deleted the release/2.2.0 branch July 5, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant