Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bumpCreated with
brew bump-formula-pr.release notes
[manager]is deprecated. refactor!: deprecate[manager]in favor of[mgr]sxyazi/yazi#2803tab_widthis removed since no longer need to set it manually. feat!: redesign tabs sxyazi/yazi#2745tab_activeandtab_inactiveare moved under the new[tabs]section. feat!: redesign tabs sxyazi/yazi#2745Deprecated
ya.mgr_emit(),ya.app_emit()andya.input_emit()are deprecated. feat: newya.emit()API sxyazi/yazi#2653ya.preview_widgets()is deprecated. feat: show error when image preview fails sxyazi/yazi#2706Command:args()is deprecated. refactor: deprecate theCommand:args()method sxyazi/yazi#2752ya packsubcommand is deprecated. feat: newya pkgsubcommand sxyazi/yazi#2770LEFT,CENTER,RIGHTonui.Line,ui.Textare deprecated. feat: newui.Align,ui.Wrap, andui.Edgesxyazi/yazi#2802NONE,TOP,RIGHT,BOTTOM,LEFT,ALLonui.Bar,ui.Borderare deprecated. feat: newui.Align,ui.Wrap, andui.Edgesxyazi/yazi#2802WRAP_NO,WRAP,WRAP_TRIMonui.Textare deprecated. feat: newui.Align,ui.Wrap, andui.Edgesxyazi/yazi#2802Redesign Tabs
sxyazi/yazi#2745 decouples tabs from the header into an independent tab bar component to enhance UX:
The new tab bar is only shown when there is more than one tab, ensuring no space is wasted for users who don't use tabs.
442474569-5ac79095-9a4a-444e-894a-e6ee0e992815.mp4
Calculate Real-Time Directory Size in Spotter
sxyazi/yazi#2695 adds directory sizes to the
folderspotter. The size is computed dynamically in real time and asynchronously, which means:<Tab>on a directory, the latest size is calculated.Also, the computed directory size will be updated in the file list:
linemode = size, the latest size will be shown on the right of the file line.sort_by = size, the file list will be sorted by the latest sizes (if necessary).438794791-568ca1b2-5858-4f38-a053-a099dffa3b1c.mp4
9x Faster Sixel Image Preview
sxyazi/yazi#2707 replaces the existing neural network quantization algorithm with Wu's Color Quantizer, which offers better performance while maintaining comparable quality.
Old implementation (neural network via
color_quant, with defaultsixel_fraction = 20) – average 189.5763999ms:New implementation (Wu - sRGB via
quantette) – average 20.9199916ms:piper.yaziPluginWith
piper.yazi, you can use the output of any shell command as preview content. This eliminates the need to write a separate plugin for each command, making the use of custom previewers much more convenient.See https://github.com/yazi-rs/plugins/tree/main/piper.yazi#examples for more examples!
Double Directory Size Calculation Speed
sxyazi/yazi#2683 greatly improves directory computation performance by dividing the task into chunks and reusing existing threads. Directory sorting and file trashing will be observably twice as fast.
Run the benchmark script against a 10.16GB folder 5 times in release mode:
Input Component Now Supports Password Mode
With sxyazi/yazi#2675, a new
obscure = trueoption is available:screenshot-002319.mp4
Truncate Long Items in the File List
sxyazi/yazi#2754, sxyazi/yazi#2759, and sxyazi/yazi#2778 add truncation support for long filenames in the file list and archive preview, and display file extensions at the end, ensuring that even if a filename is truncated, you can still know what file type it is by its extension.
screenshot-002518.mp4
types.yaziPluginFor a long time, Yazi lacked a type definition file, which made plugin development very painful. Now, it's here!
types.yaziprovides type definitions for Yazi's Lua API, empowering an efficient plugin development experience.Improved Built-In Previewers
videopreviewer now supports displaying embedded video covers, feat: support embedded cover for video preview sxyazi/yazi#2640magickpreviewer will respect the user'simage_allocandimage_boundsettings, to limit its maximum resource usage, feat: limit memory usage for previewing large images sxyazi/yazi#2602, thanks to @ze0987videopreviewer will respect the user'smax_widthsetting, fix: respect the user'smax_widthsetting for the built-in video previewer sxyazi/yazi#2560, thanks to @ze0987Improve Path Auto-Completion Results
The auto-completion results for interactive cd (key:
g=><Space>) will now more closely match the user's input keywords.Done in sxyazi/yazi#2765
What's Changed
max_widthsetting for the built-in video previewer by @ze0987 in fix: respect the user'smax_widthsetting for the built-in video previewer sxyazi/yazi#2560quit --codeby @Nicholas42 in feat: allow custom exit code withquit --codesxyazi/yazi#2609CSI 16 twhen PowerShell OpenSSH returns a fake terminal size by @sxyazi in feat: fall back toCSI 16 twhen PowerShell OpenSSH returns a fake terminal size sxyazi/yazi#2636ya.emit()API by @sxyazi in feat: newya.emit()API sxyazi/yazi#2653peekandwatchby @sxyazi in feat: fine-grainedpeekandwatchsxyazi/yazi#2655--no-dummyoption forrevealcommand by @sxyazi in feat: new--no-dummyoption forrevealcommand sxyazi/yazi#2664sixel_fractionto30by @sxyazi in feat: increase the maximum allowed value ofsixel_fractionto30sxyazi/yazi#2682fs.calc_size()API by @sxyazi in feat: newfs.calc_size()API sxyazi/yazi#2691Idto a first-class type by @sxyazi in feat: promoteIdto a first-class type sxyazi/yazi#2692ya pubandya emitsubcommands to verify receiver exists and has necessary abilities by @sxyazi in feat: checks inya pubandya emitsubcommands to verify receiver exists and has necessary abilities sxyazi/yazi#2696sandSkeybinds in the input component by @hankertrix in feat: addsandSkeybinds in the input component sxyazi/yazi#2678ttyto the newyazi-termcrate by @sxyazi in refactor: movettyto the newyazi-termcrate sxyazi/yazi#2701arrow()after deleting files by @sxyazi in fix: reset the cursor position witharrow()after deleting files sxyazi/yazi#2708ya pub-to 0checks if any peer is able to receive the message by @mikavilpas in fix:ya pub-to 0checks if any peer is able to receive the message sxyazi/yazi#2697--hoveredto thecopycommand by @hankertrix in feat: add--hoveredto thecopycommand sxyazi/yazi#2709hoverevent aftercdby @sxyazi in fix: missing ahoverevent aftercdsxyazi/yazi#2719setsid()by @sxyazi in fix: detach background and orphan processes from the controlling terminal withsetsid()sxyazi/yazi#2723windows-sysmissing aWin32_Securityfeature by @Kreijstal in fix:windows-sysmissing aWin32_Securityfeature sxyazi/yazi#2728ui.Linerenderable by @sxyazi in feat: makeui.Linerenderable sxyazi/yazi#2743Command:args()method by @sxyazi in refactor: deprecate theCommand:args()method sxyazi/yazi#2752ya.truncate()by @sxyazi in perf: avoid unnecessary memory allocation inya.truncate()sxyazi/yazi#2753/to the interactive cd auto-completion candidates by @ineu in feat: add a/to the interactive cd auto-completion candidates sxyazi/yazi#2777rust-onigto v6.5.1 for GCC 15 compatibility by @sxyazi in fix: updaterust-onigto v6.5.1 for GCC 15 compatibility sxyazi/yazi#2794ui.Align,ui.Wrap, andui.Edgeby @sxyazi in feat: newui.Align,ui.Wrap, andui.Edgesxyazi/yazi#2802[manager]in favor of[mgr]by @sxyazi in refactor!: deprecate[manager]in favor of[mgr]sxyazi/yazi#2803New Contributors
quit --codesxyazi/yazi#2609windows-sysmissing aWin32_Securityfeature sxyazi/yazi#2728/to the interactive cd auto-completion candidates sxyazi/yazi#2777Full Changelog: sxyazi/yazi@v25.4.8...v25.5.28
View the full release notes at https://github.com/sxyazi/yazi/releases/tag/v25.5.28.