Voxint v0.29.0
Voxint v0.29.0 — 126 commits since v0.28.0.
Highlights
- Multi-user authentication (#9): opt-in local user table (Argon2id), DB-backed sessions, reviewer/admin roles, per-user attribution on decisions. CLI user management. Migration 0051.
- Speakers activation (#159): overview (aggregation, named/unnamed grouping, tier chips, verified badges) and per-speaker profile pages on by default. Rollback via
CONSOLE_SPEAKERS_ENABLED=false. - Synthetic-speech detection plugin (#145, epic #143): opt-in w2v2-AASIST classifier with Platt-calibrated risk scores. GPU inference service, console integration, manual scoring. Enable via Settings or
SYNTHDETECT_ENABLED=true. - Quote provenance manifest (#122): JSON sidecar with per-line speaker attribution, timecodes, clip integrity digest, model identity, and input-media SHA-256.
- Auto-enrollment (#275/#280): cross-run voice clustering with grounding-tier gates. Backfill CLI for existing deployments.
- Benchmark feature: 12-clip corpus,
voxint benchmark run/list/compare, DB-backed results (migration 0048). - Confidence policy API (#114): three-band confidence thresholds plus calibration tooling.
Security
- Open-redirect bypass hardened (#304):
_validate_next()now rejects backslash normalization, control-character injection, and scheme-bearing paths. 20 unit tests. - Admin gate on synthdetect mutations (#305): settings and score routes require
AdminDepin multi-user mode. 3 integration tests.
Console improvements
- Jobs page (#244): elapsed time for running runs, degraded pipeline cells, estimated wait time, plain-language failure reasons, GPU busy indicator.
- Speakers overview (#245): named/unnamed grouping, heard-name annotation, TO DO action buttons, "+ New speaker" button, search placeholder.
- Speaker detail (#246): "verified by you" chip, profile panel redesign, command bar actions, FOLDER column.
- Project detail (#247): rename, folder unlink, vocabulary chip, speaker links, add speaker/link folder links.
Other changes
- Translation integrity (ADR 0008): idempotency key, replay digest, immutability trigger on
run_translations. Migration 0047. - Synthdetect eval tooling extracted to private repo (zero runtime impact).
release.yml: newpublish-synthdetectjob for the plugin's GPU inference service image.
Upgrade notes
- New migrations: 0047 (translation integrity), 0048 (benchmark), 0049 (auto-enrollment), 0051 (multi-user auth). Run
alembic upgrade heador use the migrate entrypoint. AUTO_ENROLLdefaults totrue— new runs will auto-enroll unmatched speakers. SetAUTO_ENROLL=falseto disable.- Speakers overview is now on by default. Set
CONSOLE_SPEAKERS_ENABLED=falseto roll back. - Multi-user auth is opt-in (
VOXINT_MULTI_USER=true). The default single-operator HTTP Basic path is unchanged.
Images
All images at ghcr.io/bengizmo/voxint-*:0.29.0. Anonymous pull, no login required.