Skip to content

v0.10.0 — multi-project bins + federation search + hardening rounds

Choose a tag to compare

@ourladypeace2011-commits ourladypeace2011-commits released this 14 Jul 15:47
· 217 commits to main since this release
70dbb7f

~130 commits since v0.9.2 — a month of Phase 9.x + hardening work.

Breaking

  • GET /api/media/{id}/scenes now returns a per-scene object shape (#111). Clients that indexed the old flat/parallel-array form must read the object fields.

Highlights

  • Cross-library 精選集 bins (multi-project Phase 2, PR A/B/C) — curate clips across projects; reference or verified-copy into a project.
  • Live cross-project federation search with API-boundary path sanitisation.
  • Optional pgvector backend for embeddings (#180) — Chroma stays default.
  • Vision-model picker at ingest, 機型 camera browser, chat scene deep-links, 360 viewer, settings tabs, and the full Phase 9.x transcription/UI suite (per-language transcript tabs, correction dictionary + batch recorrect, UI scale, list view, VTT export).

Security

  • Round-4 (offload denylist, cache-clear CSRF, path-leak fixes, DDL guard; admin-scoped absolute paths #22) and round-5 (~30 findings, #51): tree-killing ingest process groups, atomic proxy writes, single-flight coverage for copy_bin + retranscribe-all, transcript-merge integrity, quarantine of permanently-failing watched files.

Performance

  • Round-5 batch: indexed hot columns, chunked id IN (…), bounded federation fallback, trimmed media-detail payload, single-pass stats.

Internal

  • server.py (~4.5k lines) split, verbatim and behaviour-preserving, into a routers/ package behind leaf service modules (#51, R5-25). Now a ~490-line app shell; no route/method/auth changes.

Full detail in CHANGELOG.md.