* 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)
OBS-URL: https://build.opensuse.org/package/show/utilities/yazi?expand=0&rev=43
- Add ImageMagick as a suggested dependency
- Add chafa as a suggested dependency
- 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)
OBS-URL: https://build.opensuse.org/package/show/utilities/yazi?expand=0&rev=31