Yazi v25.4.8

v25.4.8Desktop
Added 10
  • Create custom search engines via Lua API for plugins to serve as search view file list sources
  • Add optional `for` field to key bindings to specify platform applicability
  • Allow selecting multiple files in `fzf` with selection synchronized in Yazi
  • View, navigate, and deselect file selection list from Yazi within `fzf`
  • Support running Yazi directly in Helix with `:insert-output` without Zellij or tmux
  • Add new `arrow prev` and `arrow next` commands for wraparound navigation
Changed 9
  • Enable wraparound navigation by default
  • Replace `tasks_show` and `close_input` with `tasks:show` and `input:close`
  • Convert `frag`, `name`, `stem`, `ext`, and `parent` on Url, `name` on tab::Tab, and `is_hovered` on fs::File to properties
  • Swap default key bindings for `z` (zoxide) and `Z` (fzf)
  • Use new `@sync peek` annotation instead of previewer's `sync = true`
  • Switch SVG preview backend from ImageMagick to resvg with new `svg` previewer
Deprecated 1
  • `ui.Padding` and `ui.Rect:padding()` are deprecated
Breaking Changes
Deprecated
Packaging
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 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:

{ 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:

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 such as create, rename, cd, filter, find, search, and shell. For example:

{ on = "r", run = [ "rename", "input:escape" ] }

This will open the rename input box and exit insert mode, meaning that the default state will be normal mode.

What's Changed
New Contributors

Full Changelog: https://github.com/sxyazi/yazi/compare/v25.3.2...v25.4.8

View original

Upgraded? How did it go?

Discussion