Skip to content

Voxint v0.29.0

Choose a tag to compare

@bengizmo bengizmo released this 30 Aug 00:49
· 234 commits to main since this release
ae087fe

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 AdminDep in 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: new publish-synthdetect job 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 head or use the migrate entrypoint.
  • AUTO_ENROLL defaults to true — new runs will auto-enroll unmatched speakers. Set AUTO_ENROLL=false to disable.
  • Speakers overview is now on by default. Set CONSOLE_SPEAKERS_ENABLED=false to 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.