Releases: sxyazi/yazi
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
Nightly Build
From commit: 20c99c6
Generated on: 2025-02-26 18:46 UTC
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
v0.4.0
This is the biggest release ever, with 53 new features, 41 fixes, and 12 performance optimizations.
The main focus of this release is improving the plugin system, and we’ve made some adjustments to certain APIs based on real-world usage to better support future extensibility. This release is a key step in moving the plugin system from BETA to stable!
This is a breaking change release, so please make sure to read: Migrating to Yazi v0.4.0
Spotter
#1802 introduces the concept of "spotter". When you "spot" a file, a popup will show up with metadata about that file.
For example, it can display the mime type and size of a regular file, the dimensions and color space of an image, the duration and resolution of a video, or the line count of a code file, etc.
You can easily copy this info with a simple keystroke or quickly swipe through files in the spot window.
What's even cooler is that users can set custom spotters for different file types, and plugin developers can use Lua APIs to build various spotters, just like with previewers!
output.mp4
Support for Transparent Image Preview
Transparent image previews are now supported in #1556 (Thanks to @diegodorado), and it works across all 4 image backends Yazi supports (kitty graphics-protocol, Inline images protocol, Sixel graphics format, Überzug++).
Auto Switch Between Dark and Light Icons/Flavors Based on Terminal Background
#1946 adds dark/light mode support — Yazi will automatically detect your terminal's color scheme and choose the appropriate icon color and flavor.
In theme.toml
, the [flavor]
section now includes two new attributes, dark
and light
, to allow setting different flavors for light and dark modes:
# theme.toml
[flavor]
dark = "dracula"
light = "one-light"
New ya emit
and ya emit-to
Subcommands to Emit Commands to a Specific Instance
Two new subcommands, ya emit
and ya emit-to
, have been added to the ya
CLI tool in #1946.
They allow you to send commands from outside Yazi (e.g., from your shell) to run on a specific Yazi instance for better interactivity.
The new ya emit
subcommand allows users to send a command to the current Yazi instance. The format is:
ya emit <command> <args>
For example:
ya emit cd /tmp
ya emit reveal /tmp/foo
Just like you would write them in your keymap.toml
file! You can also send commands to a specific remote instance using ya emit-to
:
ya emit-to <receiver> <command> <args>
For example:
ya emit-to "$YAZI_ID" cd /tmp
Support Passing Arguments to Previewer/Preloader/Spotter/Fetcher
With #1979, you can now pass arguments to previewers, preloaders, spotters, and fetchers when configuring them:
# yazi.toml
[plugin]
prepend_previewers = [
{ mime = "image/*", run = 'my-plugin test --foo --bar=baz' }
]
prepend_preloaders = [
{ mime = "image/*", run = 'my-plugin test --foo --bar=baz' }
]
prepend_spotters = [
{ mime = "image/*", run = 'my-plugin test --foo --bar=baz' }
]
prepend_fetchers = [
{ id = "test", mime = "image/*", run = 'my-plugin test --foo --bar=baz' }
]
This makes them much more flexible, meaning the same plugin can behave differently based on different arguments, tailored to the user's preferences!
Suggest Keywords in the Header When a Finder Is Active
A new keyword indicator has been added to the header, in #1847, letting users know the current finding state with real-time feedback:
screenshot-002086.mp4
Allow Disabling Certain Preset Keybinds with the New noop
Virtual Command
A new noop
command has been introduced in #1882:
[[manager.prepend_keymap]]
on = [ "g", "c" ]
run = "noop"
This allows users to disable specific default keybindings, and the disabled keys won’t appear in the "which key" component or the help menu.
Make the Built-in extract
Plugin Support Compressed Tarballs (*.tar.gz
, *.tar.bz2
, etc.)
The built-in extract plugin now has experimental support for extracting compressed tarballs, making it more convenient for users who frequently work with .tar
files.
Thanks to @DirkFi for his excellent work on #1583
Prioritize Paths That Need to Be Processed First During Bulk Renaming
The bulk renaming feature now has smart conflict resolution, done in #1801 (thanks to @yw1ee).
For example, if you’re renaming a list of files:
1
2
3
And renaming them to:
1 -> 2
2 -> 3
3 -> 4
Previously, Yazi would stop with an error when trying to rename 1 -> 2
because 2
already exists.
Now, it will intelligently pick files that won’t conflict and process them in order, so in this case, it will rename them like this:
3 -> 4
2 -> 3
1 -> 2
Fallback to CSI 16 t
for Terminals That Don’t Support TIOCGWINSZ
All terminals on Windows (MS Terminal, WezTerm for Windows) do not support TIOCGWINSZ
because Windows doesn't have ioctl
.
Some terminals based on node-pty
also don't support it (like Tabby, VSCode, Hyper, etc.).
#2004 falls back to CSI 16 t
when TIOCGWINSZ
is unavailable to provide better image size calculation for previews.
screenshot-002175.mp4
Launch From Preset Settings If the User’s Config Cannot Be Parsed
Now, if Yazi can’t parse your config file because of invalid values, it will ask if you want to launch with the default settings instead of failing to start.
This improves the user experience. Done in #1832
Other improvements
These are a few of my favorite features. For a complete list of improvements in Yazi 0.4, check out the full changelog below.
What's Changed
- fix: match icon by extension case-insensitive by @sxyazi in #1614
- refactor: privatize
url
of theFile
by @sxyazi in #1619 - perf: introduce URN to speed up large directory file sorting by @sxyazi in #1622
- fix: set
allow-passthrough
always toall
instead ofon
to prevent overriding a user setting with a higher priorityall
by @sxyazi in #1626 - fix: set a dedicated
Mimetype
agency to reconcile regular files and search results by @sxyazi in #1627 - feat: make the builtin
extract
plugin support compressed tarballs (*.tar.gz
,*.tar.bz2
, etc.) by @DirkFi in #1583 - feat: support transparent image preview by @diegodorado in #1556
- perf: avoid unnecessary allocations in base64 encoding of IIP by @sxyazi in #1639
- perf: introduce URN to speed up large directory locating by @sxyazi in #1648
- feat: support setting different input titles for
create --dir
by @Tyarel8 in #1650 - perf: introduce URN to speed up large directory file updates by @sxyazi in #1652
- refactor: ensure that each
Url
contains the full location information by @sxyazi in #1659 - feat: support calling methods in builtin plugins with arbitrary types of arguments (
self
can now be omitted) by @sxyazi in #1666 - feat: add the
area()
API for renderable elements by @sxyazi in #1667 - fix: one file's mime-type changed multiple times without triggering a preview again by @sxyazi in #1682
- fix:
enter
andleave
commands should treat the search results as regular entities by @sxyazi in #1687 - fix:
magick
previewer for multi-layered image files with-flatten
argument by @v3natio in #1684 - feat: improve jemalloc memory efficiency by @dm9pZCAq in #1689
- feat: adapt for image preview in the Rio terminal by @raphamorim in #1690
- fix: increase the revision when there is a change in
Urn
on updating by @sxyazi in #1691 - feat: allow overriding and rewriting the sync methods of builtin plugins by @sxyazi in #1695
- feat: add more context to error messages by @sxyazi in #1701
- fix: replace control characters to printable characters in plain text preview by @sxyazi in #1704
- feat: async micro task initialization error handling by @sxyazi in #1710
- feat!: make
backspace
command not close the input even when value is empty by @XYenon in #1680 - feat: reuse the
code
previewer seeking behavior forjson
,archive
, andempty
by @sxyazi in #1721 - fix: temporarily disable TIFF decoding by @sxyazi in...
v0.3.3
This version fixes a regression from the previous release that caused some keys to stop working. And it resolves a long-standing issue where the file list couldn't refresh automatically in Windows WSL.
This version also introduces the following three new features:
Git integration
Show the status of Git file changes as a linemode in the file list.
Feel free to use it and report any issues! For now, you need to manually install it (pretty easy to do) from https://github.com/yazi-rs/plugins/tree/main/git.yazi. In the future, it will be included as one of Yazi's built-in plugins.
screenshot-001986.mp4
size
linemode supports displaying the number of files in a directory
#1591 updates the size
linemode for directories to support displaying the number of files within the directory instead of leaving it blank as before.
If size information is available for the directory (triggered when sorting by size), that information will be shown as a priority.
screenshot-001992.mp4
Windows Terminal support for image previews
Windows Terminal Preview v1.22.2362.0 now supports the Sixel image format. Yazi provided an adaptation for this in #1588 (Thanks @e82eric).
Note that Windows Terminal Preview v1.22.2362.0 has a bug that can cause Yazi to time out at startup. If you want to try this feature, make sure to apply the patch from microsoft/terminal#17833.
output.mp4
What's Changed
- fix: keybindings disappear when mixing presets with a wrong filter condition by @sxyazi in #1568
- fix: check compositor support status before using ueberzug wayland output by @taoky in #1566
- fix: fallback to
PollWatcher
on WSL by @sxyazi in #1574 - fix: continuous fetcher was not scheduled consecutively by @sxyazi in #1575
- fix:
Rail
component should have a higher rendering priority by @sxyazi in #1585 - perf: truncate long lists in confirm dialogs by @sxyazi in #1590
- feat:
size
linemode supports showing the file count for directories by @sxyazi in #1591 - feat: support image preview in Windows Terminal by @e82eric in #1588
- chore: upgrade
ratatui
to 0.28.1 by @sxyazi in #1601 - feat: add
is_absolute
,has_root
,starts_with
,ends_with
,strip_prefix
toUrl
Userdata by @sxyazi in #1605 - feat: add
dict_merge()
function by @sxyazi in #1609
New Contributors
Full Changelog: v0.3.2...v0.3.3
v0.3.2
This version introduces two eagerly awaited new features: a brand-new confirm
component, and word wrapping.
Brand-new confirm
component
#1167 (thanks to @thelamb) introduces a brand-new confirm
component that handles various confirmations (like trashing files, deleting files, overwriting files, and exit confirmations). The goal is to provide a safer and more efficient user experience:
- Safer: Now, when you trash, delete, or overwrite files, it'll show a list of affected files for a second confirmation, instead of just the number of files like before.
- More efficient: Confirmation now only requires pressing
Enter
once, instead of typing"y"
and then pressingEnter
. This should be a nice quality-of-life improvement.
screenshot-001973.mp4
Word wrapping
#1159 (thanks to @mskvsk and @ArtyomArtamonov) adds a new wrap
option under [preview]
, which can be set to "no"
or "yes"
. When set to "yes"
, word wrapping is enabled:
# ~/.config/yazi/yazi.toml
[preview]
wrap = "yes"
Image preview performance optimization
I've been working on optimizing Yazi's image preview speed, and with multi-threading, preloading, and a built-in image decoder, it should already be the fastest among all terminal file managers.
However, I noticed some lag during fast scrolling and realized that at this point, the performance bottleneck isn't Yazi itself, but rather the terminal. When users scroll quickly, Yazi processes the images at a very high speed and sends them to the terminal, but the terminal can't keep up with processing them in time, which gives the impression of lag. In reality, it's not Yazi that's lagging, but the terminal.
#1512 introduces a new image_delay
configuration option to address this issue. When previewing images, it will wait at least image_delay
milliseconds before starting to send the decoded image data to the terminal.
This gives the terminal a breather and creates the perception that the file list is still scrolling smoothly. Additionally, this can reduce the CPU overhead caused by immediate image decoding during fast scrolling, thereby extending battery life.
Before:
358916490-8cf40a08-95b5-44fd-a16b-a1efb70b25f6.mp4
Now:
358916499-b5dde838-b700-4fa3-97be-543abff0f4ab.mp4
New --dir
option for the create
command
The create
command is designed to support creating both files and directories (with /
or \
at the end to indicate a directory).
However, this isn't user-friendly for those who need to create many directories but few files, as they always have to type /
or \
.
#1505 (thanks to @abstrakct) introduces a new --dir
option that explicitly specifies creating directories without needing to type /
or \
every time.
What's Changed
- fix: overlong single-line text containing escape sequences was not being properly escaped by @sxyazi in #1497
- fix: upgrade
ansi-to-tui
to5.0.0-rc.1
to resolveratatui
version conflict by @sxyazi in #1499 - feat: add
--dir
option tocreate
command by @abstrakct in #1505 - feat: add
ext()
method toUrl
userdata by @sxyazi in #1528 - feat: new
confirm
component by @thelamb in #1167 - chore: set
MACOSX_DEPLOYMENT_TARGE
to 10.11 to make the binary compatible with old macOS by @hronro in #1532 - fix: use a different cache directory for each user to avoid permission issues by @sxyazi in #1541
- fix: wait till mimetype is resolved to avoid flickering by @sxyazi in #1542
- docs: add links to all terminal emulators by @nyurik in #1538
- feat: make the builtin
code
previewer handle invalid carriage return chars and binary streams better by @sxyazi in #1550 - perf: only scan the first 1024 bytes to detect if it's binary, apply
\r
fixes only to content within the visible range, avoid unnecessary allocations during natural sorting by @sxyazi in #1551 - feat: word wrapping in builtin code preview by @ArtyomArtamonov in #1159
- fix: filter out the
which
candidates that overlap with longer key chords by @sxyazi in #1562 - fix:
DECSET
andDECRQM
tmux passthrough by @sxyazi in #1564
New Contributors
- @abstrakct made their first contribution in #1505
- @hronro made their first contribution in #1532
- @nyurik made their first contribution in #1538
- @ArtyomArtamonov made their first contribution in #1159
Full Changelog: v0.3.1...v0.3.2
v0.3.1
This is a quick patch release that addresses several issues introduced in version 0.3.
Additionally, here are some notable new features included in this version:
- A loading state indicator has been added for slow directories (usually network-mounted points).
- Support for opening multiple tabs at startup:
yazi /dir1 /dir2/file
will open two tabs, one in/dir1
and another in/dir2
, withfile
selected. - Allows the use of shorthand for keybindings, such as writing
<C-X>
instead of<C-S-x>
. - A new
--cursor
option has been added to theshell
command to specify the cursor position. For example,shell 'zip -r .zip "$0"' --cursor=7
places the cursor before.zip
. - A new previewer has been added for previewing virtual files in the
/proc
directory. - Support for
F13
-F19
keys. - A nightly build that uses the latest Yazi source code from the past 6 hours, and a new
yazi-nightly-bin
AUR package for Arch Linux users (Thanks @latipun7)
What's Changed
- fix: android building error caused by
trash
crate by @Xerxes-2 in #1393 - feat: add filtering tip in help component by @MarkZaytsev in #1361
- feat: add
title_format
manager config option by @chriszarate in #1281 - chore: move common dependencies to workspace Cargo.toml by @karimElmougi in #1388
- fix: precache for images with alpha by @Vikdos in #1414
- fix: preview files containing special
\x1b
characters as plain text and escape by @Xerxes-2 in #1395 - feat: add support portrait orientation preview for EXIF image by @TobisLee in #1412
- chore: update snap to core24 by @gapplef in #1415
- feat: new
search_do
command to make it easier to achieve a flat view by @sxyazi in #1431 - fix: newly created directories with the same name causing a false positive in directory loading optimization due to having the same modification time by @sxyazi in #1434
- refactor(nix): home keeping by @isabelroses in #1380
- fix(nix): pin
rust-overlay
to workaroundcargo-c
by @isabelroses in #1442 - fix: directory loading status by @sxyazi in #1439
- feat: support
F13
-F19
keys by @sxyazi in #1446 - feat: allows shorthand forms like
<C-S-x>
as<C-X>
by @sxyazi in #1448 - feat: add
cursor
option to theshell
command by @HE7086 in #1422 - fix: 7zip shows different error messages for wrong password by @sxyazi in #1451
- refactor(nix)!: update dependencies by @XYenon in #1456
- fix: loss of order in Lua sequence table for inter-thread data exchange by @sxyazi in #1457
- feat: start with multiple tabs with different paths by @coolkiid in #1443
- fix: close stdin before waiting for child process by @sxyazi in #1464
- fix: DDS static messages only work when at least two instances are running by @sxyazi in #1467
- feat: add
status()
method toCommand
by @sxyazi in #1473 - feat: new
empty
previewer for empty and/proc
files by @sxyazi in #1482 - feat: add
hidden
file type tois
rule by @sxyazi in #1483 - fix: replace
#
with:
to resolve the problem where certain shells recognize it as a special character by @sxyazi in #1490 - feat: new
tab
DDS event on tab switch by @mikavilpas in #1474 - feat: add keybinding for the
hardlink
command by @ahanniga in #1461
New Contributors
- @MarkZaytsev made their first contribution in #1361
- @karimElmougi made their first contribution in #1388
- @Vikdos made their first contribution in #1414
- @isabelroses made their first contribution in #1380
- @coolkiid made their first contribution in #1443
- @ahanniga made their first contribution in #1461
Full Changelog: v0.3.0...v0.3.1