# Changelog

All notable changes to av-tools are documented here. The project follows
semantic versioning once a first release is legally publishable.

## 0.2.1 — 2026-07-27

- Move the canonical source, manifest schema links, and package registry from
  the personal `zemion` namespace to the `lotobo` (LocalToolBox) Gitea
  organization.
- Upgrade the Toolbox contract, React shell, and validation testkit to 0.2.3,
  republished from the organization-owned registry without functional shell
  changes.
- Replace the generic starter favicon with original add·ideas
  audio/video file artwork.

## 0.2.0 — 2026-07-27

- Allow recognized local audio/video to begin native browser playback while
  FFmpeg inspection continues in the background.
- Replace the fixed 30-second media-inspection watchdog with a bounded,
  size-aware budget and report timeout expiry separately from user
  cancellation.
- Add an isolated, reproducible Chromium ST/MT Opus regression harness using
  the reviewed cores, checked tone fixture and real built-in command plan.
- Rebuild ST/MT core 0.12.10 with the upstream 5 MiB stack fix, lock and
  deterministically package the exact assets, pass non-empty Opus encode and
  re-probe in both modes, and enable Opus presets behind runtime capabilities.
- Add bounded 0.04–10 second audio/video crossfades to normalized sequential
  joins, including runtime `xfade`/`acrossfade` gates and clip-material checks.
- Add bounded scene-change analysis and exact-PTS thumbnail/contact-sheet
  extraction, with an honest no-scenes result instead of silent substitution.
- Bundle unmodified DejaVu Sans 2.37 with byte identity, upstream archive
  provenance and full terms; verify it in-browser before labelled contact
  sheets and fail closed when `drawtext` is unavailable.
- Add native execution coverage, pinned-core browser matrix steps and an opt-in
  large-file browser playback-during-inspection evidence run.
- Make removal of queued or active source inspections generation-safe, cancel
  owned active probes and prevent stale results from updating deleted or
  same-ID replacement assets.

## 0.1.0 — 2026-07-24

- Scaffold a local-first React/Vite audio and video toolbox application.
- Integrate Toolbox SDK 0.2.2 for standalone and Toolbox-context operation.
- Self-host exact ffmpeg.wasm single-thread and multithread core 0.12.10
  assets; add capability detection and single-thread fallback.
- Add typed media, project, command-plan and preset foundations for conversion
  and light sequential editing.
- Wire the Edit workspace to fast and accurate trim plus compatibility-checked
  fast concat and preset-backed normalized concat with an explicit
  missing-audio policy.
- Add a bounded in-memory application queue for eight scheduled operations,
  with one FFmpeg execution at a time, progress, cleanup, cancellation and
  recovery behavior.
- Bound long-session native heap retention by refreshing the idle
  ffmpeg.wasm core before its seventeenth media execution, before a fourth
  contact sheet, and after a bare core abort, without discarding queued work or
  completed results.
- Add configurable bounded preview proxies and reuse matching derivatives from
  the local cache.
- Add storage, waveform, inspection, timeline, project, result verification
  and export workflows.
- Add deterministic generated AV fixtures, deployment examples, security and
  architecture documentation, deterministic release packaging and a temporary
  Toolbox Portal assembly smoke.
- Record a 2026-07-24 local Vitest result of 303 passing tests and one
  conditional native subtitle-filter skip.
- Exercise the real pinned ST core in Chromium across a broad conversion,
  structural-editing, analysis, image, metadata, chapter, subtitle, queue and
  recovery matrix; verify a real MT H.264/AAC conversion and MT-to-ST fallback.
- Record a pinned ST/MT Chromium performance baseline for 2-second 160×90 and
  6-second 640×360 H.264/AAC inputs. This is a one-run workstation baseline,
  not a universal performance claim.
- Record the pinned-core runtime inventory: 341 demuxers, 173 muxers, 515
  decoders, 204 encoders and 465 filters (1,698 entries).
- Verify the checksums and native probes for all 15 generated CC0 fixtures.

### Release assets

- Identify the exact reviewed GPL-3.0-or-later source with the annotated
  `v0.1.0` tag.
- Distribute the reviewed Corresponding Source and third-party notices for the
  GPL-enabled FFmpeg cores and linked codecs beside the binary. The x264 and
  LAME branch inputs are pinned to immutable commits in `SOURCE.md`.
- Browser feature/format claims beyond the recorded Chromium ST matrix and
  narrow MT H.264/AAC evidence require cross-browser and exhaustive MT runs.
- Mobile and cross-browser performance is unrecorded; the Chromium workstation
  baseline needs cold-cache repetitions and statistical ranges.
