Features
- CLI media: allow
--diarizeand speaker identification for local and direct audio/video inputs, including MP3 and MP4, instead of limiting speaker-labelled transcription to YouTube. - YouTube transcripts: fall back to Android VR direct audio resolution and configured transcription when
yt-dlpis missing or fails, while preserving explicit--youtube yt-dlpand diarization requirements. - Chrome extension: transcribe captionless YouTube videos without the daemon using active-player/watch-page or Android VR direct audio, captured SABR fallback, MediaBunny/WebCodecs, and browser-cached multilingual Whisper Tiny.
- Chrome extension: transcribe fetchable direct and embedded media without the daemon using ranged MediaBunny/WebCodecs decoding, bounded audio chunks, and an idle-evictable browser Whisper runtime.
Fixes
- Chrome extension: cancel pending summary starts when switching tabs and recover from stalled WebGPU Whisper initialization with a bounded CPU fallback.
- CLI: use the Codex runtime default model instead of pinning auto fallback to an obsolete model.
- Daemon: defer cache shutdown until in-flight summary work drains, preventing late writes through finalized SQLite statements.
- Dependencies: replace Ora, tslog, and the FAL SDK with focused local implementations while retaining spinner, daemon logging, retry, multipart upload, and FAL transcription behavior.
- Chrome extension: replace the bundled browser FFmpeg WebAssembly runtime with MediaBunny and native WebCodecs, adding AV1 frame extraction while reducing the packaged extension size.
- Chrome extension: avoid throttled offscreen canvas blob callbacks so MediaBunny slide JPEGs encode in milliseconds instead of roughly one second per frame.
- YouTube media: prefer direct audio already exposed by the active player or watch page before requesting Android VR media, with resolver and browser decoder diagnostics in extension logs.
- Extension tests: load the Firefox build through Mozilla
web-extin CI and run daily live YouTube resolver plus daemonless Chrome transcription checks.
Release verification
- npm CLI:
@steipete/summarize@0.17.2, published2026-06-11T21:35:02.561Z; registry tarball; integritysha512-A8UnU240wS1REXlfeev1bHmQqmifz3i5qTWqkvobVJMUVDGzdjD3Yxc/xNFHVABnadJFTeITTtWx7NDfdMMCBQ==. - npm core:
@steipete/summarize-core@0.17.2, published2026-06-11T21:34:56.578Z; registry tarball; integritysha512-kSx0wGtx/c2k20dBmTxfsDyFJ0dwEa4Ena2kJDf0cdrDOuoeQCppqrpeaLpt7N7PLYNdMKMvcakeuwLKWkA2GA==. - CI proof: PR #261 and Actions run 27378448101 passed core coverage/build/pack, Chromium extension E2E, and Firefox temporary-install smoke.
- Artifact SHA-256: macOS arm64
c0c65256f36a4359a2dd4bd40dc36719f222cbcb1a244669505226a4c6459c8a; macOS x64c277c1fc04583c6e7f7cd3d104948e29bbe3f5c406fef7caac74dab2bb85614f; Chrome4a5cd23830cbc3752562e0a84cbe9aada6d5acfb7334fa6d5612e8b3a9de78f9; Firefox9e9bbf11e5a49e10da277859966185d6bb6d91679ce1741d29513c4bc6b424cd. - Homebrew/core formula is not maintained in this repository; its release autobump typically lands within about three hours.