Skip to content

Releases: sxyazi/yazi

Nightly Build

07 Aug 00:43
2044654
Compare
Choose a tag to compare
Nightly Build Pre-release
Pre-release

From commit: 2044654
Generated on: 2025-06-03 16:20 UTC

v25.5.31

30 May 17:04
b65a880
Compare
Choose a tag to compare

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

28 May 14:02
5cb6e1f
Compare
Choose a tag to compare

Breaking Changes

  • [manager] is deprecated in favor of the new [mgr]. #2803
  • tab_width has been removed as it no longer needs to be set manually. #2745
  • tab_active and tab_inactive are moved under the new [tabs] section. #2745
  • sixel_fraction has been removed as it's no longer needed. #2707

Deprecated

  • ya.mgr_emit(), ya.app_emit() and ya.input_emit() are deprecated. #2653
  • ya.preview_widgets() is deprecated. #2706
  • Command:args() is deprecated. #2752
  • The ya pack subcommand is deprecated. #2770
  • LEFT, CENTER, RIGHT on ui.Line, ui.Text are deprecated. #2802
  • NONE, TOP, RIGHT, BOTTOM, LEFT, ALL on ui.Bar, ui.Border are deprecated. #2802
  • WRAP_NO, WRAP, WRAP_TRIM on ui.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.

screenshot-002418

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's image_alloc and image_bound settings, to limit its maximum resource usage, #2602, thanks to @ze0987
  • The video previewer will respect the user's max_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 and watch by @sxyazi in #2655
  • feat: new --no-dummy option for reveal 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 to 30 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 and ya emit subcommands to verify receiver exists and has necessary abilities by @sxyazi in #2696
  • feat: add s and S 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 new yazi-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 ...
Read more

v25.4.8

08 Apr 12:37
99ea3b7
Compare
Choose a tag to compare

Breaking Changes

  • Supported wraparound navigation and enabled it by default. #2485
  • Replaced tasks_show and close_input with tasks:show and input:close. #2530
  • frag, name, stem, ext, and parent on Url, name on tab::Tab, and is_hovered on fs::File are now properties. #2572
  • Swapped the default key bindings for z (zoxide) and Z (fzf). #2546
  • Used the new @sync peek annotation instead of the previewer's sync = true. #2487

Deprecated

  • ui.Padding and ui.Rect:padding() are deprecated. #2574

Packaging

  • SVG preview backend switched from ImageMagick to resvg and implemented as a new svg 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 and arrow 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 the Url 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 and close_input commands by @sxyazi in #2530
  • perf!: faster image preview with optimized magick arguments by @ze0987 in #2533
  • feat!: support arrow prev and arrow 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

02 Mar 13:56
46125ed
Compare
Choose a tag to compare

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 for Win32_Storage_FileSystem and Win32_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

26 Feb 15:16
6b0a530
Compare
Choose a tag to compare

Breaking Changes

  • separator_open and separator_close have been replaced with the new sep_left and sep_right. #2313
  • The [completion] component has been renamed to [cmp]. #2399

Deprecated

  • MANAGER, PREVIEW, PLUGIN, and THEME have been deprecated in favor of the new rt and th. #2389
  • ya.manager_emit() has been deprecated in favor of the new ya.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:

status-sep-explain

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 and removable fields in the fs.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 and libc versions to support NetBSD by @sxyazi in #2388
  • feat: new rt and th allow to access user configuration and theme scheme in sync/async plugins consistently by @sxyazi in #2389
  • feat: new tbl_col and tbl_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 to rt by @sxyazi in #2393
  • feat: expose mode field in Cha by @sxyazi in #2394
  • refactor: rename rt.manager to rt.mgr, and th.manager to th.mgr by @sxyazi in #2397
  • feat!: allow to specify layer for keymap commands by @sxyazi in #2399

New Contributors

Full Changelog: v25.2.11...v25.2.26

v25.2.11

11 Feb 11:34
ce9092e
Compare
Choose a tag to compare

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" }

411906568-4ab46d09-9f2c-489b-85f3-83f264ecd9cc

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

07 Feb 09:54
17ff1e8
Compare
Choose a tag to compare

Deprecated

  • ya.md5() has been deprecated in favor of the new ya.hash(), in #2168
  • The plugin entry file init.lua has been deprecated in favor of the new main.lua, in #2168
  • arrow -99999999 and arrow 99999999 have been deprecated in favor of the new arrow top and arrow bot, in #2294
  • The --args option in the plugin 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 WORD
  • E: Move forward to the end of the current or next WORD
  • B: 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

20 Dec 12:44
5cfcab3
Compare
Choose a tag to compare

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 directory
    • fs.create() - create a directory (Thanks to @hankertrix)

What's Changed

  • fix: interactive cd autocomplete doesn't follow the latest CWD 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 to on to prevent tmux from forwarding the real terminal's response to the inactive pane by @sxyazi in #2052
  • fix: pass through show_hidden when building default Files by @sxyazi in #2057
  • fix: use a less intrusive DSR instead of DA1 workaround to forward terminal responses twice in tmux by @sxyazi in #2058
  • feat: new --cwd parameter for the shell command and fs.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

10 Dec 12:35
2275719
Compare
Choose a tag to compare

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 and json 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! with concat! for string literals by @Integral-Tech in #2012
  • fix: correctly handle CRLF on Windows in preset archive and json 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