Log message:
sysutils/yazi: update to 25.2.26
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.
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
|
Log message:
sysutils/yazi: update to 25.2.11
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
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
v25.2.7
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. 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.
- 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.
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.
You can also apply a UI element to the title and content to customize the appearance.
|
Log message:
sysutils/yazi: update to 0.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!
* 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.
* 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.
* Support Passing Arguments to Previewer/Preloader/Spotter/Fetcher
With #1979, you can now pass arguments to previewers, preloaders, spotters, and \
fetchers when configuring them.
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.
* Allow Disabling Certain Preset Keybinds with the New noop Virtual Command
A new noop command has been introduced in #1882
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).
* 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.
* 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 the File by @sxyazi in #1619
perf: introduce URN to speed up large directory file sorting by @sxyazi in #1622
fix: set allow-passthrough always to all instead of on to prevent overriding \
a user setting with a higher priority all 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 and leave 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 for json, archive, and empty \
by @sxyazi in #1721
fix: temporarily disable TIFF decoding by @sxyazi in #1723
refactor: turn RectRef, PaddingRef, PositionRef into Rect, Padding, Position \
by @sxyazi in #1730
refactor: use Kgp instead of Kitty since "Kitty" is a terminal \
emulator not a protocol name by @sxyazi in #1732
fix: compositors not supported by Überzug Wayland layer, or WSL not with \
WezTerm should fallback to Chafa by @sxyazi in #1735
fix: clamp when seeking a non-zero unit between -1 and 1 by @sxyazi in #1736
fix: upserting operation should handle deleting in edge cases where the \
source and target URNs are different by @sxyazi in #1737
refactor: derive the Into<Opt> trait with procedural macros to avoid \
bloat by @sxyazi in #1742
perf: merge multiple file operations into one to greatly speed up updates in \
large directories by @sxyazi in #1745
fix!: introduce a new btime term to align ctime with Unix by @sxyazi in #1761
feat: yazi --debug supports detecting whether tmux is built with \
--enable-sixel by @sxyazi in #1762
refactor: simplify module exports by @sxyazi in #1770
refactor!: rename the term select to toggle to reserve select for future use \
by @sxyazi in #1773
feat!: add ui.Text, ui.Table, remove ui.Paragraph and ui.ListItem by @sxyazi \
in #1776
feat!: decouple ui.List, ui.Bar, ui.Border, and ui.Gauge from coordinates by \
@sxyazi in #1782
feat: prevent paths from being treated as options in file command by @gaesa \
in #1783
refactor: replace Metadata with Cha in the file scheduler to improve \
interoperability with yazi-fs by @sxyazi in #1785
feat: append the suffix to the end when generating unique filenames for \
directories, i.e., after not before the extension by @Saru2003 in #1784
fix: images were not cleared when closing a tab in front of the current tab \
by @sxyazi in #1792
feat: add a compatibility layer for ui.Paragraph to help users transition \
more smoothly to the new ui.Text by @sxyazi in #1794
refactor: remove migration code as it's no longer needed and causes errors \
by @sxyazi in #1795
feat: custom styles for the confirm component by @GrzegorzKozub in #1789
perf: apply rotate in place to images with orientation by @sxyazi in #1807
feat: add ICC profile to images for better color accuracy by @sxyazi in #1808
fix: use std copy function in a blocking thread by @sxyazi in #1817
feat: allow customizing Zoxide's FZF options with YAZI_ZOXIDE_OPTS by \
@sxyazi in #1822
fix: use a unique Id for each tab by @sxyazi in #1826
feat: launch from preset settings if the user's config cannot be parsed by \
@sxyazi in #1832
fix: reset image rendering and skip peeking if the TUI in the background by \
@sxyazi in #1833
refactor: add tests for Pattern::match_path by @sxyazi in #1837
perf: eliminate all memory reallocations during sorting by @sxyazi in #1846
feat: suggest keywords in the header if a finder is active by @sxyazi in #1847
fix: copy the CWD path regardless even if the directory is empty by @sxyazi \
in #1849
perf: introduce reflow for the rendering engine by @sxyazi in #1863
fix: wrong file list offset squeeze when scrolloff = 0 by @aidancz in #1866
refactor: use for loop to generate completions file by @Integral-Tech in #1869
fix: use complete rendering instead of partial rendering for no task \
progress report by @sxyazi in #1876
refactor: destructure tuples to enhance readability by @Integral-Tech in #1874
feat: new copy --separator option to allow specifying the path separator by \
@alan910127 in #1877
feat: allow disabling certain preset keybinds with the new noop virtual \
command by @sxyazi in #1882
feat: include package revision hash in ya pack --list by @yudai0804 in #1884
feat: add a new tab parameter for all tab-specific commands to specify which \
one by @sxyazi in #1885
feat: support searching with the alias fdfind if fd cannot be found by \
@Integral-Tech in #1889
feat!: deprecate --sync option for the plugin command by @sxyazi in #1891
perf: lazy load ui, ya, fs, and ps by @sxyazi in #1903
chore: add CODE_OF_CONDUCT.md by @Perfectio07 in #1911
feat: spotter by @sxyazi in #1802
feat: noop for spotters by @boydaihungst in #1924
fix: show "0/0" instead of "1/0" in empty directories by \
@Integral-Tech in #1925
fix!: eliminate the x- prefix in mime-types by @sxyazi in #1927
refactor: make error messages more user-friendly by @Integral-Tech in #1935
refactor: remove unnecessary UI element construction by @sxyazi in #1938
feat!: use an Error userdata instead of a plain error code for I/O errors by \
@sxyazi in #1939
feat: new log system by @sxyazi in #1945
perf: introduce copy-on-write for event system to eliminate all memory \
reallocations by @sxyazi in #1962
feat: true custom mime fetcher support - using user rules even during open \
or in watcher by @sxyazi in #1976
feat: support assets installation for the ya pack subcommand by @zooeywm in #1973
feat: new ya emit and ya emit-to subcommands to emit commands to a specified \
instance for execution by @sxyazi in #1979
feat: new load DDS event by @sxyazi in #1980
feat!: remove the meaningless --confirm option to simplify the shell command \
by @sxyazi in #1982
feat: move notification from top-right to bottom-right corner to avoid \
covering content as much as possible by @sxyazi in #1984
fix: propagate and update the directory node till its first parent when the \
files of a directory change by @sxyazi in #1987
fix: missing a repeek on unyanking files in the hovered folder by @sxyazi in \
#1988
fix: revise revision if the new file list is empty but the previous one was \
not by @sxyazi in #2003
feat: fallback to CSI 16 t for certain terminals that do not support \
TIOCGWINSZ by @sxyazi in #2004
docs: add README for default configuration files by @sxyazi in #2005
fix: respect PREVIEW.image_quality for the default PDF previewer by @gaesa \
in #2006
fix: introduce own CWD instead of chdir to avoid potential race conditions \
by @sxyazi in #2008
fix: backspace --under didn't map UTF-8 character code points to byte \
indices by @sxyazi in #2010
chore: bump version to 0.4.0 by @sxyazi in #2011
|