# Yazi v25.4.8 - Product: Yazi (https://whatsnew.fyi/product/yazi) - Vendor: yazi-rs - Date: 2025-04-08 - Version: v25.4.8 - Original notes: https://github.com/sxyazi/yazi/releases/tag/v25.4.8 - Permalink: https://whatsnew.fyi/product/yazi/releases/v25.4.8 - Labels: Platforms: Desktop What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Enable wraparound navigation by default - **changed** — Replace `tasks_show` and `close_input` with `tasks:show` and `input:close` - **changed** — Convert `frag`, `name`, `stem`, `ext`, and `parent` on Url, `name` on tab::Tab, and `is_hovered` on fs::File to properties - **changed** — Swap default key bindings for `z` (zoxide) and `Z` (fzf) - **changed** — Use new `@sync peek` annotation instead of previewer's `sync = true` - **deprecated** — `ui.Padding` and `ui.Rect:padding()` are deprecated - **changed** — Switch SVG preview backend from ImageMagick to resvg with new `svg` previewer - **added** — Create custom search engines via Lua API for plugins to serve as search view file list sources - **added** — Add optional `for` field to key bindings to specify platform applicability - **changed** — Rewrite configuration parser to double startup speed - **changed** — Significantly improve performance of AVIF, HEIF, and JPEG XL previews - **changed** — Compile and cache Lua bytecode to enhance plugin system performance - **added** — Allow selecting multiple files in `fzf` with selection synchronized in Yazi - **added** — View, navigate, and deselect file selection list from Yazi within `fzf` - **added** — Support running Yazi directly in Helix with `:insert-output` without Zellij or tmux - **added** — Add new `arrow prev` and `arrow next` commands for wraparound navigation - **added** — Add new `follow` command to follow files pointed to by symlinks - **added** — Allow initializing input when opening it with commands like `rename`, `create`, `find`, `filter` - **added** — Add `` and `` keybindings to select entire line in input component - **added** — Export terminal emulator information via `rt.term` ##### Breaking Changes - Supported wraparound navigation and enabled it by default. https://github.com/sxyazi/yazi/pull/2485 - Replaced `tasks_show` and `close_input` with `tasks:show` and `input:close`. https://github.com/sxyazi/yazi/pull/2530 - `frag`, `name`, `stem`, `ext`, and `parent` on [`Url`](https://yazi-rs.github.io/docs/plugins/types#shared.url), `name` on [`tab::Tab`](https://yazi-rs.github.io/docs/plugins/types#app-data.tab-tab), and `is_hovered` on [`fs::File`](https://yazi-rs.github.io/docs/plugins/types#app-data.fs-file) are now properties. https://github.com/sxyazi/yazi/pull/2572 - Swapped the default key bindings for `z` (zoxide) and `Z` (fzf). https://github.com/sxyazi/yazi/issues/2546 - Used the new `@sync peek` annotation instead of the previewer's `sync = true`. https://github.com/sxyazi/yazi/pull/2487 ##### Deprecated - `ui.Padding` and `ui.Rect:padding()` are deprecated. https://github.com/sxyazi/yazi/pull/2574 ##### Packaging - SVG preview backend switched from ImageMagick to [`resvg`](https://github.com/linebender/resvg) and implemented as a new `svg` previewer. https://github.com/sxyazi/yazi/pull/2533, https://github.com/sxyazi/yazi/pull/2581 ##### Custom Search Engine Lua API With https://github.com/sxyazi/yazi/pull/2452, you can create custom search engines via the Lua API, meaning that plugins can serve as the source for search view file lists. A new plugin [vcs-files.yazi](https://github.com/yazi-rs/plugins/tree/main/vcs-files.yazi) is available to display the list of files changed in Git within Yazi: https://github.com/user-attachments/assets/ca6f7d55-002b-4933-b8e8-41f335b96a2b ##### Platform-Specific Key Binding https://github.com/sxyazi/yazi/pull/2526 adds a new *optional* `for` field to key bindings to specify the platform the key binding applies to. For example: ```sh { on = [ 'g', 'd' ], run = 'cd ~/dev', desc = 'Go dev', for = 'unix' }, { on = [ 'g', 'd' ], run = 'cd C:\dev', desc = 'Go C:\dev', for = 'windows' }, ``` ##### Performance Improvements This version brings several performance enhancements: - Configuration parser has been rewritten to double the startup speed. https://github.com/sxyazi/yazi/pull/2508 - AVIF, HEIF, and JPEG XL previews have seen significant performance improvements. https://github.com/sxyazi/yazi/pull/2533, thanks @ze0987 - Compiled and cached the Lua bytecode to enhance the overall performance of the plugin system. https://github.com/sxyazi/yazi/pull/2490 ##### Enhance `fzf` Integration Now, you can select multiple files in `fzf`, and the selected files will also be selected in Yazi. Also, you can now view, navigate, and deselect the file selection list from Yazi within `fzf`. https://github.com/user-attachments/assets/f7b175a3-fa73-4128-8239-f90e45f13ab3 See https://github.com/sxyazi/yazi/issues/2546 for more details. ##### Use Yazi File Manager Directly in Helix, Without Zellij or tmux https://github.com/sxyazi/yazi/pull/2461 adapted Yazi to support Helix's `:insert-output`, which means you can now run Yazi directly within Helix – it even supports image and video previews! https://github.com/user-attachments/assets/9dbf7aca-fc4e-4f9e-b554-70cadedf0484 ##### New `prev` and `next` Arguments to `arrow` for Wraparound Navigation Circular navigation is one of the long-requested features, and is now supported via the new `arrow prev` and `arrow next` commands in https://github.com/sxyazi/yazi/pull/2485. ##### New `follow` Command to Follow Files Pointed to by Symlinks https://github.com/sxyazi/yazi/pull/2543 adds support for following files pointed to by symlinks. A new key binding, `g` => `f` (follow hovered symlink), has been added to use this feature. ##### Allow Initializing Input When Opening It with Commands Like `rename`, `create`, `find`, `filter`, etc. With https://github.com/sxyazi/yazi/pull/2578, you can now customize the input box opened by commands _[Truncated at 4000 characters — full notes: https://github.com/sxyazi/yazi/releases/tag/v25.4.8]_