Yazi v26.9.1
Preview large images faster in kitty, which now receives them over shared memory instead of base64.
Before you upgrade to v26.9.1
3 to fixDirectories inside the trash bin now get MIME type `trash/folder/local` (was `folder/trash`), so `trash/**` rules apply when opening, spotting and previewing them; rewrite custom rules that match `folder/trash`. The default folder rules now match `mime = "folder/*"` instead of `url = "*/"`.
`yazi --debug` and `yazi --clear-cache`, deprecated earlier, are removed and now fail as unknown arguments; use `ya env` and `ya cache clear` instead.
Building from a source checkout now pulls a patched `ratatui-core` from `github.com/yazi-rs/ratatui` through a `[patch.crates-io]` entry in `Cargo.toml`; offline or vendored builds must allow that Git source (the Nix package sets `allowBuiltinFetchGit = true`).
What changed in v26.9.1
Kitty graphics can be sent over shared memory (`ya env` shows `kgp_shm: true` when the terminal supports it) and the legacy kitty path erases only the part of an image a popup covers. A new `visual_arrow` action re-anchors visual selections; directories in the trash bin now report MIME `trash/folder/local` and the default folder rules match `mime = "folder/*"`; the long-deprecated `yazi --debug` and `yazi --clear-cache` flags are removed.
Also: Theme switches to dark/light sooner at startup; probe responses no longer spill into the bulk-rename editor or shell on exit; fixes for high CPU on exFAT drives, a `cd` crash with `$VAR` paths, flicker on back/forward to a deleted directory, and startup without CA certificates.
v26.9.1 binaries for Linux, macOS and Windows, plus `.deb` and Snap packages; shared-memory image transfer needs a terminal that supports it, such as kitty.
Fixed and improved
Kitty graphics can go over shared memory, skipping base64 encoding for large images (`ya env` shows `kgp_shm: true` when the terminal supports it); in terminals without Unicode placeholders, a popup drawn over an image now erases only the overlapped part instead of every image on screen.
New `visual_arrow` action re-anchors a visual selection at the cursor and moves the cursor by a step, so a plugin such as `visual-pivot.yazi` can jump to the other end of the selection without changing which files are selected.
Lua gains `fs.op("upsert", { url, files })`, a `capacity` field in `fs.partitions()` and `mode.visual` (`start`, `wraps`); `ya pkg` replaces Git symlinks in packages with copies of their targets so package hashes stay consistent.
Seeded by @iluxav with Claude Code (osfeed), from the release's public sources. Each change links to its evidence.