Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable live update of flavor through Lua plugin API #988

Closed
1 task
markmacode opened this issue May 1, 2024 · 9 comments · Fixed by #1946
Closed
1 task

Enable live update of flavor through Lua plugin API #988

markmacode opened this issue May 1, 2024 · 9 comments · Fixed by #1946
Labels
feature New feature request

Comments

@markmacode
Copy link

Please describe the problem you're trying to solve

Currently it appears that I can not make a plugin for Yazi that would allow me to automatically change the flavor that Yazi is using. The only way to change a Yazi flavor is to update the config, then close and re-open Yazi. I would like to make a plugin in the future (or contribute a built-in feature) that can automatically switch between light and dark themes based on the system theme.

Automatically switching between light and dark themes is important for me as I try to view light mode during day time and dark mode at night. There is many eye-care and sleep benefits for this but GitHub this issue isn't the place to expand that 😃

Would you be willing to contribute this feature?

  • Yes, I'll give it a shot

Describe the solution you'd like

A Lua function that could set the flavor of Yazi and update its appearance without needing to close and re-open Yazi (live update).

The name of the function, and the name of top level Lua module (config or theme) is something that I have no strong opinion over. But it would be good to have the field names follow the general configuration file spec: Within our "config", there is a "theme.toml" file where you can set the flavor.use entry, so my suggestion would follow this terminology.

If it has not been explored yet then I would suggest something possibly generic to the config, rather than specific to flavors:

config.apply({ theme.flavor.use = 'theme-name' })

Or if you would rather something specific for updating the theme config -- then maybe we could have something like:

theme.apply({ flavor.use = 'theme-name' })

These approaches seem to be expandable to applying other config values, so this solution wouldn't be specific just to updating flavors only.

Additional context

I understand that this may be something already planned as the config section of the plugin docs is under "TODO" https://yazi-rs.github.io/docs/plugins/config. So there may be a broader discussion needed before deciding on implementing my suggested approach, as you may want to approach applying config changes to Yazi in a different way that my proposed solution wouldn't be compatible with.

@markmacode markmacode added the feature New feature request label May 1, 2024
@sxyazi
Copy link
Owner

sxyazi commented May 3, 2024

I like the idea, but I think it should be a built-in feature provided to users rather than a plugin API.

When Yazi starts up, it should send a CSI sequence request to the terminal for its colors, and based on the response color values, calculate whether the user's terminal is light or dark, and apply the corresponding flavor. Maybe we could have:

[flavor]

light = "atom-one-light"
dark  = "atom-one-dark"

@markmacode
Copy link
Author

I like the idea, but I think it should be a built-in feature provided to users rather than a plugin API.

Well if you are willing to add to the current flavor config spec then I like that idea more.

When Yazi starts up, it should send a CSI sequence request to the terminal for its colors, and based on the response color values, calculate whether the user's terminal is light or dark, and apply the corresponding flavor

My end goal would is swap the colors automatically while Yazi is running. If I swap the terminal colors, could Yazi listen for that event and automatically update its colors to the corresponding light or dark theme?

@sxyazi
Copy link
Owner

sxyazi commented May 3, 2024

If I swap the terminal colors, could Yazi listen for that event and automatically update its colors to the corresponding light or dark theme?

The crossterm crate (which Yazi uses) doesn't support terminal color response events, so it's not possible to detect it at runtime and I can only manually implement it before crossterm initializes during program startup.

I don't think crossterm will support it in the short term; it's currently in a state of lacking maintenance. My PR for detecting terminal size has been pending for a long time without being merged, so I've given up on directly adding it to crossterm...

@markmacode
Copy link
Author

The crossterm crate (which Yazi uses) doesn't support terminal color response events

I understand, that's unfortunate. Is this just the listening for a color change event? Or does crossterm not have the ability to manually update the colors of the interface while the app is running?

If it's just the event: then what I'm imagining is that we could create our own event listener that executes a simple shell command every second to check the system theme (there are various ways to do this in each OS) -- if it changes from the last call then update the colors of Yazi.

So our own make-shift event listener, then call crossterm to change the colors, would this be something that's possible?

@sxyazi
Copy link
Owner

sxyazi commented May 5, 2024

I understand, that's unfortunate. Is this just the listening for a color change event? Or does crossterm not have the ability to manually update the colors of the interface while the app is running?

crossterm does not support parsing OSI 11 responses into its internal events and does not provide the ability to extend it externally. OSI 11 is a sequence for querying terminal colors, and most terminals support it, see https://github.com/Canop/terminal-light/tree/main?tab=readme-ov-file#dynamic-colors-osc-escape-sequence-strategy for details.

then what I'm imagining is that we could create our own event listener that executes a simple shell command every second to check the system theme (there are various ways to do this in each OS)

I don't think it makes sense for the following reasons:

  • Yazi is a CLI program, not a GUI, so it should always respect the terminal environment rather than the operating system/desktop environment.
  • This would require assuming that the user's terminal supports and has enabled "follow system colors," which would make this feature unavailable to users who set colors individually for their terminals, and some older operating systems/desktop environments do not support dark mode.
  • This introduces new cross-platform issues, requiring Yazi to be adapted for at least Windows, macOS, and Linux, with Linux having multiple desktop environments, and I'm not sure if there's a simple and reliable way to implement it.
  • If it's implemented through calling other CLI commands, they would need to be added as dependencies for Yazi, further expanding the dependency list, and different systems/desktop environments require different dependencies, introducing unnecessary hassle for users.

@markmacode
Copy link
Author

I don't think it makes sense for the following reasons:

Yes I have noticed that all TUI's I use don't have a feature to swap themes based on the OS theme. Although some can be extended through plugins which was my original motivation, to enable the ability for such functionality to be implemented as a plugin so that Yazi can keep its hands clean of this messy stuff. I currently have Wezterm, Neovim, and Tmux responding to system theme changes, this is done through plugins or scripting 'hacks'.

So lets ditch the idea that Yazi should natively support syncing a light/dark theme with the OS.

renovate bot referenced this issue in scottames/dots Aug 2, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry)
| patch | `v4.208.0` -> `v4.208.1` |
| [casey/just](https://togithub.com/casey/just) | minor | `1.32.0` ->
`1.33.0` |
| [cli/cli](https://togithub.com/cli/cli) | minor | `v2.53.0` ->
`v2.54.0` |
| [fujiwara/awslim](https://togithub.com/fujiwara/awslim) | patch |
`v0.3.1` -> `v0.3.2` |
| [hashicorp/packer](https://togithub.com/hashicorp/packer) | patch |
`v1.11.1` -> `v1.11.2` |
| [homeport/dyff](https://togithub.com/homeport/dyff) | minor | `v1.8.1`
-> `v1.9.0` |
| [junegunn/fzf](https://togithub.com/junegunn/fzf) | patch | `v0.54.2`
-> `v0.54.3` |
| [nektos/act](https://togithub.com/nektos/act) | patch | `v0.2.64` ->
`v0.2.65` |
| [simulot/immich-go](https://togithub.com/simulot/immich-go) | minor |
`0.20.1` -> `0.21.1` |
| [snyk/cli](https://togithub.com/snyk/cli) | patch | `v1.1292.1` ->
`v1.1292.2` |
| [sxyazi/yazi](https://togithub.com/sxyazi/yazi) | minor | `v0.2.5` ->
`v0.3.0` |
| [weaveworks/eksctl](https://togithub.com/weaveworks/eksctl) | minor |
`v0.187.0` -> `v0.188.0` |
|
[withgraphite/homebrew-tap](https://togithub.com/withgraphite/homebrew-tap)
| patch | `v1.4.1` -> `v1.4.2` |

---

### Release Notes

<details>
<summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary>

###
[`v4.208.1`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.208.1)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.208.0...v4.208.1)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.208.1)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.208.1)
| aquaproj/aqua-registry@v4.208.0...v4.208.1

#### Fixes


[#&#8203;25346](https://togithub.com/aquaproj/aqua-registry/issues/25346)
junegunn/fzf: Follow up changes of fzf v0.54.2 for macOS

https://github.com/junegunn/fzf/releases/tag/v0.54.2

> Updated GoReleaser to 2.1.0 to simplify notarization of macOS binaries
> macOS archives will be in tar.gz format instead of zip format since we
no longer notarize the zip files but binaries

</details>

<details>
<summary>casey/just (casey/just)</summary>

###
[`v1.33.0`](https://togithub.com/casey/just/blob/HEAD/CHANGELOG.md#1330---2024-07-30)

[Compare
Source](https://togithub.com/casey/just/compare/1.32.0...1.33.0)

##### Fixed

- Use correct backtick and `shell()` expression working directory in
submodules ([#&#8203;2285](https://togithub.com/casey/just/pull/2285) by
[casey](https://togithub.com/casey))

##### Added

- Add `working-directory` setting
([#&#8203;2283](https://togithub.com/casey/just/pull/2283) by
[nyurik](https://togithub.com/nyurik))
- Allow `[group]` attribute on submodules
([#&#8203;2263](https://togithub.com/casey/just/pull/2263) by
[jmwoliver](https://togithub.com/jmwoliver))
- Allow empty `[script]` attribute and add `set script-interpreter`
([#&#8203;2264](https://togithub.com/casey/just/pull/2264) by
[casey](https://togithub.com/casey))

##### Misc

- Document which attributes apply to which items
([#&#8203;2282](https://togithub.com/casey/just/pull/2282) by
[casey](https://togithub.com/casey))
- Add missing productions
([#&#8203;2280](https://togithub.com/casey/just/pull/2280) by
[poliorcetics](https://togithub.com/poliorcetics))
- Fix Rust 1.80.0 warnings
([#&#8203;2281](https://togithub.com/casey/just/pull/2281) by
[casey](https://togithub.com/casey))
- Update softprops/action-gh-release
([#&#8203;2269](https://togithub.com/casey/just/pull/2269) by
[app/dependabot](https://togithub.com/app/dependabot))
- Remove `(no group)` header before ungrouped recipes
([#&#8203;2268](https://togithub.com/casey/just/pull/2268) by
[casey](https://togithub.com/casey))
- Document `script-interpreter` setting
([#&#8203;2265](https://togithub.com/casey/just/pull/2265) by
[casey](https://togithub.com/casey))
- `set dotenv-path` does not override `set dotenv-filename`
([#&#8203;2262](https://togithub.com/casey/just/pull/2262) by
[casey](https://togithub.com/casey))

</details>

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.54.0`](https://togithub.com/cli/cli/compare/v2.53.0...v2.54.0)

[Compare Source](https://togithub.com/cli/cli/compare/v2.53.0...v2.54.0)

</details>

<details>
<summary>fujiwara/awslim (fujiwara/awslim)</summary>

###
[`v0.3.2`](https://togithub.com/fujiwara/awslim/blob/HEAD/CHANGELOG.md#v032---2024-08-02)

[Compare
Source](https://togithub.com/fujiwara/awslim/compare/v0.3.1...v0.3.2)

- Update all-services.yaml by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/fujiwara/awslim/pull/40](https://togithub.com/fujiwara/awslim/pull/40)
- Update all-services.yaml by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/fujiwara/awslim/pull/43](https://togithub.com/fujiwara/awslim/pull/43)
- Bump the aws-sdk-go-v2 group with 2 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/fujiwara/awslim/pull/41](https://togithub.com/fujiwara/awslim/pull/41)
- Bump github.com/goccy/go-yaml from 1.11.3 to 1.12.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/fujiwara/awslim/pull/42](https://togithub.com/fujiwara/awslim/pull/42)

</details>

<details>
<summary>hashicorp/packer (hashicorp/packer)</summary>

###
[`v1.11.2`](https://togithub.com/hashicorp/packer/releases/tag/v1.11.2)

[Compare
Source](https://togithub.com/hashicorp/packer/compare/v1.11.1...v1.11.2)

#### 1.11.2 (July 30, 2024)

##### FEATURES

- core/hcp: export Packer options, OS, CI and VCS metadata for a build.
Following up on the introduction of metadata for builds in Packer
1.11.0,
this version introduces more metadata. In addition to the version of
Packer
core, and the plugins used, we now capture CI-specific environment
variables
(gitlab-ci and github-actions for now), Git-specific information, OS
details
like architecture and kernel version, and the command-line options
passed
    to packer build.

</details>

<details>
<summary>homeport/dyff (homeport/dyff)</summary>

### [`v1.9.0`](https://togithub.com/homeport/dyff/releases/tag/v1.9.0):
dyff release v1.9.0

[Compare
Source](https://togithub.com/homeport/dyff/compare/v1.8.1...v1.9.0)

#### What's Changed

- Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/homeport/dyff/pull/380](https://togithub.com/homeport/dyff/pull/380)
- Bump github.com/BurntSushi/toml from 1.3.2 to 1.4.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/homeport/dyff/pull/381](https://togithub.com/homeport/dyff/pull/381)
- Bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/homeport/dyff/pull/382](https://togithub.com/homeport/dyff/pull/382)
- Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/homeport/dyff/pull/383](https://togithub.com/homeport/dyff/pull/383)
- Introduce `--ignore-whitespace-changes` flag by
[@&#8203;HeavyWombat](https://togithub.com/HeavyWombat) in
[https://github.com/homeport/dyff/pull/385](https://togithub.com/homeport/dyff/pull/385)
- Update download-latest.sh to support multiple download URLs by
[@&#8203;hansfn](https://togithub.com/hansfn) in
[https://github.com/homeport/dyff/pull/373](https://togithub.com/homeport/dyff/pull/373)

#### New Contributors

- [@&#8203;hansfn](https://togithub.com/hansfn) made their first
contribution in
[https://github.com/homeport/dyff/pull/373](https://togithub.com/homeport/dyff/pull/373)

**Full Changelog**:
homeport/dyff@v1.8.1...v1.9.0

</details>

<details>
<summary>junegunn/fzf (junegunn/fzf)</summary>

### [`v0.54.3`](https://togithub.com/junegunn/fzf/releases/tag/v0.54.3):
0.54.3

[Compare
Source](https://togithub.com/junegunn/fzf/compare/v0.54.2...v0.54.3)

- Fixed incompatibility of adaptive height specification and
'start:reload'
    ```sh
    ```

### A regression in 0.54.0 would cause this to fail

fzf --height '~100%' --bind 'start:reload:seq 10'

    - Environment variables are now available to `$FZF_DEFAULT_COMMAND`
    ```sh
    FZF_DEFAULT_COMMAND='echo $FZF_QUERY' fzf --query foo

</details>

<details>
<summary>nektos/act (nektos/act)</summary>

### [`v0.2.65`](https://togithub.com/nektos/act/releases/tag/v0.2.65)

[Compare
Source](https://togithub.com/nektos/act/compare/v0.2.64...v0.2.65)

#### Changelog

##### Bug fixes

- [`3c7eda7`](https://togithub.com/nektos/act/commit/3c7eda7) fix:
docker stub and add a test for this
([#&#8203;2355](https://togithub.com/nektos/act/issues/2355))
- [`a1a96da`](https://togithub.com/nektos/act/commit/a1a96da) fix:
changed location of actrc in info message
([#&#8203;2373](https://togithub.com/nektos/act/issues/2373))
- [`6de25a5`](https://togithub.com/nektos/act/commit/6de25a5) fix: make
node tool non volatile
([#&#8203;2372](https://togithub.com/nektos/act/issues/2372))
- [`2ad5ff7`](https://togithub.com/nektos/act/commit/2ad5ff7) fix: add
missing service container health check
([#&#8203;2354](https://togithub.com/nektos/act/issues/2354))

##### Other

- [`bda491e`](https://togithub.com/nektos/act/commit/bda491e) chore:
bump VERSION to 0.2.65
- [`cd8b710`](https://togithub.com/nektos/act/commit/cd8b710) remove
double negation in --help
([#&#8203;2405](https://togithub.com/nektos/act/issues/2405))
- [`a62063b`](https://togithub.com/nektos/act/commit/a62063b) Bump mergo
to v1.0.0 with new module URL
([#&#8203;2403](https://togithub.com/nektos/act/issues/2403))
- [`2feff3f`](https://togithub.com/nektos/act/commit/2feff3f)
build(deps): bump github.com/timshannon/bolthold to
v0.0.0-20240314194003-30aac6950928
([#&#8203;2248](https://togithub.com/nektos/act/issues/2248))
- [`570ccf3`](https://togithub.com/nektos/act/commit/570ccf3) Fix
[#&#8203;2363](https://togithub.com/nektos/act/issues/2363). Add /pre-
and /post-entrypoint handling
([#&#8203;2394](https://togithub.com/nektos/act/issues/2394))
- [`1d6a00c`](https://togithub.com/nektos/act/commit/1d6a00c)
build(deps): bump golang.org/x/term from 0.21.0 to 0.22.0
([#&#8203;2387](https://togithub.com/nektos/act/issues/2387))
- [`21fe901`](https://togithub.com/nektos/act/commit/21fe901)
build(deps): bump github.com/adrg/xdg from 0.4.0 to 0.5.0
([#&#8203;2398](https://togithub.com/nektos/act/issues/2398))
- [`1ac4b60`](https://togithub.com/nektos/act/commit/1ac4b60)
build(deps): bump megalinter/megalinter from 7.11.1 to 7.13.0
([#&#8203;2389](https://togithub.com/nektos/act/issues/2389))

</details>

<details>
<summary>simulot/immich-go (simulot/immich-go)</summary>

###
[`v0.21.1`](https://togithub.com/simulot/immich-go/releases/tag/0.21.1)

[Compare
Source](https://togithub.com/simulot/immich-go/compare/0.21.0...0.21.1)

#### Changelog

-
[`ca96b75`](https://togithub.com/simulot/immich-go/commit/ca96b7543cf52e3f6262d029557fe79dc2951ac0)
Improve get debug data
([#&#8203;413](https://togithub.com/simulot/immich-go/issues/413))
-
[`c637717`](https://togithub.com/simulot/immich-go/commit/c6377178797bd12f63305877f5903417f9791417)
edit readme
([#&#8203;420](https://togithub.com/simulot/immich-go/issues/420))
-
[`ff81fd0`](https://togithub.com/simulot/immich-go/commit/ff81fd0a80fde6984562d330ce3bcd8ec380102b)
fix Takout zip is unsupported file type
[#&#8203;357](https://togithub.com/simulot/immich-go/issues/357)
([#&#8203;415](https://togithub.com/simulot/immich-go/issues/415))
-
[`1d3016e`](https://togithub.com/simulot/immich-go/commit/1d3016eccb3790c0fcd4ea7eb89c4e9ff6a0a892)
fix motion photo files with MP~2 extension marked unsupported and
skipped [#&#8203;405](https://togithub.com/simulot/immich-go/issues/405)
([#&#8203;419](https://togithub.com/simulot/immich-go/issues/419))

###
[`v0.21.0`](https://togithub.com/simulot/immich-go/releases/tag/0.21.0)

[Compare
Source](https://togithub.com/simulot/immich-go/compare/0.20.1...0.21.0)

##### Refactoring the Google Photos import another time

Lot of users have reported inconsistencies in upload counters. Each user
case a different, and the takeout structure varies a bit.
In order to debug those cases, I have developed a way to simulate the
takeout import using only the the file list. Read [how to send debug
data](/docs/how-to-send-debug-data.md) without sharing photos.

##### Option to force the upload of images despite the lack of JSON

Each image in a takeout is supposed to come with A JSON file giving the
date of capture and the GPS coordinate. There a few reason for this:

1. The original file is copied, modified... and sometime there ins't a
JSON for all versions
2. JSON aren't in the same ZIP file than the image, and only one part of
the takeout is processed
3.  The takeout misses a bunch of JSON

When asking another takeout isn't an option, it's possible to force the
upload of photos with no JSON. Use the option
`-upload-when-missing-JSON`

##### The stack function is disabled

The stack function need to be improved
[#&#8203;399](https://togithub.com/simulot/immich-go/issues/399),
[#&#8203;345](https://togithub.com/simulot/immich-go/issues/345),
[#&#8203;235](https://togithub.com/simulot/immich-go/issues/235)
Meanwhile, it is disabled by default. You can enable it using the option
`-create-stacks=TRUE`.

##### fixes:

- [#&#8203;376](https://togithub.com/simulot/immich-go/issues/376)
errors when uploading are disturbing the the % of the progression
- files with same path and name, but in different part of the takeout
file set was forgotten in duplicate counters
- iPhone's Live photos recognition when the name is duplicated: ex
IMG\_2710(1).MP4 and IMG\_2710(1).HEIC
- Missing a file when a directory contain several files with the same
name, but of a different type. Ex: IMG\_0170.HEIC, IMG\_0170.JPG
- Live videos attached to duplicated photos are now counted as duplicate
as well, making the final report more relevant
- [#&#8203;402](https://togithub.com/simulot/immich-go/issues/402) Wrong
album assignment for images with the same name
- [#&#8203;390](https://togithub.com/simulot/immich-go/issues/390)
Question: report shows way less images uploaded than scanned
- [#&#8203;376](https://togithub.com/simulot/immich-go/issues/376)
errors when uploading are disturbing the the % of the progression
- [#&#8203;401](https://togithub.com/simulot/immich-go/issues/401) Add
an option to import images/movies even if there is no JSON file in the
takeout

</details>

<details>
<summary>snyk/cli (snyk/cli)</summary>

### [`v1.1292.2`](https://togithub.com/snyk/cli/releases/tag/v1.1292.2)

[Compare
Source](https://togithub.com/snyk/cli/compare/v1.1292.1...v1.1292.2)

The Snyk CLI is being deployed to different deployment channels, users
can select the stability level according to their needs. For details
please see [this
documentation](https://docs.snyk.io/snyk-cli/releases-and-channels-for-the-snyk-cli)

#### Complete changelog

##### Bug Fixes

- **container test:** Improve the accuracy of identifying npm projects
within docker images by removing the explicit folder ignore rules
    ([#&#8203;5384](https://togithub.com/snyk/snyk/issues/5384))
- **container test:** Pass platform parameter when pulling an image from
a container registry
([#&#8203;5360](https://togithub.com/snyk/snyk/issues/5360))

</details>

<details>
<summary>sxyazi/yazi (sxyazi/yazi)</summary>

### [`v0.3.0`](https://togithub.com/sxyazi/yazi/releases/tag/v0.3.0)

[Compare
Source](https://togithub.com/sxyazi/yazi/compare/v0.2.5...v0.3.0)

After three months of development, I'm excited to announce the release
of Yazi 0.3 today! This version brings a host of new features and bug
fixes. Thank you to every contributor for making Yazi better and better!

**This is a breaking change release, so please make sure to read:**

- [Migrating to Yazi
v0.3.0](https://togithub.com/sxyazi/yazi/issues/1046)
-
[Packaging](https://togithub.com/sxyazi/yazi/issues/1046#issuecomment-2255993749)
- [Lua API breaking changes in Yazi
v0.3](https://togithub.com/sxyazi/yazi/issues/1046#issuecomment-2140320472)

#### Mouse support

The plugin system now includes five new APIs for each component -
`click`, `scroll`, `touch`, `move`, and `drag` to handle mouse events.
These APIs come with default implementations to cover common operations.

This also allows plugin developers to extend mouse behavior and create
any functionality they desire.


https://github.com/user-attachments/assets/7c129c11-6246-4a6e-a261-3e7a9a141387

See
[https://github.com/sxyazi/yazi/pull/1038](https://togithub.com/sxyazi/yazi/pull/1038)
for more info, thanks to [@&#8203;qsdrqs](https://togithub.com/qsdrqs)
for his work on this!

#### New builtin `extract` plugin


[https://github.com/sxyazi/yazi/pull/1321](https://togithub.com/sxyazi/yazi/pull/1321)
adds a builtin `extract` plugin for decompressing archives, with these
features:

1.  Interactive password input.
2.  Smart output directory selection with auto renaming.
3.  Supports decompressing multiple files at once.
4. Fully async, decompression tasks can queue up and run in the
background.


https://github.com/user-attachments/assets/71093fa8-1798-406b-8578-a85525cb60d2

#### Enhanced file preview

Yazi 0.3 now supports the following new format to preview:

-   Fonts
-   SVGs
-   HEIC files
-   JPEG XL files

This feature requires the [optional dependency
ImageMagick](https://togithub.com/sxyazi/yazi/issues/1046#issuecomment-2255993749)
to enable it.


https://github.com/user-attachments/assets/94ee6f17-88d2-4e41-98e2-1a42b34b49aa

#### Package manager

Yazi 0.3 introduces the new `ya pack` subcommand for package management,
making plugin and theme updates more convenient. This is especially
important as the plugin system is not yet stable, so providing users
with the ability to easily keep everything up to date is necessary.

Add a new one to `package.toml`, then install it:

```sh
ya pack -a Reledia/glow

### If it's a sub-directory under the repository
ya pack -a yazi-rs/flavors#catppuccin-mocha 
```

Install all packages configured in `package.toml`:

```sh
ya pack -i
```

Upgrade all packages in `package.toml` to the latest commit:

```sh
ya pack -u
```

See
[https://github.com/sxyazi/yazi/pull/985](https://togithub.com/sxyazi/yazi/pull/985)
for details.

#### Redesigned Icons


[https://github.com/sxyazi/yazi/pull/1086](https://togithub.com/sxyazi/yazi/pull/1086)
redesigns the icons, bringing the following improvements:

- **Improved Matching Performance:** The new `dirs`, `files`, and `exts`
compile the icon rules into a HashMap at startup. This allows most icon
matches to be completed with O(1) complexity, significantly enhancing
performance.
- **Built-in `nvim-web-devicons`:** This includes a richer and
ready-to-use set of icons out of the box.
- **Enhanced Icon Styling:** Each icon now supports specifying both dark
and light colors (currently only `fg_dark` is used). In the future, the
terminal color will automatically choose the appropriate color. This was
added as part of
[https://github.com/sxyazi/yazi/issues/988](https://togithub.com/sxyazi/yazi/issues/988).
- **Enhanced `is` Function:** The original `is` functionality has been
reimplemented as `conds` to allow more complex conditional expressions,
such as `cond = "!dir & exec"`.

#### Significant archive preview performance improvements


[https://github.com/sxyazi/yazi/pull/1220](https://togithub.com/sxyazi/yazi/pull/1220)
reimplements archive previewing to be streamed. This means only a small
amount of necessary data needs to be read to display the preview
immediately, rather than waiting for all the data to be returned and
parsed as before.

Additionally, by replacing `lsar` with `7zip`, the preview speed has
been further improved. The new implementation also introduces two new
features: icon display and file size display.

#### Other improvements

These are a few of my favorite features. For a complete list of
improvements in Yazi 0.3, check out the full changelog below.

#### What's Changed

- feat: support `yazi-cli` for Nix flake by
[@&#8203;XYenon](https://togithub.com/XYenon) in
[https://github.com/sxyazi/yazi/pull/944](https://togithub.com/sxyazi/yazi/pull/944)
- feat: allow building with the system Lua by
[@&#8203;Kladki](https://togithub.com/Kladki) in
[https://github.com/sxyazi/yazi/pull/943](https://togithub.com/sxyazi/yazi/pull/943)
- feat: support expanding Windows paths like "D:" that only have a drive
letter but no root by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/948](https://togithub.com/sxyazi/yazi/pull/948)
- fix: always create XDG cache directory even if user has set a custom
one by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/956](https://togithub.com/sxyazi/yazi/pull/956)
- feat: support previewing files containing non-UTF-8 characters by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/958](https://togithub.com/sxyazi/yazi/pull/958)
- fix: correct the glob pattern for the icons to fit the new matching
algorithm by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/959](https://togithub.com/sxyazi/yazi/pull/959)
- feat: add `*.opus` file icon by
[@&#8203;Brixy](https://togithub.com/Brixy) in
[https://github.com/sxyazi/yazi/pull/967](https://togithub.com/sxyazi/yazi/pull/967)
- fix: improve accessibility by avoiding hex color code for white by
[@&#8203;Brixy](https://togithub.com/Brixy) in
[https://github.com/sxyazi/yazi/pull/968](https://togithub.com/sxyazi/yazi/pull/968)
- fix: avoiding duplicate candidates in the `which` component by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/975](https://togithub.com/sxyazi/yazi/pull/975)
- feat: detect terminal type in tmux with CSI sequence in passthrough
mode by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/977](https://togithub.com/sxyazi/yazi/pull/977)
- feat: add more rules to `[filetype]` and `[icon]` by
[@&#8203;Brixy](https://togithub.com/Brixy) in
[https://github.com/sxyazi/yazi/pull/966](https://togithub.com/sxyazi/yazi/pull/966)
- feat: re-enable the file `created` attribute by
[@&#8203;rafi](https://togithub.com/rafi) in
[https://github.com/sxyazi/yazi/pull/987](https://togithub.com/sxyazi/yazi/pull/987)
- feat: add `--force-window` option to mpv by
[@&#8203;GOWxx](https://togithub.com/GOWxx) in
[https://github.com/sxyazi/yazi/pull/998](https://togithub.com/sxyazi/yazi/pull/998)
- feat: close confirmation prompts and exit automatically when the
ongoing task gone by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/997](https://togithub.com/sxyazi/yazi/pull/997)
- fix: notification title width does not include the width of the icon
by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1000](https://togithub.com/sxyazi/yazi/pull/1000)
- feat: support `cargo binstall yazi-fm` and `cargo binstall yazi-cli`
by [@&#8203;slowsage](https://togithub.com/slowsage) in
[https://github.com/sxyazi/yazi/pull/1003](https://togithub.com/sxyazi/yazi/pull/1003)
- feat: yazi --debug shows `ya` version in its output by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1005](https://togithub.com/sxyazi/yazi/pull/1005)
- feat: add git commit hash to `ya --version` by
[@&#8203;fzdwx](https://togithub.com/fzdwx) in
[https://github.com/sxyazi/yazi/pull/1006](https://togithub.com/sxyazi/yazi/pull/1006)
- feat: package manager by [@&#8203;sxyazi](https://togithub.com/sxyazi)
in
[https://github.com/sxyazi/yazi/pull/985](https://togithub.com/sxyazi/yazi/pull/985)
- feat: `ya pack` displays help if no arguments are given by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1012](https://togithub.com/sxyazi/yazi/pull/1012)
- feat: new `--args` parameter for `fd` an `rg` search by
[@&#8203;LatentDream](https://togithub.com/LatentDream) in
[https://github.com/sxyazi/yazi/pull/1013](https://togithub.com/sxyazi/yazi/pull/1013)
- fix: correct wasm target condition by
[@&#8203;itsjunetime](https://togithub.com/itsjunetime) in
[https://github.com/sxyazi/yazi/pull/1018](https://togithub.com/sxyazi/yazi/pull/1018)
- fix: broaden file watcher event types to accommodate permission
changes on certain platforms by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1024](https://togithub.com/sxyazi/yazi/pull/1024)
- feat: add new `debounce` option to `ya.input()` API by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1025](https://togithub.com/sxyazi/yazi/pull/1025)
- fix: recognize `TERM=rxvt-unicode-256color` by
[@&#8203;dtolnay](https://togithub.com/dtolnay) in
[https://github.com/sxyazi/yazi/pull/1027](https://togithub.com/sxyazi/yazi/pull/1027)
- feat: support `stdin` and pipe for `Child` API by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1033](https://togithub.com/sxyazi/yazi/pull/1033)
- ci: consistently enforce Lua coding style by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1029](https://togithub.com/sxyazi/yazi/pull/1029)
- ci: fix cargo unit tests execution by
[@&#8203;clispios](https://togithub.com/clispios) in
[https://github.com/sxyazi/yazi/pull/1041](https://togithub.com/sxyazi/yazi/pull/1041)
- refactor: eliminate `exec` by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1045](https://togithub.com/sxyazi/yazi/pull/1045)
- feat: use `Ctrl-c` instead of `Ctrl-q` as the universal close key for
all components by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1047](https://togithub.com/sxyazi/yazi/pull/1047)
- fix: remove `ignore` options from `rg` and `fd` search by
[@&#8203;chriszarate](https://togithub.com/chriszarate) in
[https://github.com/sxyazi/yazi/pull/1043](https://togithub.com/sxyazi/yazi/pull/1043)
- feat: font preview by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1048](https://togithub.com/sxyazi/yazi/pull/1048)
- docs: add `CONTRIBUTING.md` by
[@&#8203;johan-naizu](https://togithub.com/johan-naizu) in
[https://github.com/sxyazi/yazi/pull/1052](https://togithub.com/sxyazi/yazi/pull/1052)
- feat: prefetcher by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1061](https://togithub.com/sxyazi/yazi/pull/1061)
- fix: ePUB file mime-type matching for the opener rule by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1063](https://togithub.com/sxyazi/yazi/pull/1063)
- fix: cursor gets out of sync occasionally at image previewing through
IIP under tmux by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1070](https://togithub.com/sxyazi/yazi/pull/1070)
- feat: support Super/Command/Windows key notation `D-` by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1069](https://togithub.com/sxyazi/yazi/pull/1069)
- fix: remove the default keybinding for going to the temporary
directory by [@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1073](https://togithub.com/sxyazi/yazi/pull/1073)
- feat!: redesign icons by [@&#8203;sxyazi](https://togithub.com/sxyazi)
in
[https://github.com/sxyazi/yazi/pull/1086](https://togithub.com/sxyazi/yazi/pull/1086)
- fix: Sixel support from certain `st` forks cannot be detected by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1094](https://togithub.com/sxyazi/yazi/pull/1094)
- feat: support case insensitive special keys in keymappings by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1082](https://togithub.com/sxyazi/yazi/pull/1082)
- refactor!: v0.3 API changes by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1108](https://togithub.com/sxyazi/yazi/pull/1108)
- feat: add `pack --list` subcommand to Ya CLI by
[@&#8203;lpnh](https://togithub.com/lpnh) in
[https://github.com/sxyazi/yazi/pull/1110](https://togithub.com/sxyazi/yazi/pull/1110)
- feat!: DDS client-server version check by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1111](https://togithub.com/sxyazi/yazi/pull/1111)
- feat: support mouse event by
[@&#8203;qsdrqs](https://togithub.com/qsdrqs) in
[https://github.com/sxyazi/yazi/pull/1038](https://togithub.com/sxyazi/yazi/pull/1038)
- feat: add some dependency version information to `yazi --debug` by
[@&#8203;omagdy7](https://togithub.com/omagdy7) in
[https://github.com/sxyazi/yazi/pull/1112](https://togithub.com/sxyazi/yazi/pull/1112)
- fix: block `SIGINT` signal from the spawned subprocess by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1131](https://togithub.com/sxyazi/yazi/pull/1131)
- feat: support completely disabling mouse with `mouse_events=[]`; add
new `cursor_blink` to control cursor style of input components by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1139](https://togithub.com/sxyazi/yazi/pull/1139)
- fix: different filenames should be treated as the same file on
case-insensitive file systems by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1151](https://togithub.com/sxyazi/yazi/pull/1151)
- feat: support `ya sub` subcommand for the Ya CLI by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1004](https://togithub.com/sxyazi/yazi/pull/1004)
- fix: file watcher didn't handle realname resolution used for
case-insensitive file systems correctly by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1179](https://togithub.com/sxyazi/yazi/pull/1179)
- feat: include file filter state in the header by
[@&#8203;thelamb](https://togithub.com/thelamb) in
[https://github.com/sxyazi/yazi/pull/1182](https://togithub.com/sxyazi/yazi/pull/1182)
- feat!: include the `sender` ID in static messages by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1172](https://togithub.com/sxyazi/yazi/pull/1172)
- fix: accommodate all `hover` events for DDS by
[@&#8203;Xerxes-2](https://togithub.com/Xerxes-2) in
[https://github.com/sxyazi/yazi/pull/1187](https://togithub.com/sxyazi/yazi/pull/1187)
- feat: support `x-ndjson` mime-type for JSON files by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1190](https://togithub.com/sxyazi/yazi/pull/1190)
- fix: suppress warnings for different name representations of the same
file in the case-insensitive file system when renaming by
[@&#8203;Xerxes-2](https://togithub.com/Xerxes-2) in
[https://github.com/sxyazi/yazi/pull/1185](https://togithub.com/sxyazi/yazi/pull/1185)
- fix: ueberzug image adapter should respect the user's `max_width` and
`max_height` settings by [@&#8203;sxyazi](https://togithub.com/sxyazi)
in
[https://github.com/sxyazi/yazi/pull/1200](https://togithub.com/sxyazi/yazi/pull/1200)
- fix: `magick` plugin not working properly by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1213](https://togithub.com/sxyazi/yazi/pull/1213)
- perf!: reimplement and significantly speed up archive previewing by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1220](https://togithub.com/sxyazi/yazi/pull/1220)
- feat: add `--hovered` option to the `rename` and `remove` commands by
[@&#8203;hankertrix](https://togithub.com/hankertrix) in
[https://github.com/sxyazi/yazi/pull/1227](https://togithub.com/sxyazi/yazi/pull/1227)
- feat: support right-click to open files by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1232](https://togithub.com/sxyazi/yazi/pull/1232)
- feat: support AVIF image preview by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1249](https://togithub.com/sxyazi/yazi/pull/1249)
- feat: ownership linemode by
[@&#8203;AidanV](https://togithub.com/AidanV) in
[https://github.com/sxyazi/yazi/pull/1238](https://togithub.com/sxyazi/yazi/pull/1238)
- feat: add `nlink` property to the `Cha` plugin API by
[@&#8203;Ape](https://togithub.com/Ape) in
[https://github.com/sxyazi/yazi/pull/1279](https://togithub.com/sxyazi/yazi/pull/1279)
- feat: add `random` option to the `sort` command by
[@&#8203;zooeywm](https://togithub.com/zooeywm) in
[https://github.com/sxyazi/yazi/pull/1291](https://togithub.com/sxyazi/yazi/pull/1291)
- feat: show files with inaccessible metadata by
[@&#8203;Ape](https://togithub.com/Ape) in
[https://github.com/sxyazi/yazi/pull/1275](https://togithub.com/sxyazi/yazi/pull/1275)
- feat: help users migrate shell key bindings to v0.3 by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1304](https://togithub.com/sxyazi/yazi/pull/1304)
- feat: allow setting `YAZI_ID` as a command line argument by
[@&#8203;mikavilpas](https://togithub.com/mikavilpas) in
[https://github.com/sxyazi/yazi/pull/1305](https://togithub.com/sxyazi/yazi/pull/1305)
- refactor: reimplement the signal system by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1307](https://togithub.com/sxyazi/yazi/pull/1307)
- fix: destroy term before stopping signals by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1310](https://togithub.com/sxyazi/yazi/pull/1310)
- fix: add `use-dev-tty` to fix piping to Yazi on macOS by
[@&#8203;joshuali925](https://togithub.com/joshuali925) in
[https://github.com/sxyazi/yazi/pull/1317](https://togithub.com/sxyazi/yazi/pull/1317)
- refactor: fix Clippy warnings by
[@&#8203;Ape](https://togithub.com/Ape) in
[https://github.com/sxyazi/yazi/pull/1312](https://togithub.com/sxyazi/yazi/pull/1312)
- feat: add Winget publishes to CI/CD by
[@&#8203;MoaidHathot](https://togithub.com/MoaidHathot) in
[https://github.com/sxyazi/yazi/pull/1299](https://togithub.com/sxyazi/yazi/pull/1299)
- feat: add support for `%@&#8203;` argument extension on Windows to
align with Unix platforms by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1319](https://togithub.com/sxyazi/yazi/pull/1319)
- fix: wrong directory loading optimization condition by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1331](https://togithub.com/sxyazi/yazi/pull/1331)
- feat: make `F1` also show the help menu by
[@&#8203;CyberShadow](https://togithub.com/CyberShadow) in
[https://github.com/sxyazi/yazi/pull/1336](https://togithub.com/sxyazi/yazi/pull/1336)
- fix: help menu multi-line text rendering by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1347](https://togithub.com/sxyazi/yazi/pull/1347)
- fix: can't rewatch a directory that has been deleted once before by
[@&#8203;leihaojun](https://togithub.com/leihaojun) in
[https://github.com/sxyazi/yazi/pull/1335](https://togithub.com/sxyazi/yazi/pull/1335)
- fix(nix): add `outputHashes` for `notify` git dependency by
[@&#8203;uncenter](https://togithub.com/uncenter) in
[https://github.com/sxyazi/yazi/pull/1373](https://togithub.com/sxyazi/yazi/pull/1373)
- feat(nix): set `VERGEN_*` build env vars by
[@&#8203;uncenter](https://togithub.com/uncenter) in
[https://github.com/sxyazi/yazi/pull/1375](https://togithub.com/sxyazi/yazi/pull/1375)
- refactor(nix): cleanup and switch to `nixfmt-rfc-style` by
[@&#8203;uncenter](https://togithub.com/uncenter) in
[https://github.com/sxyazi/yazi/pull/1376](https://togithub.com/sxyazi/yazi/pull/1376)
- chore: bump version to 0.3 by
[@&#8203;sxyazi](https://togithub.com/sxyazi) in
[https://github.com/sxyazi/yazi/pull/1374](https://togithub.com/sxyazi/yazi/pull/1374)

#### New Contributors

- [@&#8203;Kladki](https://togithub.com/Kladki) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/943](https://togithub.com/sxyazi/yazi/pull/943)
- [@&#8203;Brixy](https://togithub.com/Brixy) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/967](https://togithub.com/sxyazi/yazi/pull/967)
- [@&#8203;rafi](https://togithub.com/rafi) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/987](https://togithub.com/sxyazi/yazi/pull/987)
- [@&#8203;GOWxx](https://togithub.com/GOWxx) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/998](https://togithub.com/sxyazi/yazi/pull/998)
- [@&#8203;slowsage](https://togithub.com/slowsage) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1003](https://togithub.com/sxyazi/yazi/pull/1003)
- [@&#8203;LatentDream](https://togithub.com/LatentDream) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1013](https://togithub.com/sxyazi/yazi/pull/1013)
- [@&#8203;itsjunetime](https://togithub.com/itsjunetime) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1018](https://togithub.com/sxyazi/yazi/pull/1018)
- [@&#8203;dtolnay](https://togithub.com/dtolnay) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1027](https://togithub.com/sxyazi/yazi/pull/1027)
- [@&#8203;chriszarate](https://togithub.com/chriszarate) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1043](https://togithub.com/sxyazi/yazi/pull/1043)
- [@&#8203;johan-naizu](https://togithub.com/johan-naizu) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1052](https://togithub.com/sxyazi/yazi/pull/1052)
- [@&#8203;qsdrqs](https://togithub.com/qsdrqs) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1038](https://togithub.com/sxyazi/yazi/pull/1038)
- [@&#8203;omagdy7](https://togithub.com/omagdy7) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1112](https://togithub.com/sxyazi/yazi/pull/1112)
- [@&#8203;thelamb](https://togithub.com/thelamb) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1182](https://togithub.com/sxyazi/yazi/pull/1182)
- [@&#8203;Xerxes-2](https://togithub.com/Xerxes-2) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1187](https://togithub.com/sxyazi/yazi/pull/1187)
- [@&#8203;zooeywm](https://togithub.com/zooeywm) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1291](https://togithub.com/sxyazi/yazi/pull/1291)
- [@&#8203;joshuali925](https://togithub.com/joshuali925) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1317](https://togithub.com/sxyazi/yazi/pull/1317)
- [@&#8203;MoaidHathot](https://togithub.com/MoaidHathot) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1299](https://togithub.com/sxyazi/yazi/pull/1299)
- [@&#8203;CyberShadow](https://togithub.com/CyberShadow) made their
first contribution in
[https://github.com/sxyazi/yazi/pull/1336](https://togithub.com/sxyazi/yazi/pull/1336)
- [@&#8203;leihaojun](https://togithub.com/leihaojun) made their first
contribution in
[https://github.com/sxyazi/yazi/pull/1335](https://togithub.com/sxyazi/yazi/pull/1335)

**Full Changelog**:
sxyazi/yazi@v0.2.5...v0.3.0

</details>

<details>
<summary>weaveworks/eksctl (weaveworks/eksctl)</summary>

###
[`v0.188.0`](https://togithub.com/eksctl-io/eksctl/releases/tag/v0.188.0):
eksctl 0.188.0

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.187.0...0.188.0)

##### Release v0.188.0

##### 🚀 Features

- Add support for Kuala Lumpur region (ap-southeast-5)
([#&#8203;7910](https://togithub.com/weaveworks/eksctl/issues/7910))

##### 🎯 Improvements

- Add GH workflow for automatically updating nvidia device plugin static
manifest
([#&#8203;7898](https://togithub.com/weaveworks/eksctl/issues/7898))

##### 🧰 Maintenance

- Update nvidia-device-plugin to v0.16.0
([#&#8203;7900](https://togithub.com/weaveworks/eksctl/issues/7900))

</details>

<details>
<summary>withgraphite/homebrew-tap (withgraphite/homebrew-tap)</summary>

###
[`v1.4.2`](https://togithub.com/withgraphite/homebrew-tap/compare/v1.4.1...v1.4.2)

[Compare
Source](https://togithub.com/withgraphite/homebrew-tap/compare/v1.4.1...v1.4.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone
America/Los_Angeles, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/scottames/dots).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: scottames-github-bot[bot] <162828115+scottames-github-bot[bot]@users.noreply.github.com>
@sxyazi
Copy link
Owner

sxyazi commented Sep 15, 2024

Tracked by #1644

@sxyazi sxyazi closed this as completed Sep 15, 2024
@sxyazi sxyazi mentioned this issue Sep 17, 2024
5 tasks
Copy link

I'm going to lock this issue because it has been closed for 30 days. ⏳
This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 16, 2024
@sxyazi
Copy link
Owner

sxyazi commented Nov 25, 2024

Done in #1946 🎉

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New feature request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants