File yazi.changes of Package yazi

-------------------------------------------------------------------
Sat Jun 07 12:04:41 UTC 2025 - Sai Karthik Karra <kskarthik@disroot.org>

- Update to version 25.5.31:
  * chore: bump version to 25.5.31 (#2815)
  * fix: make every effort to carry hidden states for dummy files (#2814)
  * fix: `forward --end-of-word` of the input should consider the mode's delta (#2811)
  * fix: expose `ui.Wrap` (#2810)
  * chore: bump version to 25.5.28 (#2804)
  * refactor!: deprecate `[manager]` in favor of `[mgr]` (#2803)
  * feat: new `ui.Align`, `ui.Wrap`, and `ui.Edge` (#2802)
  * fix: update `rust-onig` to v6.5.1 for GCC 15 compatibility (#2794)
  * refactor: use raw identifiers (#2783)
  * feat: make custom tab bar easier (#2782)
  * feat: add a `/` to the interactive cd auto-completion candidates (#2777)
  * feat: truncate long paths in archive preview file list (#2778)
  * feat: new `ya pkg` subcommand (#2770)
  * fix: always try to create state directory before draining DDS data (#2769)
  * chore: bump Rust version to 1.86.0 (#2766)
  * feat: improve path auto-completion results (#2765)
  * perf: remove intermediate variables in natural sorting algorithm to avoid unnecessary allocation (#2764)
  * feat: show file extension for truncated file list items (#2759)
  * fix: icon rules mixing (#2755)
  * feat: truncate long items in the file list (#2754)
  * perf: avoid unnecessary memory allocation in `ya.truncate()` (#2753)
  * refactor: deprecate the `Command:args()` method (#2752)
  * feat!: redesign tabs (#2745)
  * feat: make `ui.Line` renderable (#2743)
  * fix: `windows-sys` missing a `Win32_Security` feature (#2728)
  * fix: avoid tmux interfering with kitty graphical sequences (#2734)
  * fix: detach background and orphan processes from the controlling terminal with `setsid()` (#2723)
  * feat: increase the granularity of `back`/`forward` history navigation to make its behavior more sensible (#2720)
  * fix: missing a `hover` event after `cd` (#2719)
  * docs: add icon contribution guide
  * feat: add `--hovered` to the `copy` command (#2709)
  * fix: `ya pub-to 0` checks if any peer is able to receive the message (#2697)
  * fix: reset the cursor position with `arrow()` after deleting files (#2708)
  * feat!: 9x faster Sixel image preview (#2707)
  * feat: show error when image preview fails (#2706)
  * refactor: move `tty` to the new `yazi-term` crate (#2701)
  * fix: no title is set when starts the first time (#2700)
  * feat: add `s` and `S` keybinds in the input component (#2678)
  * feat: checks in `ya pub` and `ya emit` subcommands to verify receiver exists and has necessary abilities (#2696)
  * feat: calculate real-time directory size in spotter (#2695)
  * feat: promote `Id` to a first-class type (#2692)
  * feat: new `fs.calc_size()` API (#2691)
  * perf: double directory size calculation speed (#2683)
  * feat: increase the maximum allowed value of `sixel_fraction` to `30` (#2682)
  * feat: obscure input component for inputting passwords (#2675)
  * feat: new `--no-dummy` option for `reveal` command (#2664)
  * feat: make the hover state for `reveal`, `sort`, and `hidden` commands stable (#2657)
  * feat: fine-grained `peek` and `watch` (#2655)
  * feat: new `ya.emit()` API (#2653)
  * refactor: switch to Rust 2024 edition (#2645)
  * fix: lazily update files to avoid triggering issues dependent on sort order (#2643)
  * feat: support embedded cover for video preview (#2640)
  * ci: musl build should include commit hash
  * feat: fall back to `CSI 16 t` when PowerShell OpenSSH returns a fake terminal size (#2636)
  * feat: copy-on-write support for field caching (#2629)
  * fix: do not change revision when package deployment fails (#2627)
  * fix: ensure state synchronization even when the package update fails midway (#2613)
  * feat: allow custom exit code with `quit --code` (#2609)
  * fix: respect the user's `max_width` setting for the built-in video previewer (#2560)
  * feat: limit memory usage for previewing large images (#2602)
  * fix: reverse the mixing order of theme and flavor configuration (#2594)

-------------------------------------------------------------------
Wed Apr 09 09:38:58 UTC 2025 - kskarthik@disroot.org

- Update to version 25.4.8:
  * fix: don't fail on videos with embedded images (#2590)
  * chore: bump version to 25.4.8
  * feat: new `ui.Text:scroll()` API for setting text to scroll horizontally or vertically (#2589)
  * fix: ignore XQuartz `$DISPLAY` variable (#2586)
  * feat!: switch to `resvg` as the SVG renderer (#2581)
  * feat: allow initializing input when opening it with commands like `rename`, `create`, `find`, `filter`, etc. (#2578)
  * refactor: deprecate `ui.Padding` and `ui.Rect:padding()` (#2574)
  * perf!: cache UserData fields (#2572)
  * feat: support Warp terminal image preview (#2571)
  * fix: remove `-density` option from `magick` command in SVG previewer (#2564)
  * feat!: enhance `fzf` integration (#2553)
  * fix: always check whether the cursor exceeds the upper bound to guard against unexpected values (#2551)
  * feat: new `follow` command to follow files pointed to by symlinks (#2543)
  * feat: clear terminal before displaying EXIF data (#2541)
  * feat!: support `arrow prev` and `arrow next` for more components (#2540)
  * perf!: faster image preview with optimized `magick` arguments (#2533)
  * refactor!: remove unnecessary `tasks_show` and `close_input` commands (#2530)
  * feat: allow bulk renaming to include trailing content in addition to the required new names (#2494)
  * feat: show error message when directory fails to load (#2527)
  * feat: platform-specific key binding (#2526)
  * feat: new `symlink_target` to style the target of symbolic links (#2522)
  * feat: allow repositioning the cursor in the `rename` DDS event (#2521)
  * perf: rewrite config parser to double the startup speed (#2508)
  * feat: new `ya.id("app")` to get `YAZI_ID` in plugins (#2503)
  * refactor: new `yazi-widgets` crate (#2498)
  * feat: new `base` field for the `Url` userdata (#2492)
  * perf: lazy compile and cache lua plugins as binary bytecode (#2490)
  * feat!: new `@sync peek` annotation for sync previewers (#2487)
  * feat: file navigation wraparound with new `arrow prev` and `arrow next` commands (#2485)
  * feat: new `fs.expand_url` API (#2476)
  * fix: force ANSI for keyboard progressive enhancement on Windows (#2474)
  * fix: respect hidden status of directory junctions and symlinks themselves on Windows (#2471)
  * ci: add label only if not removed manually (#2470)
  * refactor: prefer `WriteConsoleW` for Windows console output (#2464)
  * fix: set terminal code page to UTF-8 on Windows
  * feat: support using Yazi in Helix directly without Zellij or tmux (#2461)
  * fix: remove the temporary extraction directory forcefully (#2458)
  * feat: allow `tab_swap` to cycle tabs (#2456)
  * feat: custom search engine Lua API (#2452)
  * fix: always show the size in the status bar even in empty directories (#2449)
  * feat: log `tmux` call execution time to logs (#2444)
  * feat: new `rt.term` exports terminal emulator information (#2442)
  * fix: reserve a hack for Zellij to force an image adapter (#2441)
  * feat: new `<C-A>` and `<C-E>` keybindings to select entire line for the input component (#2439)
  * ci: add snap publishing workflow (#2435)
  * fix: `windows-sys` features for `Win32_Security` and `Win32_System_IO` (#2434)
  * fix: align the behavior of the end-of-options marker (`--`) with that of the shell (#2431)

-------------------------------------------------------------------
Fri Mar 14 18:32:37 UTC 2025 - kskarthik@disroot.org

- Update to version 25.3.2:
  * chore: bump version to 25.3.2 (#2428)
  * feat: expose almost the entirety of the user's configuration in Lua (#2413)
  * fix: `STDIN_FILENO` poll always returns 0 under SSH (#2427)
  * fix: ignore stdin redirection to ensure always accessing the real tty (#2425)
  * ci: support 8-character short hash in `validate-form` workflow
  * fix: incorrect deprecation warning when the plugin doesn't exist (#2418)
  * fix: `windows-sys` features for `Win32_Storage_FileSystem` and `Win32_System_Threading` (#2417)
  * refactor: use `MaybeUninit` in `RoCell` (#2412)
  * feat: expose all theme fields in Lua (#2405)
  * chore: bump version to 25.2.26 (#2404)
  * fix: respect the user's `image_alloc` setting for the built-in ImageMagick previewer (#2403)
  * feat: allow to specify layer for keymap commands (#2399)
  * refactor: rename `rt.manager` to `rt.mgr`, and `th.manager` to `th.mgr` (#2397)
  * feat: expose `mode` field in `Cha` (#2394)
  * refactor: rename `cf` to `rt` (#2393)
  * feat: new `cf.args` to access startup arguments (#2392)
  * feat: add ripgrep-all support for search (#2383)
  * feat: new `tbl_col` and `tbl_cell` in theme system for spotter table styling (#2391)
  * feat: new `cf` and `th` allow to access user configuration and theme scheme in sync/async plugins consistently (#2389)
  * feat: bump `trash` and `libc` versions to support NetBSD (#2388)
  * feat: make incompatible version message more clear (#2377)
  * ci: validate form
  * fix: didn't reset previous `Cha` when loading directories in chunks (#2366)
  * feat: add a link to the debugging instructions in `yazi --debug` (#2365)
  * fix: add maximum preview limit under `/proc` virtual file system (#2355)
  * fix: incorrect kebab-case for the notify level enum (#2349)
  * feat: terminal response detection under async stdin (#2347)
  * feat: new `external` and `removable` fields in the `fs.partitions()` API (#2343)
  * refactor: consistent naming for enum variants (#2339)
  * feat: respect the user's `wrap` setting for the built-in JSON previewer (#2337)
  * feat: respect the user's `max_width` setting for the built-in PDF preloader (#2331)
  * feat: CSI-based Vim and Neovim built-in terminal detection for better accuracy (#2327)
  * fix: load mount points with the best effort even if the `/dev/disk/by-label` directory does not exist (#2326)
  * feat!: allow different separators to be applied individually to the left and right sides of the status bar (#2313)

-------------------------------------------------------------------
Wed Feb 12 10:23:42 UTC 2025 - kskarthik@disroot.org

- Update to version 25.2.11:
  * chore: bump version to 25.2.11 (#2323)
  * feat: new `overall` option under `[status]` to allow specifying the overall style of the status bar (#2321)
  * fix: unable to delete sealed files on Windows due to platform differences (#2319)
  * feat: reduce terminal response wait timeout (#2314)
  * fix: reverse the order of CSI-based and environment-based terminal detection (#2310)

-------------------------------------------------------------------
Fri Feb 07 18:36:11 UTC 2025 - kskarthik@disroot.org

- Update to version 25.2.7:
  * chore: bump version to 25.2.7 (#2301)
  * feat: use positional argument instead of `--args` for the `plugin` command (#2299)
  * feat: support end of options (`--`) marker for all commands (#2298)
  * docs: update Windows Terminal image preview support to Stable (#2296)
  * feat: new `arrow top` and `arrow bot` commands to jump to the top and bottom (#2294)
  * feat: switch to Calendar Versioning (#2291)
  * feat: new `@since` plugin annotation to specify the minimum supported Yazi version (#2290)
  * fix: enable unwinding on Windows release builds (#2286)
  * docs: Warp sponsorship (#2282)
  * fix: correct shell quotes for Unicode on Windows (#2285)
  * fix: squeeze the parent directory offset after terminal size change (#2275)
  * docs: add Bobcat to the list of VTEs with images preview support (#2269)
  * feat: `ya pack` supports adding and deleting multiple packages at the same time (#2257)
  * feat: allow preloaders to return an optional `Error` to describe the failure (#2253)
  * feat: new `cx.layer` API to determine the current UI layer (#2247)
  * feat: support `package.toml` as a symlink (#2245)
  * fix: ensure the selected file list is always ordered (#2244)
  * feat: wrap long task descriptions (#2243)
  * fix: JSON value `null` should be deserialized as Lua `nil`, not lightweight userdata `null` (#2242)
  * feat: apply natural sort to partitions on both Linux and macOS (#2235)
  * fix: use `u32` for parsing Linux partition blocks (#2234)
  * fix: unmangle the hexadecimal space strings (`"\x20"`) in Linux partition labels (#2233)
  * feat: support local `tmux` image preview over SSH (#2229)
  * fix: ignore completions artifacts (#2226)
  * fix: sync block execution failed due to `Runtime` mutably borrowed more than once (#2225)
  * perf: detach the watch registration from the main thread (#2224)
  * ci(snap): correct arm64 runner OS (#2217)
  * feat: more complete hovered file cursor tracking (#2218)
  * fix(nix): rust overlay infinite recursion (#2216)
  * ci: use GitHub Linux arm64 runners for the snap build (#2214)
  * feat: mount manager (#2199)
  * feat: channel and multi-concurrent task join support for the plugin system (#2210)
  * feat: custom modal component API (#2205)
  * feat: arm64 Snap package (#2188)
  * fix: wrong description of the `swipe` command (#2197)
  * feat: new `ya pack -d` subcommand to delete packages (#2181)
  * feat: new `--no-cwd-file` option for the `close` command (#2185)
  * fix: incorrect monorepo sub-plugin path resolution (#2186)
  * feat: allow `YAZI_LOG` to control the log level of Überzug++ (#2183)
  * docs: correct the `cargo test` command in the contribution guide (#2182)
  * feat: replace mode and Vim motions (`W`, `E`, `B`, `^`, `_`) for inputs (#2143)
  * feat: more decent package locking mechanism (#2168)
  * feat: support `application/mbox` mimetype (#2173)
  * feat: sort search results by full URN (#2164)
  * fix: typo in the argument documentation for the CLI (#2158)
  * feat: support and hide Windows system files by default (#2149)
  * fix: correct Vec capacity allocation caused by variable name shadowing (#2139)
  * fix: `before_ext` should exclude directories since only files have extensions (#2132)
  * fix: handle broken pipe errors gracefully (#2110)
  * feat: prompt users without `fzf` for the `zoxide` plugin (#2122)
  * fix: don't check if has a hovered file in advance, only do so when `--hovered` is explicitly specified (#2105)
  * docs: update the links in the README (#2103)
  * fix: add Alacritty to the database as a terminal that doesn't support any image protocol (#2107)
  * fix: reversed style shouldn't be applied to the entire text block
  * ci: add new linux targets (#2099)
  * feat: new `ya.confirm()` API (#2095)
  * fix: element style of `ui.Text` was not applied to the entire area (#2093)
  * feat: add `cbr` and `cbz` as valid archive extensions (#2077)
  * feat: theme support for the spotter border and title (#2002)
  * chore: bump version to 0.4.3

-------------------------------------------------------------------
Tue Jan 28 16:56:28 UTC 2025 - kskarthik@disroot.org

- Update to version 0.4.2:
  * remove the 0001-use-system-jit.patch as it is no longer relevant with new version
  * fix: missing a hover after reordering from an external plugin (#2072)
  * feat: new `fs.create()` Lua API (#2068)
  * feat: add more supported archive formats to the preset config (#1926)
  * fix: missing a render after resuming from an external blocking process (#2071)
  * ci: add riscv64gc-unknown-linux-gnu target (#2067)
  * feat: allow `noop` for single-key chords by removing the mixing length limit (#2064)
  * feat: new `--cwd` parameter for the `shell` command and `fs.cwd()` API (#2060)
  * fix: use a less intrusive `DSR` instead of `DA1` workaround to forward terminal responses twice in tmux (#2058)
  * fix: pass through `show_hidden` when building default `Files` (#2057)
  * fix: `allow-passthrough` must be set to `on` to prevent `tmux` from forwarding the real terminal's response to the inactive pane (#2052)
  * fix: set the current working directory in a thread-safe way (#2043)
  * feat: support for Android platform in the `for` qualifier of opener (#2041)
  * fix: choose a more conservative `macro_workers` value to ensure concurrency safety with certain USB flash drives (#2040)
  * chore: bump version to 0.4.2 (#2031)
  * fix: offset cursor shift when deleting multiple files in bulk (#2030)
  * feat: new option to suppress 0.4 deprecation warnings (#2027)
  * fix: interactive `cd` autocomplete doesn't follow the latest `CWD` changes (#2025)
  * chore: bump version to 0.4.1 (#2022)
  * fix: failed to parse certain image dimensions for Überzug++ backend (#2020)
  * fix: correctly handle CRLF on Windows in preset `archive` and `json` plugins (#2017)
  * refactor: replace `format!` with `concat!` for string literals (#2012)
  * fix: disable passthrough when the user launches Yazi in Neovim inside tmux (#2014)
  * chore: bump version to 0.4.0 (#2011)
  * fix: avoid upscaling for the video previewer (#2007)
  * fix: `backspace --under` didn't map UTF-8 character code points to byte indices (#2010)
  * fix: introduce own `CWD` instead of `chdir` to avoid potential race conditions (#2008)
  * fix: respect `PREVIEW.image_quality` for the default PDF previewer (#2006)
  * docs: add README for default configuration files (#2005)
  * feat: fallback to `CSI 16 t` for certain terminals that do not support `TIOCGWINSZ` (#2004)
  * fix: revise `revision` if the new file list is empty but the previous one was not (#2003)
  * fix!: remove the `vnd.` prefix from mimetype to solve differences introduced in the newest version of `file(1)` 5.46 (#1995)
  * fix: missing a repeek on unyanking files in the hovered folder (#1988)
  * fix: propagate and update the directory node till its first parent when the files of a directory change (#1987)
  * feat: move notification from top-right to bottom-right corner to avoid covering content as much as possible (#1984)
  * feat!: remove the meaningless `--confirm` option to simplify the `shell` command (#1982)
  * feat: new `load` DDS event (#1980)
  * feat: new `ya emit` and `ya emit-to` subcommands to emit commands to a specified instance for execution (#1979)
  * feat: support `assets` installation for the `ya pack` subcommand (#1973)
  * feat: true custom `mime` fetcher support - using user rules even during open or in watcher (#1976)
  * feat!: support passing arguments to previewer/preloader/spotter/fetcher (#1966)
  * perf: introduce copy-on-write for event system to eliminate all memory reallocations (#1962)
  * feat!: extend the available styles for `mode` by separating `mode` from the `separator` styles (#1953)
  * fix: make `cd` expand variables regardless
  * feat!: auto switch between dark and light icons/flavors based on terminal backgrounds (#1946)
  * feat: new log system (#1945)
  * feat!: use an `Error` userdata instead of a plain error code for I/O errors (#1939)
  * refactor: remove unnecessary UI element construction (#1938)
  * fix: ignore cancellation in C functions
  * refactor: make error messages more user-friendly (#1935)
  * feat!: video spotter & using `ffmpeg` instead of `ffmpegthumbnailer` as previewer backend (#1928)
  * fix!: eliminate the `x-` prefix in mime-types (#1927)
  * fix: show "0/0" instead of "1/0" in empty directories (#1925)
  * feat: `noop` for spotters (#1924)
  * feat: spotter (#1802)
  * chore: add `CODE_OF_CONDUCT.md` (#1911)
  * fix: implement `FromLua` for `Cha` instead of `AnyUserData`
  * perf: lazy load `ui`, `ya`, `fs`, and `ps` (#1903)
  * fix: register and ignore the `SIGINT` signal explicitly
  * feat: add additional environment and dependency info in `yazi --debug` (#1896)
  * refactor: upgrade to `mlua` v0.10.0 (#1842)
  * feat!: deprecate `--sync` option for the `plugin` command (#1891)
  * feat: support searching with the alias `fdfind` if `fd` cannot be found (#1889)
  * feat: disable the `rayon` feature for `image` since Yazi already uses multithreading
  * feat: add a new `tab` parameter for all tab-specific commands to specify which one (#1885)
  * feat: include package revision hash in `ya pack --list` (#1884)
  * feat: new `copy --separator` option to allow specifying the path separator (#1877)
  * feat: allow disabling certain preset keybinds with the new `noop` virtual command (#1882)
  * refactor: destructure tuples to enhance readability (#1874)
  * fix: use complete rendering instead of partial rendering for no task progress report (#1876)
  * refactor: use for loop to generate completions file (#1869)
  * fix: wrong file list offset squeeze when `scrolloff = 0` (#1866)
  * perf: introduce reflow for the rendering engine (#1863)
  * feat: prioritize paths that need to be processed first during bulk renaming (#1801)
  * fix: copy the CWD path regardless even if the directory is empty (#1849)
  * feat: suggest keywords in the header if a finder is active (#1847)
  * perf: eliminate all memory reallocations during sorting (#1846)
  * perf: using `usize` instead of `*const OsStr` reduces memory usage (#1839)
  * refactor: add tests for `Pattern::match_path` (#1837)
  * fix: reset image rendering and skip peeking if the TUI in the background (#1833)
  * feat: launch from preset settings if the user's config cannot be parsed (#1832)
  * chore: add discussion template
  * fix: use a unique `Id` for each tab (#1826)
  * feat: allow customizing Zoxide's FZF options with `YAZI_ZOXIDE_OPTS` (#1822)
  * fix: use std copy function in a blocking thread (#1817)
  * feat: support reading non-UTF8 data with `Child:read_line()` API (#1816)
  * feat: add ICC profile to images for better color accuracy (#1808)
  * perf: apply rotate in place to images with orientation (#1807)
  * fix: implement the file copy process for Linux and Android separately (#1805)
  * feat: custom styles for the `confirm` component (#1789)
  * refactor: remove migration code as it's no longer needed and causes errors (#1795)
  * feat: add a compatibility layer for `ui.Paragraph` to help users transition more smoothly to the new `ui.Text` (#1794)
  * fix: images were not cleared when closing a tab in front of the current tab (#1792)
  * feat: append the suffix to the end when generating unique filenames for directories, i.e., after not before the extension (#1784)
  * refactor: replace `Metadata` with `Cha` in the file scheduler to improve interoperability with `yazi-fs` (#1785)
  * feat: prevent paths from being treated as options in `file` command (#1783)
  * feat!: decouple `ui.List`, `ui.Bar`, `ui.Border`, and `ui.Gauge` from coordinates (#1782)
  * feat!: add `ui.Text`, `ui.Table`, remove `ui.Paragraph` and `ui.ListItem` (#1776)
  * refactor!: rename the term `select` to `toggle` to reserve `select` for future use (#1773)
  * refactor: simplify module exports (#1770)
  * feat: add the plugin name to the deprecated API warning to make it more clear
  * feat: `yazi --debug` supports detecting whether `tmux` is built with `--enable-sixel` (#1762)
  * fix!: introduce a new `btime` term to align `ctime` with Unix (#1761)
  * perf: merge multiple file operations into one to greatly speed up updates in large directories (#1745)
  * refactor: derive the `Into<Opt>` trait with procedural macros to avoid bloat (#1742)
  * fix: upserting operation should handle deleting in edge cases where the source and target URNs are different (#1737)
  * fix: clamp when seeking a non-zero unit between `-1` and `1` (#1736)
  * fix: compositors not supported by Überzug Wayland layer, or WSL not with WezTerm should fallback to Chafa (#1735)
  * refactor: use `Kgp` instead of `Kitty` since "Kitty" is a terminal emulator not a protocol name (#1732)
  * refactor: turn `RectRef`, `PaddingRef`, `PositionRef` into `Rect`, `Padding`, `Position` (#1730)
  * fix: temporarily disable TIFF decoding (#1723)
  * feat: reuse the `code` previewer seeking behavior for `json`, `archive`, and `empty` (#1721)
  * feat!: make `backspace` command not close the input even when value is empty (#1680)
  * feat: async micro task initialization error handling (#1710)
  * fix: replace control characters to printable characters in plain text preview (#1704)
  * feat: switch snap confinement to strict
  * feat: add more context to error messages (#1701)
  * feat: allow overriding and rewriting the sync methods of builtin plugins (#1695)
  * fix: increase the revision when there is a change in `Urn` on updating (#1691)
  * feat: adapt for image preview in the Rio terminal (#1690)
  * feat: improve jemalloc memory efficiency (#1689)
  * fix: `magick` previewer for multi-layered image files with `-flatten` argument (#1684)
  * fix: `enter` and `leave` commands should treat the search results as regular entities (#1687)
  * fix: one file's mime-type changed multiple times without triggering a preview again (#1682)
  * fix: warnings should be output to `stderr` instead of `stdout` (#1669)
  * feat: add the `area()` API for renderable elements (#1667)
  * feat: support calling methods in builtin plugins with arbitrary types of arguments (`self` can now be omitted) (#1666)
  * refactor: ensure that each `Url` contains the full location information (#1659)
  * perf: introduce URN to speed up large directory file updates (#1652)
  * feat: support setting different input titles for `create --dir` (#1650)
  * perf: introduce URN to speed up large directory locating (#1648)
  * perf: avoid unnecessary allocations in base64 encoding of IIP (#1639)
  * feat: support transparent image preview (#1556)
  * feat: make the builtin `extract` plugin support compressed tarballs (`*.tar.gz`, `*.tar.bz2`, etc.) (#1583)
  * feat: add `list_meta()` method to `archive` plugin (#1638)
  * feat: complete and consistent support for the `ui.Style()` API (#1637)
  * fix: set a dedicated `Mimetype` agency to reconcile regular files and search results (#1627)
  * fix: set `allow-passthrough` always to `all` instead of `on` to prevent overriding a user setting with a higher priority `all` (#1626)
  * perf: introduce URN to speed up large directory file sorting (#1622)
  * refactor: privatize `url` of the `File` (#1619)
  * fix: update `rustix` to fix the `enable_raw_mode()` error on WSL/Android
  * fix: match icon by extension case-insensitive (#1614)
  * chore: bump version to 0.3.3
  * feat: add `dict_merge()` function (#1609)
  * feat: add `is_absolute`, `has_root`, `starts_with`, `ends_with`, `strip_prefix` to `Url` Userdata (#1605)
  * chore: upgrade `ratatui` to 0.28.1 (#1601)
  * feat: support image preview in Windows Terminal (#1588)
  * feat: `size` linemode supports showing the file count for directories (#1591)
  * perf: truncate long lists in confirm dialogs (#1590)
  * fix: `Rail` component should have a higher rendering priority (#1585)
  * feat: ensure that `Entity` and `Linemode` have consistent space padding (#1580)
  * fix: continuous fetcher was not scheduled consecutively (#1575)
  * fix: fallback to `PollWatcher` on WSL (#1574)
  * fix: squeeze `offset` of the file list after resizing window (#1500)
  * fix: check compositor support status before using ueberzug wayland output (#1566)
  * fix: keybindings disappear when mixing presets with a wrong filter condition (#1568)
  * chore: bump version to 0.3.2
  * fix: `DECSET` and `DECRQM` tmux passthrough (#1564)
  * fix: filter out the `which` candidates that overlap with longer key chords (#1562)
  * feat: word wrapping in `code` previewer (#1159)
  * 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 (#1551)
  * feat: make the builtin `code` previewer handle invalid carriage return chars and binary streams better (#1550)
  * fix: wrong `debug_assert` in `OrderedFloat` for NaN (#1547)
  * docs: add links to all terminal emulators (#1538)
  * fix: wait till mimetype is resolved to avoid flickering (#1542)
  * fix: use a different cache directory for each user to avoid permission issues (#1541)
  * chore: set `MACOSX_DEPLOYMENT_TARGE` to 10.11 to make the binary compatible with old macOS (#1532)
  * feat: new `confirm` component (#1167)
  * feat: add `ext()` method to `Url` userdata (#1528)
  * feat: add `--dir` option to `create` command (#1505)
  * perf: new `image_delay` option debounces image previews to avoid lag caused by terminal image decoding during fast scrolling (#1512)
  * fix: upgrade `ansi-to-tui` to `5.0.0-rc.1` to resolve `ratatui` version conflict (#1499)
  * fix: overlong single-line text containing escape sequences was not being properly escaped (#1497)
  * chore: bump version to 0.3.1 (#1492)
  * feat: add keybinding for the `hardlink` command (#1461)
  * feat: new `tab` DDS event on tab switch (#1474)
  * fix: replace `#` with `:` to resolve the problem where certain shells recognize it as a special character (#1490)
  * feat: add `hidden` file type to `is` rule (#1483)
  * feat: new `empty` previewer for empty and `/proc` files (#1482)
  * feat: add `status()` method to `Command` (#1473)
  * fix: 7zip shows different error messages for RAR and ZIP files (#1468)
  * fix: DDS static messages only work when at least two instances are running (#1467)
  * fix: close stdin before waiting for child process (#1464)
  * feat: start with multiple tabs with different paths (#1443)
  * refactor: tab locking
  * fix: loss of order in Lua sequence table for inter-thread data exchange (#1457)
  * chore(nix): update dependencies (#1456)
  * fix: 7zip shows different error messages for wrong password (#1451)
  * feat: add `cursor` option to the `shell` command (#1422)
  * feat: allows shorthand forms like `<C-S-x>` as `<C-X>` (#1448)
  * feat: support `F13` - `F19` keys (#1446)
  * fix: directory loading status (#1439)
  * fix(nix): pin `rust-overlay` to workaround `cargo-c` (#1442)
  * refactor(nix): home keeping (#1380)
  * fix: resolve relative path when expanding path (#1428)
  * fix: newly created directories with the same name causing a false positive in directory loading optimization due to having the same modification time (#1434)
  * feat: new `search_do` command to make it easier to achieve a flat view (#1431)
  * feat: switch to kitty unicode placeholders for Ghostty image previewing (#1427)
  * ci: add automatic nightly builds to the Github Actions workflow (#1397)
  * chore: update snap to core24 (#1415)
  * feat: add support portrait orientation preview for EXIF image (#1412)
  * fix: preview files containing special `\x1b` characters as plain text and escape (#1395)
  * fix: precache for images with alpha (#1414)
  * chore: move common dependencies to workspace Cargo.toml (#1388)
  * chore: update issue templates
  * feat: add `title_format` manager config option (#1281)
  * feat: add filtering tip in help component (#1361)
  * fix: android building error caused by `trash` crate (#1393)

-------------------------------------------------------------------
Thu Aug  1 14:08:08 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Add more disk space to allow ppc64le to build
- Disable LTO on 32-bits archs to avoid out of memory

-------------------------------------------------------------------
Thu Aug  1 10:00:14 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Replace unar dependency with 7zip
- Add ImageMagick as a suggested dependency
- Add chafa as a suggested dependency

-------------------------------------------------------------------
Thu Aug 01 08:55:18 UTC 2024 - xtexchooser@duck.com

- Update to version 0.3.0:
  * chore: bump version to 0.3 (#1374)
  * refactor(nix): cleanup and switch to `nixfmt-rfc-style` (#1376)
  * feat(nix): set `VERGEN_*` build env vars (#1375)
  * fix(nix): add `outputHashes` for `notify` git dependency (#1373)
  * feat: new `extract` builtin plugin for archive extracting (#1321)
  * fix: adapt to a wider range of terminal cursor management through DECSET and DECRQM requests again
  * fix: can't rewatch a directory that has been deleted once before (#1335)
  * fix: adapt to a wider range of terminal cursor management through `DECSET` and `DECRQM` requests (#1346)
  * fix: help menu multi-line text rendering (#1347)
  * feat: make `F1` also show the help menu (#1336)
  * fix: wrong directory loading optimization condition (#1331)
  * feat: add support for `%@` argument extension on Windows to align with Unix platforms (#1319)
  * feat: add Winget publishes to CI/CD (#1299)
  * refactor: fix Clippy warnings (#1312)
  * fix: add `use-dev-tty` to fix piping to Yazi on macOS (#1317)
  * fix: destroy term before stopping signals (#1310)
  * refactor: reimplement the signal system (#1307)
  * feat: allow setting `YAZI_ID` as a command line argument (#1305)
  * feat: help users migrate shell key bindings to v0.3 (#1304)
  * feat: add `children_add` and `children_remove` methods to the `Header` component as well (#1297)
  * feat: add `ctime` linemode (#1295)
  * feat: support displaying files with inaccessible metadata (#1275)
  * feat: add `random` option to the `sort` command (#1291)
  * feat: make UI extensions easier (#1257)
  * feat: new command `hardlink` (#1268)
  * feat: add `nlink` property to the `Cha` plugin API (#1279)
  * fix: build `jemalloc` with 64KB pagesize for `linux/arm64` (#1270)
  * feat: ownership linemode (#1238)
  * feat: support AVIF image preview (#1249)
  * feat: simplify keybindings (#1241)
  * feat: support right-click to open files (#1232)
  * feat: add `--hovered` option to the `rename` and `remove` commands (#1227)
  * perf!: reimplement and significantly speed up archive previewing (#1220)
  * fix: `magick` plugin not working properly (#1213)
  * fix: ueberzug image adapter should respect the user's `max_width` and `max_height` settings (#1200)
  * fix: suppress warnings for different name representations of the same file in the case-insensitive file system when renaming (#1185)
  * feat: support `x-ndjson` mime-type for JSON files (#1190)
  * fix: accommodate all `hover` events for DDS (#1187)
  * feat!: include the `sender` ID in static messages (#1172)
  * feat: include file filter state in the header (#1182)
  * fix: file watcher didn't handle realname resolution used for case-insensitive file systems correctly (#1179)
  * feat: keep file creation time on macOS and Windows (#1169)
  * feat: expose `Finder` API to Lua
  * refactor: prefer `FromStr` over `Default` for configuration parsing with side effects
  * feat: support `ya sub` subcommand for the Ya CLI (#1004)
  * fix: different filenames should be treated as the same file on case-insensitive file systems (#1151)
  * refactor: rename crate `yazi-adaptor` to `yazi-adapter`
  * feat: support completely disabling mouse with `mouse_events=[]`; add new `cursor_blink` to control cursor style of input components (#1139)
  * fix: block `SIGINT` signal from the spawned subprocess (#1131)
  * fix: disable error reporting for the kitty graphics protocol
  * fix: use kitty old protocol for Konsole
  * feat: add some dependency version information to `yazi --debug` (#1112)
  * feat: support mouse event (#1038)
  * feat!: DDS client-server version check (#1111)
  * feat: add `pack --list` subcommand to Ya CLI (#1110)
  * refactor!: v0.3 API changes (#1108)
  * refactor: rename the domain term `prefetcher` to `fetcher`
  * fix: `match_mime()` should return true if pattern is "*"
  * feat: support case insensitive special keys in keymappings (#1082)
  * fix: Sixel support from certain `st` forks cannot be detected (#1094)
  * feat!: transliteration option for natural sorting (#1053)
  * feat!: redesign icons (#1086)
  * feat: `cd` path auto-completion supports `~` expansion (#1081)
  * fix: glob pattern for zip files
  * fix: remove the default keybinding for going to the temporary directory (#1073)
  * feat: support Super/Command/Windows key notation `D-` (#1069)
  * fix: cursor gets out of sync occasionally at image previewing through IIP under tmux (#1070)
  * fix: inconsistent tab width in unassociated text files (#1068)
  * feat: Chafa integration (#1066)
  * fix: ePUB file mime-type matching for the opener rule (#1063)
  * feat: prefetcher (#1061)
  * feat: add a `next` property to the preloader rules to allow running multiple preloaders (#1058)
  * docs: add `CONTRIBUTING.md` (#1052)
  * feat: SVG, HEIC, and JPEG XL preview support (#1050)
  * feat: font preview (#1048)
  * fix: remove `ignore` options from `rg` and `fd` search (#1043)
  * feat: use `Ctrl-c` instead of `Ctrl-q` as the universal close key for all components (#1047)
  * refactor: eliminate `exec` (#1045)
  * ci: fix cargo unit tests execution (#1041)
  * ci: consistently enforce Lua coding style (#1029)
  * feat: support `stdin` and pipe for `Child` API (#1033)
  * fix: recognize `TERM=rxvt-unicode-256color` (#1027)
  * feat: add new `debounce` option to `ya.input()` API (#1025)
  * fix: broaden file watcher event types to accommodate permission changes on certain platforms (#1024)
  * fix: correct wasm target condition (#1018)
  * feat: new `--args` parameter for `fd` an `rg` search (#1013)
  * feat: `ya pack` displays help if no arguments are given (#1012)
  * feat: package manager (#985)
  * feat: add git commit hash to `ya --version` (#1006)
  * feat: `yazi --debug` shows `ya` version in its output (#1005)
  * feat: support `cargo binstall yazi-fm` and `cargo binstall yazi-cli` (#1003)
  * fix: notification title width does not include the width of the icon (#1000)
  * feat: close confirmation prompts and exit automatically when the ongoing task gone (#997)
  * feat: add `--force-window` option to mpv (#998)
  * fix: temporarily disable the file creation time until Rust v1.78.0 becomes popular (#991)
  * feat: re-enable the file `created` attribute (#987)
  * feat: add `ya.clipboard()` Lua API (#980)
  * feat: add more rules to `[filetype]` and `[icon]` (#966)
  * feat: detect terminal type in tmux with CSI sequence in passthrough mode (#977)
  * fix: avoiding duplicate candidates in the `which` component (#975)
  * fix: improve accessibility by avoiding hex color code for white (#968)
  * feat: add `*.opus` file icon (#967)
  * fix: move the DDS socket file out of the cache directory to avoid being affected by `yazi --clear-cache`
  * fix: correct the glob pattern for the icons to fit the new matching algorithm (#959)
  * feat: support previewing files containing non-UTF-8 characters (#958)
  * fix: always create XDG cache directory even if user has set a custom one (#956)
  * feat: add new `bulk` event kind to DDS (#937)
  * feat: support expanding Windows paths like "D:" that only have a drive letter but no root (#948)
  * feat: allow building with the system Lua (#943)
  * feat: support `yazi-cli` for Nix flake (#944)

-------------------------------------------------------------------
Fri Apr 26 11:22:00 UTC 2024 - xtexchooser@duck.com

- Update to version 0.2.5:
  * chore: bump version to 0.2.5
  * feat: new builtin `session.lua` plugin (#940)
  * feat: split `ya send` into `ya pub` and `ya pub-static` to make it more ergonomic (#933)
  * perf: cache each file's icon to avoid redundant calculations at rendering (#931)
  * feat: preserve files' modified at timestamp while copying (#926)
  * fix: prevent pasting a directory into itself (#925)
  * feat: change status bar percent at 100 to Bot (#930)
  * fix: always persist static messages even when there are no remote clients (#928)
  * feat: expand the types supported by the event system (#923)
  * fix: rollback ratatui to v0.26.1 to avoid panicking (#922)
  * feat: allow opening interactively with the `--chosen-file` flag (#920)
  * feat: generate autocomplete script for `ya` command (#919)
  * feat: allow creating a tab with the startup directory when the `tab_create` command is called without specifying a `path` parameter (#917)
  * feat: add a new `ya send` command to allow standalone client processes to communicate with DDS from the command line (#913)
  * feat: smart case completion in `cd` paths (#910)
  * feat: trigger path completion with both `/` and `\` on Windows (#909)
  * perf: switch to `globset` to reduce CPU time spent on matching icons (#908)
  * feat: default "Reveal" opener for Linux (#907)
  * feat: add loading state to directories (#904)
  * feat: when there are no files in the list, add a placeholder message (#900)
  * feat: add `YAZI_ID` environment variable (#895)
  * feat: add new `move`, `trash`, and `delete` event kinds to DDS (#880)
  * fix: file list expansion arguments (`$@`, `$*`) of shell command under opener rules are out of order (#890)
  * feat: add new `--orphan` option to the `shell` command (#887)
  * feat: re-implement `fzf` as a built-in plugin (#884)
  * feat: re-implement `zoxide` as a built-in plugin (#881)
  * fix: CJK text rendering issue where the input popup component overlaps with images (#879)
  * perf: re-implement file watcher in an async way (#877)
  * feat: add `is_exec` and `is_sticky` to `Cha` bindings (#875)
  * feat: merge the `sender` and `severity` in the DDS payload into the same field to simplify the protocol (#871)
  * fix: a race condition in DDS static messages sent as internal events (#868)
  * feat: detect CSI u through `Stderr` to allow using `Stdout` as the carrier of DDS payload without an ANSI sequence response timeout (#867)
  * feat: the `cd` event in DDS will now also be triggered when the tab is first created (#861)
  * fix: wrong `state` pointed to and ignore plugin/flavor directory creation errors
  * feat: add a new `sender` property to the DDS payload (#855)
  * feat: readable toml parsing error (#854)
  * fix: do not default to passing `self` to `setup` to respect user invocation behavior
  * perf: port `require()` and `ya.sync()` to Rust to avoid plugin information initialization process (#853)
  * feat: DDS (Data Distribution Service) (#826)
  * perf: add `BufWriter` to `Stderr` to avoid frequent system calls and increase rendering frame rate (#849)
  * fix: Windows `cmd.exe` not responding to correct CSI sequences due to ConPTY (#845)
  * feat: add support for `YAZI_FILE_ONE` to the built-in `file` previewer (#846)
  * feat: time-based selection order preservation (#843)
  * fix: mime-type for xz archives (#841)
  * perf: accelerate kitty graphics protocol encoding by avoiding string reallocation (#837)
  * feat: enhance the `ya.dbg()` and `ya.err()` debugging functions (#835)
  * fix: disable ANSI colours for the `tracing_subscriber` so that the logs are not polluted with escape codes (#832)
  * fix: adjust calculation for number of lines in a notification message (#828)
  * feat: add a bunch of new debugging information to `yazi --debug` (#824)
  * fix: kill all spawned processes when exiting Yazi (#812)
  * feat: fix all dependencies to specific version numbers to allow non-`--locked` builds (#821)
  * refactor: switch to `stderr` (#819)
  * fix: respond to the `SIGTERM` signal even when Yazi is in the background and has passed control of the terminal to the spawned process (#797)
  * fix: wrong type in iterator binding
  * refactor: wrap `Opener` with `Cow` to avoid unnecessary memory reallocations when opening files (#805)
  * fix: use `BTreeSet` for selected files to maintain order (#799)

-------------------------------------------------------------------
Sat Mar 30 23:12:22 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Fix ripgrep depends

-------------------------------------------------------------------
Sat Mar 30 08:06:11 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Lock dependencies from being updated when packaging
  Updating deps when vendoring causes build errors

-------------------------------------------------------------------
Sat Mar 23 12:01:07 UTC 2024 - xtexchooser@duck.com

- Update to version 0.2.4:
  * feat: add `--debug` flag to print debug information (#794)
  * feat: `ya.hide()` plugin API (#792)
  * feat: truncate path for deeply nested directories (#787)
  * fix: track the latest file changes for the `selected`, `yanked` state when available (#791)
  * feat: `cx.yanked` plugin API (#788)
  * feat: send a foreground notification to the user when the process fails to run (#775)
  * feat: add `<C-p>` and `<C-n>` to the select component for moving the cursor up/down (#779)
  * feat: test new color system
  * feat: `ui.Clear` component for UI plugins (#786)
  * feat: `ya.notify()` plugin API (#780)
  * feat: add `parse` method to `Line` element
  * feat: add `Ctrl-[` as an escape key (#763)
  * refactor: add new `run` property (#773)
  * fix: nested conflict detection exception when performing cross-level searches (#769)
  * feat: add musl linux build targets (#759)
  * fix: remove redundant check to allow operations on the `shell` command with an empty file list
  * feat: `ya.input()` plugin API (#762)
  * feat: support `%0` as the hovered file for Windows (#761)
  * perf: apply `add_many()`/`remove_many()` to the visual mode items for selection conflict detecting (#758)
  * feat: allow both '/' and '\' in folder creation (#751)
  * feat: support `YAZI_FILE_ONE` environment variable for `file(1)` path (#752)
  * feat: add `prepend_rules` and `append_rules` for `[open]` in `yazi.toml` (#754)
  * feat: switch to inline images protocol for VSCode, Tabby, and Hyper
  * feat: add a new `[notify]` section to the `theme.toml` to configure the `notify` component's style (#749)
  * feat: flavor (#753)
  * feat: add hovered as `$0` for shell and opener (#738)
  * ci: add cachix workflow (#740)
  * refactor: prefer `Display` over `ToString` (#734)
  * perf: prefer `raw_get()` and `raw_set()`
  * feat: support `is` rule for `[icon]` (#720)
  * fix: initialize logs right after configurations (#708)
  * refactor: new `yazi-boot` crate (#728)
  * feat: add `idx` field to the file API
  * fix: skip when the mime-type cannot match due to file permissions (#725)
  * fix: rendering fails when no file type style is matched (#721)
  * feat: better accessibility (#719)
  * feat: add csharp, kdl and nu icons (#711)
  * perf: cache loaded plugins (#710)
  * fix: ignore further classified mime-types (#707)
  * feat: `state` now accepts a name for the bucket
  * fix: allow running `ya.sync` in a sync plugin call (#702)
  * fix: `any_file` and `any_dir` should check `is_folder`
  * docs: move image preview details to the website
  * feat: cross-directory selection (#693)
  * docs: Yazi must have a duck logo in README (#691)
  * feat: nested selection conflict detection (#689)
  * fix: if block in paste command was wrong
  * refactor: using definite patterns to simplify keybindings (#690)
  * feat: add a new option `--hovered` to the `open` command allowing users to only open the currently hovered file (#687)
  * feat: add icons for Scala, Elm and Java (.jar & .class)
  * feat: add counter component to the header for displaying currently yanked/selected items (#646)
  * feat: add new file marked state (#682)
  * feat: expose selected/yanked files as API (#674)
  * feat: add color to icons (#683)
  * feat: add new `scrolloff` option to `[manager]` (#679)
  * feat: add `prepend_rules` and `append_rules` for `[icon]` (#670)
  * fix: allow access to the current tab via `tabs` for consistency
  * feat: Vim-like notification (#659)
  * refactor: tab-specific selection (#653)
  * feat: enable the ability to sort the which key (#662)
  * ci: add clippy/rustfmt workflow (#663)
  * feat: add `<Delete>` to `[input]` keymap (#665)
  * feat: add `<Home>` and `<End>` to `[input]` keymap
  * feat: calling sync functions within the async plugin (#649)
  * feat: merge wildcard preloader and previewer rules via `append_preloaders` and `append_previewers`
  * fix: initialize `window` in `Folder::make` for folder preview
  * fix: do not use jemalloc on macOS and Windows
  * feat: allows access to complete app data for all tabs (#644)
  * perf: cheaper sync context initialization (#643)

-------------------------------------------------------------------
Wed Feb 07 14:25:50 UTC 2024 - xtexchooser@duck.com

- Update to version 0.2.3:
  * chore: bump version to 0.2.3
  * feat: if input is empty, close it on `backspace` command (#630)
  * feat: add `ya.quote()` function instead of `ya.shell_join()`
  * fix: task manager not re-rendering after progress update (#633)
  * fix: hidden attribute of files on Windows (#632)
  * feat: support char device in filetype (#628)
  * feat: add `ya.shell_join()` API
  * fix: attach plugin `args` to the `entry` method for better future optimization possibilities (#627)
  * feat: `app_emit` and `manager_emit` accepts boolean, integer, and number as option values (#625)
  * fix: image rotation with orientation 4
  * feat: add `plugin` command to each layer
  * feat: plugin interface for key events via `ya.which()` (#617)
  * perf: use lazy sorting when loading large directories to reduce unnecessary CPU consumption (#607)
  * feat: make `trash` crate optional on Android (#600)
  * feat: support `unyank` (#313)
  * refactor: use `Cmd` instead of `Exec` (#604)
  * perf: read directory in bulk in the background at startup (#599)
  * feat: preview image over SSH (#585)
  * feat: plugin-specific state persistence (#590)
  * feat: support passing arguments to plugin (#587)
  * feat: allow to configure image filter (#586)
  * feat: shorten unit names and add more units to `ya.readable_size`
  * fix: parent folder not tracking CWD (#581)
  * feat: new `image_quality` and `sixel_fraction` options to allow users to configure the image preview quality (#576)
  * fix: input offset is not reset when renaming with `--cursor=start` and the filename is too long (#575)
  * feat: customizing the number of columns of "which key" component (#571)

-------------------------------------------------------------------
Fri Feb  2 00:15:25 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Use system lua5.4.
- Use remove tar.zst source, and keep only obscpio source.

-------------------------------------------------------------------
Wed Jan 31 11:02:18 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Package vendored lua for lua 5.4 syntax support.
  LuaJIT only supports up to lua 5.1 syntax.

-------------------------------------------------------------------
Wed Jan 31 09:09:58 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Build shell completions packages

-------------------------------------------------------------------
Wed Jan 31 04:24:38 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Fix rustc SIGSEGV exception

-------------------------------------------------------------------
Wed Jan 31 03:29:18 UTC 2024 - xtexChooser <xtexchooser@duck.com>

- Init package yazi v0.2.2
openSUSE Build Service is sponsored by