Changelog

Release history for the trx CLI.

0.4.4 2026-07-10

Fix hardcoded version + brew lock follow-up

Fixed

  • hardcoded version in bin/trx.ts--version always returned 0.4.1 even after 0.4.3 publish because version string was hardcoded. Now reads from package.json dynamically via import pkg with { type: "json" }. Root cause of bun add -g @crafter/trx@latest still showing 0.4.1.
  • brew lock race (from 0.4.3, reforged) — trx init sequential installs + lock retry verification. Included again for completeness.

Upgrade

# clear bun minimumReleaseAge cache if set
# ~/.bunfig.toml -> minimumReleaseAge = 0  (or remove)
bun pm cache rm
bun add -g @crafter/trx@latest --force
trx --version # -> 0.4.4
trx doctor --output json
0.4.3 2026-07-10

Fix brew lock contention in trx init

Fixed

  • brew lock racetrx init on macOS ran brew install for ffmpeg, yt-dlp, whisper-cpp in parallel via Promise.all, causing lockf: 200: already locked and false Missing dependencies: yt-dlp, ffmpeg even though bottles were installed. Sequential install now: whisper-cli -> ffmpeg -> yt-dlp.
  • Retry + verifyinstallViaBrew now verifies which <bin> after a lock failure, cleans *.incomplete cache files, retries install, and treats existing binary as success. No more false negative when bottle installs but brew reports lock error.
  • Cleanup .incomplete markers — removes ~/Library/Caches/Homebrew/downloads/*.incomplete before retry to prevent stuck state.

Changed

  • spawn utility now supports timeout option (for future 5m cap on brew installs) and explicit kill on timeout.

Upgrade

bun add -g @crafter/trx@latest
# if you hit the lock before:
brew cleanup --prune=all
rm -f ~/Library/Caches/Homebrew/downloads/*.incomplete
trx init
trx doctor --output json
0.4.2 2026-07-10

Fix skill docs, accents & full flag coverage

Fixed

  • Broken Spanish accents in skill docs — cmo/est now correctly cómo/está/más//él/qué/cuándo/número/también/información in both SKILL.md and references/whisper-fixes.md
  • Missing opening marks docs¿/¡ were rendered as empty strings (""), now correct UTF-8
  • Install instructions — now includes both bun and npm options and trx doctor step for npm install trx && trx init flow

Added

  • Full flags table — documents -w/--words, --output, --fields srt,metadata,files, --json payload format, config location ~/.trx/config.json, --output-dir with real examples
  • Example JSON response — agents now see expected schema without needing trx schema
  • Troubleshooting — OpenAI backend OPENAI_API_KEY requirement, npm vs bun engines note, yt-dlp upgrade path, GPU/no-GPU guidance, large file tips
  • Agent payload exampletrx transcribe --json '{"input":"...","language":"es"}' --output json preferred pattern
0.4.0 2026-04-06

OpenAI API backend + large-v3-turbo

Added

  • OpenAI API transcription backendtrx transcribe -b openai uses the OpenAI API instead of local Whisper. Supports gpt-4o-transcribe, gpt-4o-mini-transcribe, and whisper-1.
  • large-v3-turbo model — near-large accuracy at ~3x speed for local transcription.
  • --backend flag on trx transcribe and trx init to choose between local and openai.
  • Backend selection in trx init — interactive prompt or --backend openai flag.
  • trx doctor shows backend status — API key detection, active model, backend type.
  • OS-specific open command — uses open on macOS, xdg-open on Linux, start on Windows.
  • Quoted paths with spaces — file paths containing spaces are now quoted in the terminal output for ctrl+click support.

Fixed

  • SRT timestamps for gpt-4o-transcribe models now use real audio duration via ffprobe instead of placeholder values.
0.3.2 2026-04-03

Cross-platform support

Added

  • Cross-platform trx init — Linux support via apt-get + source compilation for whisper-cli, Windows support via winget + pre-built binaries.
  • Platform detection shown during init: trx init (linux).

Fixed

  • Config defaults merge — readConfig() now merges saved config with defaults, preventing crashes when whisperFlags is missing.
  • FFmpeg path collision — when input is a .wav in the current directory, output no longer collides with input path.
0.3.0 2026-03-31

Word timestamps + language auto-detect

Added

  • Word-level timestamps via --words flag — generates SRT with per-word timing.
  • Auto-detect language by default-l flag now only forces a specific language override.

Fixed

  • Vercel deploy issues resolved (bun.lock conflicts, peer dependency warnings).
0.2.0 2026-03-30

Progress bar + agent skill

Added

  • Live progress bar during Whisper transcription with percentage indicator.
  • Word count summary shown after transcription completes.
  • open hint — suggests command to open the output file.
  • Agent skill auto-installtrx init offers to install the Claude Code skill.
  • OG images generated via Sharp for social sharing.
  • 21 e2e tests covering the full CLI surface.
  • Monorepo structure with separate website package at trx.crafter.run.

Fixed

  • Spinner hang after transcription — properly guards callbacks and exits.
0.1.0 2026-03-30

Initial release

Added

  • trx transcribe — transcribe any URL or local file via local Whisper.
  • trx init — one-command setup: installs whisper-cli, yt-dlp, ffmpeg, downloads model.
  • trx doctor — health check for all dependencies and configuration.
  • trx schema — runtime introspection for agent self-service.
  • Agent-first JSON output--output json for piping to other tools.
  • --dry-run — validate input and preview execution plan without running.
  • --fields — select specific output fields to save tokens.
  • Input validation — rejects path traversals, control characters, URL-encoded paths.
  • 99 language support via Whisper’s built-in language detection.
  • 5 model sizes — tiny, base, small, medium, large.