Releases: sxyazi/yazi
Nightly Build
From commit: 2044654
Generated on: 2025-06-03 16:20 UTC
v25.5.31
This is a maintenance release, focusing on bug fixes.
What's Changed
- fix: expose
ui.Wrap
by @sxyazi in #2810 - fix:
forward --end-of-word
of the input should consider the mode's delta by @sxyazi in #2811 - fix: make every effort to carry hidden states for dummy files by @sxyazi in #2814
Full Changelog: v25.5.28...v25.5.31
v25.5.28
Breaking Changes
[manager]
is deprecated in favor of the new[mgr]
. #2803tab_width
has been removed as it no longer needs to be set manually. #2745tab_active
andtab_inactive
are moved under the new[tabs]
section. #2745sixel_fraction
has been removed as it's no longer needed. #2707
Deprecated
ya.mgr_emit()
,ya.app_emit()
andya.input_emit()
are deprecated. #2653ya.preview_widgets()
is deprecated. #2706Command:args()
is deprecated. #2752- The
ya pack
subcommand is deprecated. #2770 LEFT
,CENTER
,RIGHT
onui.Line
,ui.Text
are deprecated. #2802NONE
,TOP
,RIGHT
,BOTTOM
,LEFT
,ALL
onui.Bar
,ui.Border
are deprecated. #2802WRAP_NO
,WRAP
,WRAP_TRIM
onui.Text
are deprecated. #2802
Redesign Tabs
#2745 decouples tabs from the header into an independent tab bar component to enhance UX:
- A standalone single-line component increases the available space for displaying tabs.
- Tab titles are displayed by default to increase recognizability.
- Supports switching tabs via mouse for easier navigation.
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
#2695 adds directory sizes to the folder
spotter. The size is computed dynamically in real time and asynchronously, which means:
- Every time a user clicks
<Tab>
on a directory, the latest size is calculated. - For large directories, real-time changes in size are reported to the user, with "(?)" appended at the end to indicate that the calculation is in progress.
- If the user closes the spotter or switches directories using the left/right arrow keys, any ongoing calculations will be canceled to avoid wasting resources.
Also, the computed directory size will be updated in the file list:
- If the user sets
linemode = size
, the latest size will be shown on the right of the file line. - If the user sets
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
#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 default sixel_fraction = 20
) – average 189.5763999ms:
time: 190.025ms
time: 191.054417ms
time: 187.696792ms
time: 188.060791ms
time: 189.381958ms
time: 191.618042ms
time: 192.383125ms
time: 190.511291ms
time: 187.8395ms
time: 187.193083ms
New implementation (Wu - sRGB via quantette
) – average 20.9199916ms:
time: 21.226458ms
time: 20.719542ms
time: 21.207583ms
time: 20.815875ms
time: 21.071291ms
time: 21.273459ms
time: 20.811792ms
time: 20.723166ms
time: 20.52675ms
time: 20.824ms
piper.yazi
Plugin
With 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
#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:
Old: elapsed 759.877791ms
New: elapsed 364.802583ms
Old: elapsed 734.5155ms
New: elapsed 360.103375ms
Old: elapsed 734.124167ms
New: elapsed 365.662458ms
Old: elapsed 733.27325ms
New: elapsed 365.694042ms
Old: elapsed 743.394875ms
New: elapsed 364.455083ms
Input Component Now Supports Password Mode
With #2675, a new obscure = true
option is available:
local value = ya.input {
title = "Password:",
obscure = true,
position = { "center", w = 50 },
}
screenshot-002319.mp4
Truncate Long Items in the File List
#2754, #2759, and #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.yazi
Plugin
For a long time, Yazi lacked a type definition file, which made plugin development very painful. Now, it's here!
types.yazi
provides type definitions for Yazi's Lua API, empowering an efficient plugin development experience.
Improved Built-In Previewers
- The
video
previewer now supports displaying embedded video covers, #2640 - The
magick
previewer will respect the user'simage_alloc
andimage_bound
settings, to limit its maximum resource usage, #2602, thanks to @ze0987 - The
video
previewer will respect the user'smax_width
setting, #2560, thanks to @ze0987
Improve 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 #2765
What's Changed
- fix: reverse the mixing order of theme and flavor configuration by @sxyazi in #2594
- feat: limit memory usage for previewing large images by @ze0987 in #2602
- fix: respect the user's
max_width
setting for the built-in video previewer by @ze0987 in #2560 - feat: allow custom exit code with
quit --code
by @Nicholas42 in #2609 - fix: ensure state synchronization even when the package update fails midway by @sxyazi in #2613
- fix: do not change revision when package deployment fails by @sxyazi in #2627
- feat: copy-on-write support for field caching by @sxyazi in #2629
- feat: fall back to
CSI 16 t
when PowerShell OpenSSH returns a fake terminal size by @sxyazi in #2636 - feat: support embedded cover for video preview by @sxyazi in #2640
- fix: lazily update files to avoid triggering issues dependent on sort order by @sxyazi in #2643
- feat: new
ya.emit()
API by @sxyazi in #2653 - feat: fine-grained
peek
andwatch
by @sxyazi in #2655 - feat: new
--no-dummy
option forreveal
command by @sxyazi in #2664 - feat: obscure input component for inputting passwords by @sxyazi in #2675
- feat: increase the maximum allowed value of
sixel_fraction
to30
by @sxyazi in #2682 - perf: double directory size calculation speed by @sxyazi in #2683
- feat: new
fs.calc_size()
API by @sxyazi in #2691 - feat: promote
Id
to a first-class type by @sxyazi in #2692 - feat: calculate real-time directory size in spotter by @sxyazi in #2695
- feat: checks in
ya pub
andya emit
subcommands to verify receiver exists and has necessary abilities by @sxyazi in #2696 - feat: add
s
andS
keybinds in the input component by @hankertrix in #2678 - fix: no title is set when starts the first time by @sxyazi in #2700
- refactor: move
tty
to the newyazi-term
crate by @sxyazi in #2701 - feat: show error when image preview fails by @sxyazi in #2706
- feat!: 9x faster Sixel image preview by @sxyazi in #2707
- fix: reset the cursor position with
arrow()
after deleting files by @sxyazi in #2708 - fix:
ya pub-to 0
checks if any peer is able to receive the message ...
v25.4.8
Breaking Changes
- Supported wraparound navigation and enabled it by default. #2485
- Replaced
tasks_show
andclose_input
withtasks:show
andinput:close
. #2530 frag
,name
,stem
,ext
, andparent
onUrl
,name
ontab::Tab
, andis_hovered
onfs::File
are now properties. #2572- Swapped the default key bindings for
z
(zoxide) andZ
(fzf). #2546 - Used the new
@sync peek
annotation instead of the previewer'ssync = true
. #2487
Deprecated
ui.Padding
andui.Rect:padding()
are deprecated. #2574
Packaging
- SVG preview backend switched from ImageMagick to
resvg
and implemented as a newsvg
previewer. #2533, #2581
Custom Search Engine Lua API
With #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:
420258569-465b801b-3516-4f57-be09-8405da21e34d.mp4
Platform-Specific Key Binding
#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:
- Configuration parser has been rewritten to double the startup speed. #2508
- AVIF, HEIF, and JPEG XL previews have seen significant performance improvements. #2533, thanks @ze0987
- Compiled and cached the Lua bytecode to enhance the overall performance of the plugin system. #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
.
428400784-c120282b-a029-4cde-9092-699115318491.mp4
See #2546 for more details.
Use Yazi File Manager Directly in Helix, Without Zellij or tmux
#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!
420651139-17a370d5-ee50-4cfa-8292-ed3159058ac6.mp4
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 #2485.
New follow
Command to Follow Files Pointed to by Symlinks
#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 #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
- feat: new
<C-A>
and<C-E>
keybindings to select entire line for the input component by @sxyazi in #2439 - fix: reserve a hack for Zellij to force an image adapter by @sxyazi in #2441
- feat: new
rt.term
exports terminal emulator information by @sxyazi in #2442 - fix: always show the size in the status bar even in empty directories by @sxyazi in #2449
- feat: allow
tab_swap
to cycle tabs by @sxyazi in #2456 - feat: support using Yazi in Helix directly without Zellij or tmux by @sxyazi in #2461
- refactor: prefer
WriteConsoleW
for Windows console output by @sxyazi in #2464 - ci: add label only if not removed manually by @sxyazi in #2470
- fix: force ANSI for keyboard progressive enhancement on Windows by @sxyazi in #2474
- feat: new
fs.expand_url
API by @sxyazi in #2476 - feat!: file navigation wraparound with new
arrow prev
andarrow next
commands by @sxyazi in #2485 - feat!: new
@sync peek
annotation for sync previewers by @sxyazi in #2487 - perf: lazy compile and cache lua plugins as binary bytecode by @sxyazi in #2490
- feat: new
base
field for theUrl
userdata by @sxyazi in #2492 - feat: allow repositioning the cursor in the
rename
DDS event by @sxyazi in #2521 - feat: new
symlink_target
to style the target of symbolic links by @sxyazi in #2522 - feat: platform-specific key binding by @sxyazi in #2526
- feat: show error message when directory fails to load by @sxyazi in #2527
- feat: allow bulk renaming to include trailing content in addition to the required new names by @MikuGeek in #2494
- refactor!: remove unnecessary
tasks_show
andclose_input
commands by @sxyazi in #2530 - perf!: faster image preview with optimized
magick
arguments by @ze0987 in #2533 - feat!: support
arrow prev
andarrow next
for more components by @XOR-op in #2540 - feat: clear terminal before displaying EXIF data by @Integral-Tech in #2541
- feat: new
follow
command to follow files pointed to by symlinks by @sxyazi in #2543 - fix: always check whether the cursor exceeds the upper bound to guard against unexpected values by @sxyazi in #2551
- feat!: enhance
fzf
integration by @sxyazi in #2553 - feat: support Warp terminal image preview by @sxyazi in #2571
- feat: allow initializing input when opening it with commands like
rename
,create
,find
,filter
, etc. by @sxyazi in #2578 - fix: ignore XQuartz
$DISPLAY
variable by @sxyazi in #2586 - fix: don't fail on videos with embedded images by @ze0987 in #2590
New Contributors
Full Changelog: v25.3.2...v25.4.8
v25.3.2
This is a quick fix release that addresses the issue where, under SSH, terminal response sequences are not completely consumed and are leaked to the screen.
Thanks to @Crdr0122 and @SpookyYomo for reporting and helping reproduce the issue!
What's Changed
- feat: expose all theme fields in Lua by @hankertrix in #2405
- fix:
windows-sys
features forWin32_Storage_FileSystem
andWin32_System_Threading
by @sxyazi in #2417 - fix: ignore stdin redirection to ensure always accessing the real tty by @sxyazi in #2425
- fix:
STDIN_FILENO
poll always returns 0 under SSH by @sxyazi in #2427 - feat: expose almost the entirety of the user's configuration in Lua by @hankertrix in #2413
- chore: bump version to 25.3.2 by @sxyazi in #2428
Full Changelog: v25.2.26...v25.3.2
v25.2.26
Breaking Changes
separator_open
andseparator_close
have been replaced with the newsep_left
andsep_right
. #2313- The
[completion]
component has been renamed to[cmp]
. #2399
Deprecated
MANAGER
,PREVIEW
,PLUGIN
, andTHEME
have been deprecated in favor of the newrt
andth
. #2389ya.manager_emit()
has been deprecated in favor of the newya.mgr_emit()
. #2397
Built-in Previewer Improvements
- The JSON previewer will now respect the user's
wrap
setting to support automatic JSON line wrapping. #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. #2331 - The ImageMagick previewer will now respect the user's
image_alloc
setting to limit memory usage. #2403
New Search Engine: rga
#2383 (thanks @paperbenni) has added a new 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 #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]
):
[[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
#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
#2391 introduces two new settings, tbl_col
and tbl_cell
, in theme.toml
to configure the styles for spotter table columns and cells, respectively.

What's Changed
- feat!: allow different separators to be applied individually to the left and right sides of the status bar by @PFiS1737 in #2313
- fix: load mount points with the best effort even if the
/dev/disk/by-label
directory does not exist by @sxyazi in #2326 - feat: CSI-based Vim and Neovim built-in terminal detection for better accuracy by @sxyazi in #2327
- feat: respect the user's
max_width
setting for the built-in PDF preloader by @sxyazi in #2331 - feat: respect the user's
wrap
setting for the built-in JSON previewer by @boydaihungst in #2337 - refactor: consistent naming for enum variants by @sxyazi in #2339
- feat: new
external
andremovable
fields in thefs.partitions()
API by @sxyazi in #2343 - feat: terminal response detection under async stdin by @sxyazi in #2347
- fix: incorrect kebab-case for the notify level enum by @hankertrix in #2349
- fix: add maximum preview limit under
/proc
virtual file system by @sxyazi in #2355 - feat: add a link to the debugging instructions in
yazi --debug
by @sxyazi in #2365 - fix: didn't reset previous
Cha
when loading directories in chunks by @sxyazi in #2366 - feat: make incompatible version message more clear by @sxyazi in #2377
- feat: bump
trash
andlibc
versions to support NetBSD by @sxyazi in #2388 - feat: new
rt
andth
allow to access user configuration and theme scheme in sync/async plugins consistently by @sxyazi in #2389 - feat: new
tbl_col
andtbl_cell
in theme system for spotter table styling by @sxyazi in #2391 - feat: add ripgrep-all support for search by @paperbenni in #2383
- feat: new
cf.args
to access startup arguments by @sxyazi in #2392 - refactor: rename
cf
tort
by @sxyazi in #2393 - feat: expose
mode
field inCha
by @sxyazi in #2394 - refactor: rename
rt.manager
tort.mgr
, andth.manager
toth.mgr
by @sxyazi in #2397 - feat!: allow to specify layer for keymap commands by @sxyazi in #2399
New Contributors
- @PFiS1737 made their first contribution in #2313
- @paperbenni made their first contribution in #2383
Full Changelog: v25.2.11...v25.2.26
v25.2.11
This is a quick fix release that addresses a few issues introduced in the previous version 25.2.7.
Besides that, a new overall
option has been added under [status]
in theme.toml
, which allows you to set the overall style of the status bar, specifically the empty area in the center:
[status]
overall = { fg = "#cad3f5", bg = "#181926" }
See #2321 for details.
What's Changed
- fix: reverse the order of CSI-based and environment-based terminal detection by @sxyazi in #2310
- feat: reduce terminal response wait timeout by @sxyazi in #2314
- fix: unable to delete sealed files on Windows due to platform differences by @sxyazi in #2319
- feat: new
overall
option under[status]
to allow specifying the overall style of the status bar by @sxyazi in #2321 - chore: bump version to 25.2.11 by @sxyazi in #2323
Full Changelog: v25.2.7...v25.2.11
v25.2.7
Deprecated
ya.md5()
has been deprecated in favor of the newya.hash()
, in #2168- The plugin entry file
init.lua
has been deprecated in favor of the newmain.lua
, in #2168 arrow -99999999
andarrow 99999999
have been deprecated in favor of the newarrow top
andarrow bot
, in #2294- The
--args
option in theplugin
command has been deprecated in favor of a new 2nd positional parameter, in #2299 - The numeric return value of the preloader has been deprecated in favor of a new boolean return value, in #2253
The mount.yazi
Plugin
For a long time, I've been receiving requests from users for a mount manager, but never had the time to finish it. But now — it's here!
mount.yazi
provides disk mount, unmount, and eject functionality:
404254109-c6f780ab-458b-420f-85cf-2fc45fcfe3a2.mp4
Done in #2199.
Simplification of shell
and plugin
commands
With #2298, you can now write shell scripts directly after --
(end of options marker). Everything after --
will be treated as raw text, so no more escaping is required, greatly simplifying the writing of complex commands.
For example, previously, a simple echo "hello 'world'"
would look like this:
[[manager.prepend_keymap]]
on = "<C-e>"
run = '''
shell --block 'echo "hello '\''world'\''"'
'''
This resulted in nested quotes, which was error-prone and unintuitive.
Now, you can directly include the entire shell script as plain text after --
without any escaping:
[[manager.prepend_keymap]]
on = "<C-e>"
run = '''
shell --block -- echo "hello 'world'"
'''
Similarly, with #2299, the plugin
command usage has been simplified as well. For instance:
[[manager.prepend_keymap]]
on = "<C-e>"
run = "plugin search --args='\'hello world\''"
Can now be written as:
[[manager.prepend_keymap]]
on = "<C-e>"
run = "plugin search -- 'hello world'"
Replace Mode and Vim Motions (W
, E
, B
, ^
, _
) for Inputs
The Input component now supports replace mode and several new Vim motions, including:
W
: Move forward to the start of the next WORDE
: Move forward to the end of the current or next WORDB
: Move back to the start of the current or previous WORD^
: Move to the first non-whitespace character_
: Move to the first non-whitespace character
Thanks to @dxrcy for the work in #2143!
Package Manager Enhancements
The package manager now supports the following new features:
ya pack -d
to delete a package (thanks @MrAsler, #2181)- Support for adding and removing multiple packages with a single command (thanks @evpeople, #2257)
Support Local tmux
Image Preview Over SSH
Now, when you start tmux locally, connect to a remote SSH session, and run Yazi on the remote host, you'll get image preview support out of the box.
Done in #2229.
New @since
Plugin Annotation to Specify the Minimum Supported Yazi Version
You can now optionally specify the minimum supported Yazi version in your plugin:
--- @since 25.2.7
return {
entry = function() end
}
If specified, and the user's Yazi version is lower than the given version, they will receive an error message preventing the plugin from running accidentally.
Done in #2290
New ya.confirm()
API
The new ya.confirm()
API allows you to show a confirmation prompt to the user:
local answer = ya.confirm {
pos = { "center", w = 40, h = 10 },
title = "Test",
content = "Hello, World!",
}
You can also apply a UI element to the title and content to customize the appearance:
local answer = ya.confirm {
pos = { "center", w = 40, h = 10 },
title = ui.Line("Test"):fg("yellow"):bold(),
content = ui.Text("Hello, World!"):bg("red"):fg("#ffffff"),
}
v0.4.2
This is a quick patch release with 3 fixes:
- Fixed an issue where switching directories in Yazi didn't update the CWD, causing issues with features that depend on the CWD (like terminal splitting and
cd --interactive
path completion). - Fixed a bug where the UI wouldn't refresh when returning to Yazi from an external blocking process (like a shell) while in an empty directory.
- Fixed an issue where the preview wouldn't update after sorting directories when using the Folder-specific rules tip.
Here are some new features:
- Added support for a large number of new archive formats for extraction, previewing, and filetype highlighting in #1926 (thanks to @Integral-Tech).
- Added a new temporary option
_v4_suppress_deprecation_warnings
in #2027 to suppress all deprecation warnings as a workaround for the transition to version 0.4:# yazi.toml [manager] _v4_suppress_deprecation_warnings = true
- Added 2 new Lua APIs
fs.cwd()
- get the current working directoryfs.create()
- create a directory (Thanks to @hankertrix)
What's Changed
- fix: interactive
cd
autocomplete doesn't follow the latestCWD
changes by @sxyazi in #2025 - feat: new option to suppress 0.4 deprecation warnings by @sxyazi in #2027
- fix: offset cursor shift when deleting multiple files in bulk by @sxyazi in #2030
- chore: bump version to 0.4.2 by @sxyazi in #2031
- fix: choose a more conservative
macro_workers
value to ensure concurrency safety with certain USB flash drives by @sxyazi in #2040 - feat: support for Android platform in the
for
qualifier of opener by @sxyazi in #2041 - fix: set the current working directory in a thread-safe way by @sxyazi in #2043
- fix:
allow-passthrough
must be set toon
to preventtmux
from forwarding the real terminal's response to the inactive pane by @sxyazi in #2052 - fix: pass through
show_hidden
when building defaultFiles
by @sxyazi in #2057 - fix: use a less intrusive
DSR
instead ofDA1
workaround to forward terminal responses twice intmux
by @sxyazi in #2058 - feat: new
--cwd
parameter for theshell
command andfs.cwd()
API by @sxyazi in #2060 - feat: allow
noop
for single-key chords by removing the mixing length limit by @sxyazi in #2064 - ci: add riscv64gc-unknown-linux-gnu target by @Integral-Tech in #2067
- fix: missing a render after resuming from an external blocking process by @sxyazi in #2071
- feat: add more supported archive formats to the preset config by @Integral-Tech in #1926
- feat: new
fs.create()
Lua API by @hankertrix in #2068 - fix: missing a hover after reordering from an external plugin by @sxyazi in #2072
Full Changelog: v0.4.1...v0.4.2
v0.4.1
This is a quick patch version with 4 fixes:
- Fixed an issue where Yazi would freeze when waiting for terminal response, in old tmux versions (v3.2a or lower), or 2-layer nested terminal setup (tmux -> Neovim's
:terminal
-> Yazi). - Fixed a bug in the Überzug++ backend where certain image dimension parsing failed, preventing images from displaying.
- Fixed a build failure for Android 32-bit architectures.
- Fixed an issue with the preset
archive
andjson
plugins not handling CRLF properly on Windows.
What's Changed
- fix: disable passthrough when the user launches Yazi in Neovim inside tmux by @sxyazi in #2014
- refactor: replace
format!
withconcat!
for string literals by @Integral-Tech in #2012 - fix: correctly handle CRLF on Windows in preset
archive
andjson
plugins by @sxyazi in #2017 - fix: failed to parse certain image dimensions for Überzug++ backend by @sxyazi in #2020
- chore: bump version to 0.4.1 by @sxyazi in #2022
Full Changelog: v0.4.0...v0.4.1