Skip to content

v0.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Jan 17:00
· 222 commits to main since this release
cb80ca8

This version has added support for custom previewers and custom preloaders, as well as completed most of the work on the concurrent plugin system.

In addition, it includes many performance optimizations, such as rewriting the entire file system, refactoring the entire UI rendering architecture, enhancing the task scheduling system, and implementing partial rendering for frequently updated components.

This version also introduces many meaningful new features, such as path auto-completion, real-time file filtering, Kitty Unicode placeholders protocol support. Read the changelog below for details.

This is a breaking change version, please refer to our upgrade guide: Migrating to Yazi v0.2.0

What's Changed

  • refactor(nix): add shell completion and avoid impure by @XYenon in #293
  • refactor: publish to crates.io by @sxyazi in #298
  • feat: add a new Folder:icon() API to make it easier for users to extend icons by @sxyazi in #301
  • feat: add config support for coordinate and size adjustment for ueberzugpp image preview by @15cm in #304
  • fix: clear Sixel image with empty characters instead of \x2B[K to be compatible with GNOME VTE by @linsui in #309
  • fix: nix flakes by @sxyazi in #306
  • fix: change the rust tool chain in shell.nix from stable to nightly by @15cm in #314
  • feat: support image preview on WSL by @sxyazi in #315
  • fix: use WAYLAND_DISPLAY and DISPLAY to detect Wayland/X11 when XDG_SESSION_TYPE is not set by @sxyazi in #312
  • fix: channel blockage caused by fuse permissions under the root user by @sxyazi in #321
  • fix: jq previews empty when the user sets tab_size=8 by @sxyazi in #320
  • chore: add .vscode and .idea to .gitignore by @XOR-op in #322
  • feat: add an identifier before the extension to prevent file conflicts rather than after by @rick-yao in #316
  • ci: add Rust target "aarch64-unknown-linux-gnu" to release workflow by @nifr in #326
  • feat: add overlays to flake.nix by @musjj in #218
  • docs: update readme links to website by @uncenter in #332
  • feat: use USERPROFILE to retrieve readable path on Windows by @sravioli in #331
  • feat: auto-completion for input component by @XOR-op in #324
  • perf: fallback to plain highlighter for long text by @sxyazi in #329
  • fix: the parent does not hover properly on switching the hidden state by @sxyazi in #339
  • feat: better Zellij support with multi-factor detection involving emulator types by @sxyazi in #336
  • fix: precache n-1 and n+1 pages by @Hanaasagi in #349
  • feat: new reveal command by @sxyazi in #341
  • refactor: extracting commands into separate files to make them easier to maintain by @sxyazi in #338
  • feat: make width of completion relative to input by @XOR-op in #353
  • feat: raise open file descriptors limit at startup by @sxyazi in #342
  • fix: prefix matching should have higher priority in completion by @XOR-op in #352
  • feat: display the number of deleted files in the prompt by @sxyazi in #359
  • fix: Rust panics instead of returning an error when file times are invalid by @sxyazi in #357
  • feat: add support for opening a file on startup by @sxyazi in #358
  • feat: new kitty graphics protocol implementation for better compatibility with tmux through Unicode placeholders by @sxyazi in #365
  • perf: precache small images to avoid cache misses; use symlink_metadata instead of metadata by @sxyazi in #367
  • refactor: use more reasonable numeric field types for configs by @sxyazi in #368
  • perf: clear only limited cells when hiding images by @sxyazi in #369
  • perf: reduce peak memory footprint during decoding large images by @sxyazi in #375
  • feat: make Input and Select positions customizable by @Hanaasagi in #361
  • feat: expose image max alloc and bound to allow for more control by @sxyazi in #376
  • feat: add more optimization options by @Walker-00 in #377
  • fix: directories are recreated after deletion did not update the watcher tracking properly by @sxyazi in #381
  • feat: make emacs readline keybindings configurable by @sxyazi in #382
  • feat: cursor and page key navigation parity with Vim bindings by @flexiondotorg in #386
  • feat: add more mime-types, file extensions and icons to the preset theme by @flexiondotorg in #387
  • feat: include commit hash in yazi --version by @Hanaasagi in #393
  • fix: popup components (Input, Select, etc.) being covered by previewed images by @sxyazi in #360
  • fix: stepwise renaming causes uncertain sorting order by @sxyazi in #398
  • refactor: move event to shared by @sxyazi in #403
  • feat: support sorting by file extension by @JYShaw in #405
  • refactor: integrate tasks into scheduler by @sxyazi in #406
  • fix: catchup with the latest stable Rust by @XYenon in #409
  • fix: build with rust-overlay by @XYenon in #410
  • fix: crashes when selection indicator exceeds the visible area while a wrong folder_offset specified by @sxyazi in #416
  • feat: new config option to suppress pre-caching tasks by @againstpetra in #430
  • fix: do not use LuaJIT in riscv64 and loongarch64 architecture by @eatradish in #439
  • feat: copy content over SSH by @sxyazi in #447
  • feat!: custom preloader & previewer by @sxyazi in #401
  • feat: filter files in real-time by @Rolv-Apneseth in #454
  • fix: panic caused by set_hook by @sxyazi in #459
  • feat: fine-grained scheduling priority by @sxyazi in #462
  • fix: add --follow option to paste command by @eatradish in #436
  • feat: support ANSI themes by @smores56 in #460
  • perf: new UI rendering architecture by @sxyazi in #468
  • fix: resize isn't triggered on app restoring by @sxyazi in #483
  • feat: image orientation support by @sxyazi in #488
  • refactor: quit command by @aserowy in #484
  • feat: icon color and ordered icon rules support by @sxyazi in #503
  • fix: prevent recursive caching - don't cache files in the cache directory by @sxyazi in #504
  • chore: add schema urls to preset config by @uncenter in #506
  • fix: update paged files after filter done by @sxyazi in #505
  • feat: add support for highlighting by file type by @Akmadan23 in #510
  • perf: partial rendering progress and composite into a complete UI to reduce CPU consumption caused by frequent progress updates by @sxyazi in #509
  • feat: add --empty and --cursor options to the rename command by @Akmadan23 in #513
  • feat: add YAZI_LEVEL env variable for shells by @isti115 in #514

New Contributors

Full Changelog: v0.1.5...v0.2.0