v25.2.26
sxyazi/yaziv25.2.26Feb 26, 2025by github-actions[bot]
AI Summary
This release introduces the `ripgrep-all` search engine, new status bar customization options with independent left/right separators, and a new `rt` and `th` API for configuration access.
Key Highlights
- New `ripgrep-all` search engine support
- New `sep_left` and `sep_right` for status bar customization
- New `rt` and `th` APIs for accessing config and theme
- New `tbl_col` and `tbl_cell` for spotter table styling
Breaking Changes
- `separator_open` and `separator_close` replaced by `sep_left` and `sep_right`
- `[completion]` component renamed to `[cmp]`
- `MANAGER`, `PREVIEW`, `PLUGIN`, `THEME` constants deprecated
- `ya.manager_emit()` deprecated in favor of `ya.mgr_emit()`
New Features
- JSON previewer respects `wrap` setting
- PDF previewer respects `max_width` setting
- ImageMagick previewer respects `image_alloc` setting
- New `external` and `removable` fields in `fs.partitions()` API
- New `cf.args` to access startup arguments
Full Release Notes
## Breaking Changes - `separator_open` and `separator_close` have been replaced with the new `sep_left` and `sep_right`. https://github.com/sxyazi/yazi/pull/2313 - The `[completion]` component has been renamed to `[cmp]`. https://github.com/sxyazi/yazi/pull/2399 ## Deprecated - `MANAGER`, `PREVIEW`, `PLUGIN`, and `THEME` have been deprecated in favor of the new `rt` and `th`. https://github.com/sxyazi/yazi/pull/2389 - `ya.manager_emit()` has been deprecated in favor of the new `ya.mgr_emit()`. https://github.com/sxyazi/yazi/pull/2397 ## Built-in Previewer Improvements - The JSON previewer will now respect the user's `wrap` setting to support automatic JSON line wrapping. https://github.com/sxyazi/yazi/pull/2337, thanks @boydaihungst - The PDF previewer will now respect the user's `max_width` setting to address the issue of previewing content that is too small. https://github.com/sxyazi/yazi/pull/2331 - The ImageMagick previewer will now respect the user's `image_alloc` setting to limit memory usage. https://github.com/sxyazi/yazi/pull/2403 ## New Search Engine: [`rga`](https://github.com/phiresky/ripgrep-all) https://github.com/sxyazi/yazi/pull/2383 (thanks @paperbenni) has added a new [`ripgrep-all`](https://github.com/phiresky/ripgrep-all) search engine. It is a wrapper around `ripgrep` that supports additional file formats (such as PDF, docx, epub, etc.). You can use it with the `search --via=rga` command. ## Allow to Specify Layer for Keymap Commands With https://github.com/sxyazi/yazi/pull/2399, you'll now be able to assign commands from different layers to a keybinding in `keymap.toml`. This opens up the possibility of interacting with any other component, such as accessing commands from the manager (`[manager]`) within the input component (`[input]`): ```toml [[input.prepend_keymap]] on = "<Esc>" run = [ "close", "mgr:escape --filter" ] desc = "Close input and cancel the filter" ``` When you press `Esc` in the input box to exit the filter view (triggered by the `f` key), the filter will be canceled as the input is closed. ## More Flexible Status Bar Customization https://github.com/sxyazi/yazi/pull/2313 (thanks @PFiS1737) introduces `sep_left` and `sep_right` to replace the previous `separator_open` and `separator_close` settings, allowing different separators to be set for the left and right sides:  ## Support for Setting Spotter Table Styles https://github.com/sxyazi/yazi/pull/2391 introduces two new settings, `tbl_col` and `tbl_cell`, in `theme.toml` to configure the styles for spotter table columns and cells, respectively. <img src="https://github.com/user-attachments/assets/f2167e58-96c3-4a66-a244-1150e3e80e43" height="400" /> ## What's Changed * feat!: allow different separators to be applied individually to the left and right sides of the status bar by @PFiS1737 in https://github.com/sxyazi/yazi/pull/2313 * fix: load mount points with the best effort even if the `/dev/disk/by-label` directory does not exist by @sxyazi in https://github.com/sxyazi/yazi/pull/2326 * feat: CSI-based Vim and Neovim built-in terminal detection for better accuracy by @sxyazi in https://github.com/sxyazi/yazi/pull/2327 * feat: respect the user's `max_width` setting for the built-in PDF preloader by @sxyazi in https://github.com/sxyazi/yazi/pull/2331 * feat: respect the user's `wrap` setting for the built-in JSON previewer by @boydaihungst in https://github.com/sxyazi/yazi/pull/2337 * refactor: consistent naming for enum variants by @sxyazi in https://github.com/sxyazi/yazi/pull/2339 * feat: new `external` and `removable` fields in the `fs.partitions()` API by @sxyazi in https://github.com/sxyazi/yazi/pull/2343 * feat: terminal response detection under async stdin by @sxyazi in https://github.com/sxyazi/yazi/pull/2347 * fix: incorrect kebab-case for the notify level enum by @hankertrix in https://github.com/sxyazi/yazi/pull/2349 * fix: add maximum preview limit under `/proc` virtual file system by @sxyazi in https://github.com/sxyazi/yazi/pull/2355 * feat: add a link to the debugging instructions in `yazi --debug` by @sxyazi in https://github.com/sxyazi/yazi/pull/2365 * fix: didn't reset previous `Cha` when loading directories in chunks by @sxyazi in https://github.com/sxyazi/yazi/pull/2366 * feat: make incompatible version message more clear by @sxyazi in https://github.com/sxyazi/yazi/pull/2377 * feat: bump `trash` and `libc` versions to support NetBSD by @sxyazi in https://github.com/sxyazi/yazi/pull/2388 * feat: new `rt` and `th` allow to access user configuration and theme scheme in sync/async plugins consistently by @sxyazi in https://github.com/sxyazi/yazi/pull/2389 * feat: new `tbl_col` and `tbl_cell` in theme system for spotter table styling by @sxyazi in https://github.com/sxyazi/yazi/pull/2391 * feat: add ripgrep-all support for search by @paperbenni in https://github.com/sxyazi/yazi/pull/2383 * feat: new `cf.args` to access startup arguments by @sxyazi in https://github.com/sxyazi/yazi/pull/2392 * refactor: rename `cf` to `rt` by @sxyazi in https://github.com/sxyazi/yazi/pull/2393 * feat: expose `mode` field in `Cha` by @sxyazi in https://github.com/sxyazi/yazi/pull/2394 * refactor: rename `rt.manager` to `rt.mgr`, and `th.manager` to `th.mgr` by @sxyazi in https://github.com/sxyazi/yazi/pull/2397 * feat!: allow to specify layer for keymap commands by @sxyazi in https://github.com/sxyazi/yazi/pull/2399 ## New Contributors * @PFiS1737 made their first contribution in https://github.com/sxyazi/yazi/pull/2313 * @paperbenni made their first contribution in https://github.com/sxyazi/yazi/pull/2383 **Full Changelog**: https://github.com/sxyazi/yazi/compare/v25.2.11...v25.2.26