A focused release on AI-driven workflows and slim builds. Adds eight
user-facing capabilities and four optional Cargo features so users can
strip dependencies they do not use.
Highlights
- AI ignore synthesizer (
fv init aiignore) - Context budget bar in the status bar
- Diff-aware tree (
fv --diff [REVSPEC]) - AI session replay (
fv --replay) - TODO/FIXME aggregator (
\key) - Repo fingerprint at startup
- Cold-cache warmup off the UI thread
- Four optional Cargo features for slim builds
Added
- AI ignore synthesizer (
fv init aiignore) generates.claudeignore,.cursorignore, and.aiderignorewith a curated skip list. Re-running rewrites only the# === fv-managed start ===block. (#190) - Context budget bar shows live token estimate of the marked file set as a percentage of the chosen model's window, e.g.
[ctx 12f 8.4k/200k S4.6 4%].Alt+Mcycles models. Persisted via[budget].default_model. (#192) - Repo fingerprint surfaces a one-line summary at startup, e.g.
Rust workspace · 4 crates · 12k LOC · last touched 14m ago. (#193) - Diff-aware tree (
fv --diff [REVSPEC]) annotates files in scope with+N/-Min green and red. (#194) - TODO/FIXME aggregator opens with
\and lists every TODO, FIXME, XXX, HACK, BUG, NOTE marker found under the current root. (#195) - AI session replay (
fv --replay [ID]) lets users scrub through pastfv --mcp-serveractivity logs and exit with the focused event's path on stdout. (#196)
Changed
- Cold-cache warmup spawns a detached background thread at
run_appentry to warm syntect's grammar / theme load and tiktoken'scl100k_baseBPE table. The first preview, diff render, and budget update no longer pay the 30 to 80 ms first-call cost on the UI thread. (#198) - Release notes format codified in
docs/RELEASE_POLICY.md. All historical milestone releases were rewritten to match. (#191)
Build
- New Cargo features, all on by default:
ai,archive,clipboard,lua. (#197, #199, #200, #201) cargo install fileview --no-default-featuresproduces a slim binary that dropstiktoken-rs,petgraph,zip,tar,flate2,arboard, andmlua(vendored Lua 5.4).- CI now lints both default and
--no-default-featuresbuilds on every PR. - When
aiis off,estimate_tokensfalls back to achars / 4 + 1heuristic so the budget bar and context-pack truncation keep working. - When
clipboard/lua/archiveare off, the corresponding code paths surface a one-line "support disabled" message instead of failing.
Notes
The image, pdf, and video previews remain always-on. Making them optional requires a larger refactor of the preview type definitions and is tracked as a follow-up.
Full Changelog: v2.5.0...v2.6.0