v0.4.2

sxyazi/yaziv0.4.2Dec 20, 2024by github-actions[bot]

AI Summary

A patch release fixing CWD update issues, UI refresh bugs, and adding support for new archive formats and two new Lua APIs (`fs.cwd()` and `fs.create()`).

Key Highlights

  • Fixes directory switching not updating CWD
  • Fixes UI refresh when returning from external processes
  • Fixes preview updates after sorting with folder rules
  • Added support for many new archive formats

New Features

  • New `_v4_suppress_deprecation_warnings` option
  • New `fs.cwd()` API
  • New `fs.create()` API
  • Android platform support in opener qualifier
  • New `--cwd` parameter for shell command

Full Release Notes

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](https://yazi-rs.github.io/docs/tips/#folder-rules) tip.

Here are some new features:

- Added support for a large number of new archive formats for extraction, previewing, and filetype highlighting in https://github.com/sxyazi/yazi/pull/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:
  ```toml
  # 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 https://github.com/sxyazi/yazi/pull/2025
* feat: new option to suppress 0.4 deprecation warnings by @sxyazi in https://github.com/sxyazi/yazi/pull/2027
* fix: offset cursor shift when deleting multiple files in bulk by @sxyazi in https://github.com/sxyazi/yazi/pull/2030
* chore: bump version to 0.4.2 by @sxyazi in https://github.com/sxyazi/yazi/pull/2031
* fix: choose a more conservative `macro_workers` value to ensure concurrency safety with certain USB flash drives by @sxyazi in https://github.com/sxyazi/yazi/pull/2040
* feat: support for Android platform in the `for` qualifier of opener by @sxyazi in https://github.com/sxyazi/yazi/pull/2041
* fix: set the current working directory in a thread-safe way by @sxyazi in https://github.com/sxyazi/yazi/pull/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 https://github.com/sxyazi/yazi/pull/2052
* fix: pass through `show_hidden` when building default `Files` by @sxyazi in https://github.com/sxyazi/yazi/pull/2057
* fix: use a less intrusive `DSR` instead of `DA1` workaround to forward terminal responses twice in `tmux` by @sxyazi in https://github.com/sxyazi/yazi/pull/2058
* feat: new `--cwd` parameter for the `shell` command and `fs.cwd()` API by @sxyazi in https://github.com/sxyazi/yazi/pull/2060
* feat: allow `noop` for single-key chords by removing the mixing length limit by @sxyazi in https://github.com/sxyazi/yazi/pull/2064
* ci: add riscv64gc-unknown-linux-gnu target by @Integral-Tech in https://github.com/sxyazi/yazi/pull/2067
* fix: missing a render after resuming from an external blocking process by @sxyazi in https://github.com/sxyazi/yazi/pull/2071
* feat: add more supported archive formats to the preset config by @Integral-Tech in https://github.com/sxyazi/yazi/pull/1926
* feat: new `fs.create()` Lua API by @hankertrix in https://github.com/sxyazi/yazi/pull/2068
* fix: missing a hover after reordering from an external plugin by @sxyazi in https://github.com/sxyazi/yazi/pull/2072


**Full Changelog**: https://github.com/sxyazi/yazi/compare/v0.4.1...v0.4.2