79 lines
4.3 KiB
Markdown
79 lines
4.3 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to av-tools are documented here. The project follows
|
||
semantic versioning once a first release is legally publishable.
|
||
|
||
## 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.
|