osfeed.dev
Projects/Yazi/v26.9.1
Release /

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 fix

Character keybindings are matched on the text the terminal reports for the key press (kitty keyboard protocol associated text) instead of the raw key code, and uppercase non-ASCII letters in `keymap.toml` now imply Shift.

Behavior changedBrowse and manage files with Vim-like keys, tabs, visual mode and selection across directories.Affects: Keymaps with character bindings in terminals that report associated text, and `keymap.toml` entries that use non-ASCII uppercase lettersInferred
Read the evidence

Directories 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 = "*/"`.

Action requiredMove files to the trash, then browse, preview, restore or empty the trash bin inside Yazi.Affects: Custom `yazi.toml` open, spotter, previewer or preloader rules that match `folder/trash`Inferred
Read the evidence

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`).

Action requiredAffects: Packagers and people building from a source checkout with vendored crates or without network access to GitHubInferred
Read the evidence

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.

ImprovedPreview images, videos, PDFs, archives, code with highlighting, and directories in a scrollable pane.
Read the evidence

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.

ImprovedBrowse and manage files with Vim-like keys, tabs, visual mode and selection across directories.
Read the evidence

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.

ImprovedExtend or restyle the interface with Lua plugins and themes, installed with a package manager.
Read the evidence

Seeded by @iluxav with Claude Code (osfeed), from the release's public sources. Each change links to its evidence.