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

chore: update Go module path #900

Merged
merged 1 commit into from
Apr 21, 2023
Merged

Conversation

suzuki-shunsuke
Copy link
Owner

No description provided.

@suzuki-shunsuke suzuki-shunsuke added this to the v6.0.0 milestone Apr 21, 2023
@suzuki-shunsuke suzuki-shunsuke merged commit 2b23e1c into main Apr 21, 2023
@suzuki-shunsuke suzuki-shunsuke deleted the chore/update-module-path branch April 21, 2023 23:48
@suzuki-shunsuke suzuki-shunsuke restored the chore/update-module-path branch April 21, 2023 23:49
@suzuki-shunsuke suzuki-shunsuke deleted the chore/update-module-path branch April 21, 2023 23:56
scottames referenced this pull request in scottames/dots Sep 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua](https://togithub.com/aquaproj/aqua) | minor |
`v2.10.1` -> `v2.12.0` |

---

### Release Notes

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

### [`v2.12.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.11.0...v2.12.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.0)
| aquaproj/aqua@v2.11.0...v2.12.0

##### Features

[#&#8203;2251](https://togithub.com/aquaproj/aqua/issues/2251)
[#&#8203;2254](https://togithub.com/aquaproj/aqua/issues/2254) Support
selecting packages interactively with a fuzzy finder when uninstalling
packages

Added `-i` option to `remove` command

```console
$ aqua rm -i
```

If enabling this option, you can select packages interactively with a
fuzzy finder.

##### Others

[#&#8203;2255](https://togithub.com/aquaproj/aqua/issues/2255) Update
aqua-proxy to v1.2.3

### [`v2.11.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.11.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.10.1...v2.11.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.11.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.11.0)
| aquaproj/aqua@v2.10.1...v2.11.0

##### Features

[#&#8203;538](https://togithub.com/aquaproj/aqua/issues/538)
[#&#8203;2249](https://togithub.com/aquaproj/aqua/issues/2249) Support
uninstalling packages
[#&#8203;2131](https://togithub.com/aquaproj/aqua/issues/2131)
[#&#8203;2065](https://togithub.com/aquaproj/aqua/issues/2065) Support
`go_build` package

##### Support uninstalling packages

[#&#8203;538](https://togithub.com/aquaproj/aqua/issues/538)
[#&#8203;2249](https://togithub.com/aquaproj/aqua/issues/2249)

Add a subcommand `rm` to uninstall packages

##### Usage

```console
$ aqua rm --all [-a] # Uninstall all packages
```

```console
$ aqua rm [<registry name>,]<package name> [...] # Uninstall packages
```

##### Example

```console
$ aqua rm -a
```

```console
$ aqua rm cli/cli direnv/direnv
```

##### ⚠️ Limitation

The following package types can't be removed without `--all` option.

-   `http`
-   `go_install`

##### Support `go_build` package

[#&#8203;2039](https://togithub.com/orgs/aquaproj/discussions/2039)
[#&#8203;2131](https://togithub.com/aquaproj/aqua/issues/2131)
[#&#8203;2065](https://togithub.com/aquaproj/aqua/issues/2065)

The new package type `go_build` has been supported.

##### Example

```yaml
packages:
  - type: go_build
    repo_owner: suzuki-shunsuke
    repo_name: github-comment
    files:
      - name: github-comment
        src: ./cmd/github-comment
        dir: github-comment-{{trimV .Version}}
```


$AQUA_ROOT_DIR/pkgs/go_build/github.com/suzuki-shunsuke/github-comment/v4.0.0/
      bin/
        github-comment
      src/github-comment-4.0.0/
        cmd/github-comment/main.go
        ...

##### Why is the feature needed?

Because some packages couldn't be installed by `go install` but could be
installed by `go build`.

aqua ever supported `go` type package, but it was abandoned at aqua v2
because we thought we could replace it to `go_install` type package.

-   https://aquaproj.github.io/docs/reference/registry-config/go-package
-
https://aquaproj.github.io/docs/reference/upgrade-guide/v2/remove-type-go

But we found that some packages couldn't be installed by `go install`
but could be installed by `go build`.

For example, suzuki-shunsuke/github-comment v5 can't be installed by `go
install`.

```console
$ go install github.com/suzuki-shunsuke/github-comment/v5/cmd/[email protected]
go: github.com/suzuki-shunsuke/github-comment/v5/cmd/[email protected]: github.com/suzuki-shunsuke/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/suzuki-shunsuke/github-comment/v5")

$ go install github.com/suzuki-shunsuke/github-comment/cmd/[email protected] 
go: github.com/suzuki-shunsuke/github-comment/cmd/[email protected]: github.com/suzuki-shunsuke/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/suzuki-shunsuke/github-comment/v5")
```

This is because github-comment's go.mod was wrong.


https://github.com/suzuki-shunsuke/github-comment/blob/e5fd429b4d1bd84e8b825a2c7b693d6ac570022f/go.mod#L1

    module github.com/suzuki-shunsuke/github-comment

This issue was solved by github-comment v6, but github-comment v2 ~ v5
can't still be installed by `go install`.

-
[https://github.com/suzuki-shunsuke/github-comment/pull/900](https://togithub.com/suzuki-shunsuke/github-comment/pull/900)

There are many Go tools that can't be installed by `go install`.

##### Bug Fixes

[#&#8203;2120](https://togithub.com/aquaproj/aqua/issues/2120) Fix the
default checksum parser to support a tab character as separator
[#&#8203;2147](https://togithub.com/aquaproj/aqua/issues/2147) Use the
basename of the package name as the default command name
[#&#8203;2176](https://togithub.com/aquaproj/aqua/issues/2176)
generate-registry: Fix the format of `.tar.zst`
[#&#8203;2202](https://togithub.com/aquaproj/aqua/issues/2202)
generate-registry: Remove empty `error_message`
[#&#8203;2215](https://togithub.com/aquaproj/aqua/issues/2215) fix a log
field `version_constraint`

##### Others

[#&#8203;2151](https://togithub.com/aquaproj/aqua/issues/2151)
[#&#8203;2163](https://togithub.com/aquaproj/aqua/issues/2163)
[#&#8203;2227](https://togithub.com/aquaproj/aqua/issues/2227) Update Go
1.20.6 to 1.21.1

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
mend-for-github-com bot referenced this pull request in DelineaXPM/dsv-gitlab Jan 10, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua](https://togithub.com/aquaproj/aqua) | major |
`v1.33.0` -> `v2.21.3` |

---

### Release Notes

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

### [`v2.21.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.21.2...v2.21.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.3)
| https://github.com/aquaproj/aqua/compare/v2.21.2...v2.21.3

#### Bug Fixes

[#&#8203;2585](https://togithub.com/aquaproj/aqua/issues/2585)
[#&#8203;2586](https://togithub.com/aquaproj/aqua/issues/2586) Update
checksums of cosign

### [`v2.21.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.21.1...v2.21.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.2)
| https://github.com/aquaproj/aqua/compare/v2.21.1...v2.21.2

#### ⚠️ This release has a bug

The bug was already fixed at v2.21.3

#### Others

[#&#8203;2582](https://togithub.com/aquaproj/aqua/issues/2582) Fix a bug
of release workflow

### [`v2.21.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.21.0...v2.21.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.1)
| https://github.com/aquaproj/aqua/compare/v2.21.0...v2.21.1

#### ⚠️ The release failed


https://github.com/aquaproj/aqua/actions/runs/7260967360/job/19781204828#step:10:147

      ⨯ release failed after 2m26s               error=1 error occurred:
* scoop manifests: could not update "aqua.json": PUT
https://api.github.com/repos/aquaproj/scoop-bucket/contents/aqua.json:
403 Resource not accessible by integration []

We fixed the bug and release v2.21.2.

#### Bug Fixes

[#&#8203;2534](https://togithub.com/aquaproj/aqua/issues/2534) Fix a bug
of root dir on Windows
[#&#8203;2580](https://togithub.com/aquaproj/aqua/issues/2580)
[#&#8203;2581](https://togithub.com/aquaproj/aqua/issues/2581) Fix a bug
that validation fails even if no_asset or error_message is set
[https://github.com/aquaproj/aqua-registry/pull/18326#issuecomment-1862164476](https://togithub.com/aquaproj/aqua-registry/pull/18326#issuecomment-1862164476)

### [`v2.21.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.20.0...v2.21.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.0)
| https://github.com/aquaproj/aqua/compare/v2.20.0...v2.21.0

#### Features

[#&#8203;2517](https://togithub.com/aquaproj/aqua/issues/2517)
[#&#8203;2518](https://togithub.com/aquaproj/aqua/issues/2518) perf:
Convert Standard Registry and github_content Registries from YAML to
JSON when installing them

This update improves the performance to read Registries.
Stanard registry is a huge YAML file over 30,000 lines so it has a
little overhead to read it.
By this update, aqua converts Standard Registry and github_content
Registries from YAML to JSON.
JSON format decreases the overhead.
aqua converts them internally, so we don't need to do anything.

### [`v2.20.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.20.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.19.0...v2.20.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.20.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.20.0)
| https://github.com/aquaproj/aqua/compare/v2.19.0...v2.20.0

#### Features

[#&#8203;2514](https://togithub.com/orgs/aquaproj/discussions/2514)
[#&#8203;2515](https://togithub.com/aquaproj/aqua/issues/2515) Add a
field `windows_arm_emulation` for Windows ARM Emulation

ARM based Windows 11 supports the emulation to run x64 Windows apps.


https://learn.microsoft.com/en-us/windows/arm/add-arm-support#emulation-on-arm-based-devices-for-x86-or-x64-windows-apps

> Windows 11 extends that emulation to run unmodified x64 Windows apps
on Arm-powered devices.

If the field `windows_arm_emulation` is `true`, aqua uses pre built
binaries for Windows amd64 on Windows arm64. `windows_arm_emulation`
must be boolean. By default, `windows_arm_emulation` is false.

`windows_arm_emulation` is similar with
[rosetta2](https://aquaproj.github.io/docs/reference/registry-config/rosetta2).

### [`v2.19.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.19.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.18.0...v2.19.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.19.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.19.0)
| https://github.com/aquaproj/aqua/compare/v2.18.0...v2.19.0

#### Features

[#&#8203;2506](https://togithub.com/orgs/aquaproj/discussions/2506)
[#&#8203;2507](https://togithub.com/aquaproj/aqua/issues/2507) which:
Add the command line option `--version`

e.g.

```console
$ aqua which --version yq
v4.40.2
```

#### Bug Fixes

[#&#8203;2508](https://togithub.com/orgs/aquaproj/discussions/2508)
[#&#8203;2512](https://togithub.com/aquaproj/aqua/issues/2512) Fix a bug
of bash scripts for Git Bash

https://www.shellcheck.net/wiki/SC2086

Bash scripts generated by aqua had a bug that command line arguments
having spaces were separated to multiple arguments incorrectly.

```console
$  curl -sSfL https://jsonplaceholder.typicode.com/todos | jq '.[] | .id'
jq: error: Could not open file |: Invalid argument
jq: error: Could not open file .id: No such file or directory
```

### [`v2.18.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.18.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.4...v2.18.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.18.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.18.0)
| https://github.com/aquaproj/aqua/compare/v2.17.4...v2.18.0

#### Features

[#&#8203;2494](https://togithub.com/aquaproj/aqua/issues/2494) update:
Support specifying new package versions

e.g.

```sh
aqua up [email protected]
```

[#&#8203;2461](https://togithub.com/aquaproj/aqua/issues/2461) Add debug
logs of `update` and `generate` commands
[@&#8203;dreamjz](https://togithub.com/dreamjz)

#### Bug Fixes

[#&#8203;2493](https://togithub.com/aquaproj/aqua/issues/2493)
[#&#8203;2495](https://togithub.com/aquaproj/aqua/issues/2495)
generate-registry: Fix the pagination of GitHub API List Releases

### [`v2.17.4`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.4)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.3...v2.17.4)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.4)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.4)
| https://github.com/aquaproj/aqua/compare/v2.17.3...v2.17.4

#### Others

[#&#8203;2401](https://togithub.com/aquaproj/aqua/issues/2401)
[#&#8203;2483](https://togithub.com/aquaproj/aqua/issues/2483) Release
aqua to
[Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)
🎉


[https://github.com/microsoft/winget-pkgs/pull/127174](https://togithub.com/microsoft/winget-pkgs/pull/127174)

### [`v2.17.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.2...v2.17.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.3)
| https://github.com/aquaproj/aqua/compare/v2.17.2...v2.17.3

#### Bug Fixes 🐞

[#&#8203;2476](https://togithub.com/orgs/aquaproj/discussions/2476)
[#&#8203;2479](https://togithub.com/aquaproj/aqua/issues/2479) policy:
fix a bug that the [Git Repository root's policy
file](https://aquaproj.github.io/docs/reference/security/policy-as-code/git-policy/)
doesn't work well in working trees

#### Others

[#&#8203;2470](https://togithub.com/aquaproj/aqua/issues/2470)
[#&#8203;2472](https://togithub.com/aquaproj/aqua/issues/2472) Replace
the third party library github.com/codingsince1985/checksum with
standard libraries

This library caused the bug
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467) and we
can replace the library with standard libraries easily.
We should use standard libraries as much as possible.

[#&#8203;2473](https://togithub.com/aquaproj/aqua/issues/2473) Revert
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469)

[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469) was
required to resolve
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467) , but
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467) was
resolved by
[#&#8203;2472](https://togithub.com/aquaproj/aqua/issues/2472) so
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469) is
unnecessary anymore.


[https://github.com/aquaproj/aqua/pull/2472#issuecomment-1812023515](https://togithub.com/aquaproj/aqua/pull/2472#issuecomment-1812023515)

### [`v2.17.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.1...v2.17.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.2)
| https://github.com/aquaproj/aqua/compare/v2.17.1...v2.17.2

#### Bug Fixes

[#&#8203;2457](https://togithub.com/orgs/aquaproj/discussions/2457)
[#&#8203;2458](https://togithub.com/aquaproj/aqua/issues/2458) update:
Fix a panic when trying to update commands unmanaged by aqua
[@&#8203;dreamjz](https://togithub.com/dreamjz)
[#&#8203;2468](https://togithub.com/aquaproj/aqua/issues/2468) policy
init: Fix typo in CLI output [@&#8203;ka2n](https://togithub.com/ka2n)
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467)
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469)
update-checksum: Copy an asset to a temporal file to calculate the
checksum correctly

##### update-checksum: Copy an asset to a temporal file to calculate the
checksum correctly

[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467)
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469)

This fixes a bug that the checksum verification of aws/aws-cli fails
because the expected checksum of aws/aws-cli is wrong.

If you face the issue already, please remove checksums of aws/aws-cli
from aqua-checksums.json and run `aqua update-checksum` with aqua
v2.17.2 or newer.

aqua-checksums.json

```json
    // Delete this element
    {
      "id": "http/awscli.amazonaws.com/AWSCLIV2-2.13.35.pkg",
      "checksum": "520E1CB49004ECED7DB1CFE70E6FA73EFC6EDDF1CDB38AF535D126F1DB6574C8",
      "algorithm": "sha256"
    },
```

#### 🎉 New Contributors

Thank you for your contribution!

[@&#8203;ka2n](https://togithub.com/ka2n)
[#&#8203;2468](https://togithub.com/aquaproj/aqua/issues/2468)

### [`v2.17.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.0...v2.17.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.1)
| https://github.com/aquaproj/aqua/compare/v2.17.0...v2.17.1

#### Bug Fixes 🐞

[#&#8203;2456](https://togithub.com/aquaproj/aqua/issues/2456)
generate-registry: Fix a bug that the order of versions in pkg.yaml is
wrong

### [`v2.17.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.4...v2.17.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.0)
| https://github.com/aquaproj/aqua/compare/v2.16.4...v2.17.0

#### Features

[#&#8203;2355](https://togithub.com/aquaproj/aqua/issues/2355)
[#&#8203;2447](https://togithub.com/aquaproj/aqua/issues/2447) Limit the
number of versions retrieved by command `generate` and `update`
[@&#8203;dreamjz](https://togithub.com/dreamjz)

With aqua v2.16.4 or earlier, `aqua generate -s` and `aqua update -s`
retrieved all versions and these commands couldn't change the number of
versions.
This release adds the command line option `--limit/-l` to these
commands.
The value of this option is the number of versions.
The default value is `30`.
If the value is less than zero, all versions are retrieved.

This change would reduced useless GitHub API calls and make these
commands faster.

e.g.

```sh
aqua g -s # Retrieve 30 versions
aqua g -s -l 10 # Retrieve 10 versions
aqua g -s -l -1 # Retrieve all versions
```

[#&#8203;2445](https://togithub.com/aquaproj/aqua/issues/2445) Change
the default checksum algorithm from `sha512` to `sha256`

sha256 is enough.
We don't need to use sha512.

[#&#8203;2428](https://togithub.com/aquaproj/aqua/issues/2428) Add an
alias of `update-checksum` command

```sh
aqua upc
```

[#&#8203;2105](https://togithub.com/aquaproj/aqua/issues/2105)
[#&#8203;2425](https://togithub.com/aquaproj/aqua/issues/2425)
[#&#8203;2413](https://togithub.com/aquaproj/aqua/issues/2413)
generate-registry: Improve the format of `version_overrides` and improve
the logic to generate `version_overrides`

#### Bug Fixes 🐞

[#&#8203;2444](https://togithub.com/aquaproj/aqua/issues/2444)
generate-registry: Fix checksum filename for sha1

#### Others

[#&#8203;2436](https://togithub.com/aquaproj/aqua/issues/2436)
chore(deps): update dependency slsa-framework/slsa-verifier to v2.4.1
[#&#8203;2395](https://togithub.com/aquaproj/aqua/issues/2395) change
the format of prebuilt binaries for Windows to zip

Before:

aqua_windows_amd64.tar.gz
aqua_windows_arm64.tar.gz

After:

aqua_windows_amd64.zip
aqua_windows_arm64.zip

On Windows zip is more user friendly than tar.gz.
And to support Winget for Windows, it seems we need to change the format
to zip.

-
[https://github.com/aquaproj/aqua/issues/2401](https://togithub.com/aquaproj/aqua/issues/2401)

<!---->

      • winget
⨯ release failed after 1m11s error=no zip archives found matching
goos=[windows] goarch=[amd64 386] goamd64=v1 ids=[]
    Error: Process completed with exit code 1.

⚠️ To upgrade aqua to v2.17.0 or newer on Windows, you need to upgrade
aqua to v2.16.1 ~ v2.16.4 once.

e.g.

```sh
aqua upa v2.16.4
aqua upa
```

#### New Contributors 🎉

Thank you for your contribution!

[@&#8203;dreamjz](https://togithub.com/dreamjz)
[#&#8203;2447](https://togithub.com/aquaproj/aqua/issues/2447)

### [`v2.16.4`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.4)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.3...v2.16.4)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.4)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.4)
| https://github.com/aquaproj/aqua/compare/v2.16.3...v2.16.4

#### Bug Fixes

[#&#8203;2420](https://togithub.com/aquaproj/aqua/issues/2420)
generate-registry: Get latest versions of cargo packages

### [`v2.16.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.2...v2.16.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.3)
| https://github.com/aquaproj/aqua/compare/v2.16.2...v2.16.3

#### Bug Fixes

[#&#8203;2414](https://togithub.com/orgs/aquaproj/discussions/2414)
[#&#8203;2415](https://togithub.com/aquaproj/aqua/issues/2415) fix a bug
that AQUA_DISABLE_POLIDY doesn't work
[#&#8203;2412](https://togithub.com/aquaproj/aqua/issues/2412)
generate-registry: Improve the judgement of OS by file extensions such
as `.exe`, `.pkg`, and `.dmg`

#### Others

Refactoring

### [`v2.16.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.1...v2.16.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.2)
| https://github.com/aquaproj/aqua/compare/v2.16.1...v2.16.2

#### Others

[#&#8203;2399](https://togithub.com/aquaproj/aqua/issues/2399)
[#&#8203;2400](https://togithub.com/aquaproj/aqua/issues/2400) Support
[Scoop](https://scoop.sh/) 🎉

You can install aqua by [Scoop](https://scoop.sh/) on Windows.

```sh
scoop bucket add aquaproj https://github.com/aquaproj/scoop-bucket
scoop install aqua
```

### [`v2.16.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.0...v2.16.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.1)
| https://github.com/aquaproj/aqua/compare/v2.16.0...v2.16.1

#### Bug Fixes

[#&#8203;2393](https://togithub.com/aquaproj/aqua/issues/2393)
generate-registry: Fix the usage of `-cmd` option

#### Others

[#&#8203;2394](https://togithub.com/aquaproj/aqua/issues/2394)
[#&#8203;2396](https://togithub.com/aquaproj/aqua/issues/2396) Change
the format to zip on Windows at aqua v2.17.0

This is a preparation for the future change.
At aqua v2.17.0, the format of prebuilt binaries for Windows will be
changed from `tar.gz` to `zip`.
This is because `zip` is more user friendly for Windows Users and some
tools such as Winget expects zip.


https://github.com/goreleaser/goreleaser/blob/b1271d2559e05711e31c6d39c9cbf9eb3e808d5a/internal/pipe/winget/winget.go#L41

To upgrade aqua to v2.17.0 or later on Windows, you need to upgrade aqua
to v2.16.1 or later first.
aqua can't upgrade aqua from v2.16.0 or earlier to v2.17.0 or later on
Windows.

```console
$ aqua update-aqua v2.16.1
$ aqua update-aqua
```

### [`v2.16.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.15.1...v2.16.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.0)
| https://github.com/aquaproj/aqua/compare/v2.15.1...v2.16.0

#### Features

[#&#8203;2380](https://togithub.com/aquaproj/aqua/issues/2380) Support
removing packages by command names

e.g.

```sh
aqua rm tfcmt # Remove suzuki-shunsuke/tfcmt
```

### [`v2.15.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.15.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.15.0...v2.15.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.15.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.15.1)
| https://github.com/aquaproj/aqua/compare/v2.15.0...v2.15.1

#### Bug Fixes

[#&#8203;2376](https://togithub.com/aquaproj/aqua/issues/2376) Fix a bug
that aqua stops searching configuration files if files are located in
either aqua or .aqua directory

##### How to reproduce the issue

Directory structure

    /workspace/
      aqua.yaml
      foo/ # current directory
        aqua/
          aqua.yaml

Run `aqua i`.

```sh
aqua i
```

##### Expected behaviour

aqua installs packages with `/workspace/aqua.yaml` and
`/workspace/foo/aqua/aqua.yaml`.

##### Actual behaviour

aqua installs packages with only `/workspace/foo/aqua/aqua.yaml`, and
ignores `/workspace/aqua.yaml`.

### [`v2.15.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.15.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.14.1...v2.15.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.15.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.15.0)
| https://github.com/aquaproj/aqua/compare/v2.14.1...v2.15.0

#### Overview

-   Features
- [#&#8203;2351](https://togithub.com/aquaproj/aqua/issues/2351)
[#&#8203;2366](https://togithub.com/aquaproj/aqua/issues/2366)
generate-registry: Get all GitHub Releases by default
- [#&#8203;2349](https://togithub.com/aquaproj/aqua/issues/2349)
[#&#8203;2362](https://togithub.com/aquaproj/aqua/issues/2362)
generate-registry: Add an option `-cmd`
-   Others
- [#&#8203;2359](https://togithub.com/aquaproj/aqua/issues/2359)
update-aqua: Add an alias `upa` to the command

#### generate-registry: Get all GitHub Releases by default

[#&#8203;2351](https://togithub.com/aquaproj/aqua/issues/2351)
[#&#8203;2366](https://togithub.com/aquaproj/aqua/issues/2366)

The behaviour of `generate-registry` command was changed.
The command gets all GitHub Releases by default to generate
`version_overrides`.

The option `--deep` is deprecated. The option has no meaning anymore.
The option is kept only for the compatibility.
The option will be removed at aqua v3.

The option `--limit (-l)` is added. This option takes an integer, which
is the maximum number of releases.

e.g.

```sh
aqua gr --limit 100
```

#### generate-registry: Add an option `-cmd`

[#&#8203;2349](https://togithub.com/aquaproj/aqua/issues/2349)
[#&#8203;2362](https://togithub.com/aquaproj/aqua/issues/2362)

If `-cmd` is set, `files` is set.

e.g.

```console
$ aqua gr -cmd gh cli/cli
```

```yaml

### ...
  files:
    - name: gh
```

You can specify multiple commands with commas `,`.

e.g.

```console
$ aqua gr -cmd age,age-keygen FiloSottile/age
```

```yaml

### ...
  files:
    - name: age
    - name: age-keygen
```

#### update-aqua: Add an alias `upa` to the command

[#&#8203;2359](https://togithub.com/aquaproj/aqua/issues/2359)

`update-aqua` is too long.

```console
$ aqua upa # update-aqua
```

### [`v2.14.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.14.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.14.0...v2.14.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.14.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.14.1)
| https://github.com/aquaproj/aqua/compare/v2.14.0...v2.14.1

#### Fixes

[#&#8203;2354](https://togithub.com/aquaproj/aqua/issues/2354)
[#&#8203;2356](https://togithub.com/aquaproj/aqua/issues/2356) generate:
Fixed a bug that sometimes `aqua g` outputs non latest version

versiongetter: Fix getting the latest version

Use GetLatestRelease API before using ListReleases API

[#&#8203;2245](https://togithub.com/aquaproj/aqua/issues/2245)
[#&#8203;2358](https://togithub.com/aquaproj/aqua/issues/2358) generate:
Fixed a bug that `aqua g -i` fails when a comment exists in the same
line with `packages:`

Get string values from `*ast.StringNode.Value` instead of
`ast.MapKeyNode.String()`

#### Others

[#&#8203;2340](https://togithub.com/aquaproj/aqua/issues/2340)
fix(deps): update module github.com/google/go-github/v55 to v56

### [`v2.14.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.14.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.13.1...v2.14.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.14.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.14.0)
| https://github.com/aquaproj/aqua/compare/v2.13.1...v2.14.0

[#&#8203;1657](https://togithub.com/aquaproj/aqua/issues/1657)
[#&#8203;2329](https://togithub.com/aquaproj/aqua/issues/2329) Update
registries and packages by update command

Finally `aqua update` command is supported 🎉
You can update all packages and registries, or select updated packages.
You can also select packages and versions with fuzzy finder.

[Document](https://aquaproj.github.io/docs/guides/update-command/)

> \[!NOTE]\
> You can update registries and packages by Renovate too.
> Please see [Update packages by
Renovate](https://aquaproj.github.io/docs/guides/renovate).

You can update registries and packages by `aqua update (up)` command.

If no argument is passed, all registries and packages are updated to the
latest.

```sh

### Update all packages and registries to the latest versions
aqua update
```

This command has an alias "up"

```sh
aqua up
```

This command

- gets the latest version from GitHub Releases, GitHub Tags, and
crates.io and updates aqua.yaml
-   doesn't install packages

#### Updated configuration file paths

This command finds a configuration file `aqua.yaml` according to [the
rule](https://aquaproj.github.io/docs/reference/config/#configuration-file-path)
and updates only one file.
Once this command finds one file, it stops searching other aqua.yaml.

So if you want to update other files, please change the current
directory or specify the configuration file path with the option `-c`.

```sh
aqua -c foo/aqua.yaml update
```

#### Update only registries

If you want to update only registries, please use the `--only-registry
[-r]` option.

```sh

### Update only registries
aqua update -r
```

#### Update only packages

If you want to update only packages, please use the `--only-package
[-p]` option.

```sh

### Update only packages
aqua update -p
```

#### Update only specific commands

You can specify packages with command names. aqua finds packages that
have these commands and updates them.

```sh
aqua update <command name> [<command name> ...]
```

e.g.

```sh

### Update cli/cli
aqua update gh
```

#### Select packages with Fuzzy Finder

If you want to update only specific packages, please use the `-i`
option.
You can select packages with the fuzzy finder.
If `-i` option is used, registries aren't updated.

```sh

### Select updated packages with fuzzy finder
aqua update -i
```

#### Select the package version with Fuzzy Finder

If you want to select versions, please use the `-s` option.
You can select versions with the fuzzy finder. You can not only update
but also downgrade packages.

```sh

### Select updated packages and versions with fuzzy finder
aqua update -i -s
```

#### The field `version` is ignored

This command doesn't update packages if the `version` field is used.

```yaml
packages:
  - name: cli/[email protected] # Update
  - name: gohugoio/hugo
    version: v0.118.0 # Doesn't update
```

So if you don't want to update specific packages, the `version` field is
useful.

#### commit hashes are ignored

This command doesn't update commit hashes.

```yaml
packages:
  - name: google/pprof@d04f2422c8a17569c14e84da0fae252d9529826b # Doesn't update
```

#### ⚠️ Known Issues

There are some known issues related to the third party library
[goccy/go-yaml](https://togithub.com/goccy/go-yaml).

##### `null` is set to `packages` wrongly if registries are updated and
`packages` is empty

This issue is because of the third party library
[goccy/go-yaml](https://togithub.com/goccy/go-yaml).

Before

```yaml
registries:
- ref: v4.60.0
  type: standard
packages:
```

Run `aqua up`.

```console
$ aqua up
INFO[0000] updating a registry                           aqua_version= env=darwin/arm64 new_version=v4.65.0 old_version=v4.60.0 program=aqua registry_name=standard
```

After

```yaml
registries:
- ref: v4.65.0
  type: standard
packages: null
```

##### Newlines are removed wrongly

This issue is because of the third party library
[goccy/go-yaml](https://togithub.com/goccy/go-yaml).

-
[https://github.com/goccy/go-yaml/issues/285](https://togithub.com/goccy/go-yaml/issues/285)

Before

```yaml
registries:
- ref: v4.60.0
  type: standard

packages:
- name: suzuki-shunsuke/[email protected]
```

Run `aqua up`.

```console
$ aqua up
INFO[0000] updating a registry                           aqua_version= env=darwin/arm64 new_version=v4.65.0 old_version=v4.60.0 program=aqua registry_name=standard
```

After

```yaml
registries:
- ref: v4.65.0
  type: standard
packages:
- name: suzuki-shunsuke/[email protected]
```

#### Discord Channel was open 🎉

This has nothing to do with this release, but we opened a Discord
channel 🎉

https://discord.com/channels/1141777454164365382/1162444533959757955

### [`v2.13.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.13.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.13.0...v2.13.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.13.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.13.1)
| https://github.com/aquaproj/aqua/compare/v2.13.0...v2.13.1

#### Others

[#&#8203;2332](https://togithub.com/aquaproj/aqua/issues/2332)
chore(deps): update dependency golang/go to v1.21.3
[#&#8203;2335](https://togithub.com/aquaproj/aqua/issues/2335)
fix(deps): update module github.com/google/go-cmp to v0.6.0

### [`v2.13.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.13.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.12.2...v2.13.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.13.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.13.0)
| https://github.com/aquaproj/aqua/compare/v2.12.2...v2.13.0

This release includes several improvement of Registry settings.
This updates affect Registry developers including aqua-registry's
contributors.
There is no direct change for almost all aqua users.

To keep the compatibility and minimize the effect to users, we won't use
new features in
[aqua-registry](https://togithub.com/aquaproj/aqua-registry) for at
least one month after v2.13.0 is released.
If we apply new features to existing packages of aqua-registry, this
requires a major update of aqua-registry because this is a breaking
change.

#### Features

[#&#8203;2318](https://togithub.com/aquaproj/aqua/issues/2318)
[#&#8203;2320](https://togithub.com/aquaproj/aqua/issues/2320) Add a new
field `envs` to `overrides` instead of `goos` and `goarch`
[#&#8203;2132](https://togithub.com/aquaproj/aqua/issues/2132)
[#&#8203;2317](https://togithub.com/aquaproj/aqua/issues/2317) Support
using `go_install` or `go_build` if the platform isn't included in
`supported_envs`
[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2314](https://togithub.com/aquaproj/aqua/issues/2314) Support
omitting `.{{.Format}}` in `asset` and `url`
[#&#8203;1876](https://togithub.com/aquaproj/aqua/issues/1876)
[#&#8203;2313](https://togithub.com/aquaproj/aqua/issues/2313) Support
short file extensions in `format`
[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2310](https://togithub.com/aquaproj/aqua/issues/2310) Add the
template variable `AssetWithoutExt` to `files[].src`

##### Add a new field `envs` to `overrides` instead of `goos` and
`goarch`

[#&#8203;2318](https://togithub.com/aquaproj/aqua/issues/2318)
[#&#8203;2320](https://togithub.com/aquaproj/aqua/issues/2320)

Add a new field `envs` to `overrides`.
The syntax of `envs` is same with `supported_envs`.

The syntax of `envs` is more flexible than the combination of `goos` and
`goarch`.
In some cases we can simplify the code.

For example, the combination of `goos` and `goarch` can't express the
pair of `linux/arm64` and `windows/arm64`.

```yaml
overrides:
  - goos: windows
    goarch: arm64

### ...
  - goos: linux
    goarch: arm64

### ...
```

`envs` can simplify the code.

```yaml
overrides:
  - envs:
      - windows/arm64
      - linux/arm64

### ...
```

##### Support using `go_install` or `go_build` if the platform isn't
included in `supported_envs`

[#&#8203;2132](https://togithub.com/aquaproj/aqua/issues/2132)
[#&#8203;2317](https://togithub.com/aquaproj/aqua/issues/2317)

A new field `build` is added to Registry settings.
This enables to install packages by `go_install` or `go_build` on
platforms where prebuilt binaries aren't published.

This is an example usage of the new field `build`.

```yaml
packages:
  - type: github_release
    repo_owner: suzuki-shunsuke
    repo_name: tfcmt
    asset: tfcmt_{{.OS}}_{{.Arch}}.{{.Format}}
    format: tar.gz
    supported_envs:
      - linux
    build:
      type: go_build
      files:
        - name: tfcmt
          src: ./cmd/tfcmt
          dir: tfcmt-{{trimV .Version}}
```

`supported_envs` is `linux`, so on platforms other than linux aqua
installs tfcmt by `go_build`.

`go_install` is also available.

```yaml
    build:
      type: go_install
      path: github.com/suzuki-shunsuke/tfcmt/v4/cmd/tfcmt
```

If `go_build` failed on windows/arm64 and you'd like to exclude
windows/arm64, `excluded_envs` is available.

```yaml
    build:
      type: go_build
      excluded_envs:
        - windows/arm64
      files:
        - name: tfcmt
          src: ./cmd/tfcmt
          dir: tfcmt-{{trimV .Version}}
```

If you'd like to disable `build` in version_overrides, `enabled` is
available.

```yaml
build:
  enabled: false
```

##### Why not `overrides`?

Of course, we can do the same thing with `overrides`.
But `build` makes the intension of the code clear and simplify the code.

##### Support omitting `.{{.Format}}` in `asset` and `url`

[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2314](https://togithub.com/aquaproj/aqua/issues/2314)

The file extension is complemented if it isn't included in `asset` and
`url`.

e.g.

```yaml
asset: foo # This is same with `foo.tar.gz` and `foo.{{.Format}}`
format: tar.gz
```

The benefit is that you can unify the setting of `raw` format and non
`raw` format.

Before

```yaml
asset: kalker-{{.OS}}.{{.Format}}
format: zip
overrides:
  - goos: linux
    format: raw
    asset: kalker-{{.OS}}
```

After

```yaml
asset: kalker-{{.OS}}
format: zip
overrides:
  - goos: linux
    format: raw
```

You can disable the complementation by setting `append_ext: false`.

```yaml
append_ext: false
```

##### Support short file extensions in `format`

[#&#8203;1876](https://togithub.com/aquaproj/aqua/issues/1876)
[#&#8203;2313](https://togithub.com/aquaproj/aqua/issues/2313)

The following short file extensions can be available in `format`.

-   tbr
-   tbz
-   tbz2
-   tgz
-   tlz4
-   tsz
-   txz

e.g.

```yaml
format: tbz2
```

##### Add the template variable `AssetWithoutExt` to `files[].src`

[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2310](https://togithub.com/aquaproj/aqua/issues/2310)

The new template variable `AssetWithoutExt` is a string that a file
extension is removed from `Asset`.

e.g.

```yaml
    asset: aks-engine-{{.Version}}-{{.OS}}-{{.Arch}}.tar.gz
    files:
      - name: aks-engine
        src: "{{.AssetWithoutExt}}/aks-engine" # "{{.AssetWithoutExt}}" == "aks-engine-{{.Version}}-{{.OS}}-{{.Arch}}"
```

### [`v2.12.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.12.1...v2.12.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.2)
| https://github.com/aquaproj/aqua/compare/v2.12.1...v2.12.2

#### Bug Fixes

[#&#8203;2303](https://togithub.com/aquaproj/aqua/issues/2303) Fix a bug
that `path` isn't overriden by `overrides`

#### Others

[#&#8203;2304](https://togithub.com/aquaproj/aqua/issues/2304) Update
aqua-proxy to
[v1.2.4](https://togithub.com/aquaproj/aqua-proxy/releases/tag/v1.2.4)
[#&#8203;2302](https://togithub.com/aquaproj/aqua/issues/2302) Update Go
to v1.21.2
[#&#8203;2286](https://togithub.com/aquaproj/aqua/issues/2286)
[#&#8203;2287](https://togithub.com/aquaproj/aqua/issues/2287)
[#&#8203;2289](https://togithub.com/aquaproj/aqua/issues/2289)
[#&#8203;2290](https://togithub.com/aquaproj/aqua/issues/2290)
[#&#8203;2291](https://togithub.com/aquaproj/aqua/issues/2291)
Refactoring

### [`v2.12.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.12.0...v2.12.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.1)
| https://github.com/aquaproj/aqua/compare/v2.12.0...v2.12.1

#### Bug Fixes

[#&#8203;2282](https://togithub.com/aquaproj/aqua/issues/2282) Fix a bug
that `supported_envs` gets true even if darwin isn't supported on
darwin/arm64

This bug was introduced in aqua v1.30.0.

-
[https://github.com/aquaproj/aqua-registry/pull/15753#issuecomment-1736716809](https://togithub.com/aquaproj/aqua-registry/pull/15753#issuecomment-1736716809)

We found an original issue and a pull request.

-
[https://github.com/aquaproj/aqua/issues/1512](https://togithub.com/aquaproj/aqua/issues/1512)
-
[https://github.com/aquaproj/aqua/pull/1514](https://togithub.com/aquaproj/aqua/pull/1514)

> Add darwin/arm64 to supported_envs if rosetta2 is enabled.
> Currently, we have to add darwin/arm64 explicitly even if rosetta2 is
enabled.

We remembered the intention, but this should be applied only if
darwin/amd64 is included in `supported_envs`.

### [`v2.12.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.11.0...v2.12.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.0)
| https://github.com/aquaproj/aqua/compare/v2.11.0...v2.12.0

#### Features

[#&#8203;2251](https://togithub.com/aquaproj/aqua/issues/2251)
[#&#8203;2254](https://togithub.com/aquaproj/aqua/issues/2254) Support
selecting packages interactively with a fuzzy finder when uninstalling
packages

Added `-i` option to `remove` command

```console
$ aqua rm -i
```

If enabling this option, you can select packages interactively with a
fuzzy finder.

#### Others

[#&#8203;2255](https://togithub.com/aquaproj/aqua/issues/2255) Update
aqua-proxy to v1.2.3

### [`v2.11.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.11.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.10.1...v2.11.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.11.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.11.0)
| https://github.com/aquaproj/aqua/compare/v2.10.1...v2.11.0

#### Features

[#&#8203;538](https://togithub.com/aquaproj/aqua/issues/538)
[#&#8203;2249](https://togithub.com/aquaproj/aqua/issues/2249) Support
uninstalling packages
[#&#8203;2131](https://togithub.com/aquaproj/aqua/issues/2131)
[#&#8203;2065](https://togithub.com/aquaproj/aqua/issues/2065) Support
`go_build` package

##### Support uninstalling packages

[#&#8203;538](https://togithub.com/aquaproj/aqua/issues/538)
[#&#8203;2249](https://togithub.com/aquaproj/aqua/issues/2249)

Add a subcommand `rm` to uninstall packages

##### Usage

```console
$ aqua rm --all [-a] # Uninstall all packages
```

```console
$ aqua rm [<registry name>,]<package name> [...] # Uninstall packages
```

##### Example

```console
$ aqua rm -a
```

```console
$ aqua rm cli/cli direnv/direnv
```

##### ⚠️ Limitation

The following package types can't be removed without `--all` option.

-   `http`
-   `go_install`

##### Support `go_build` package

[#&#8203;2039](https://togithub.com/orgs/aquaproj/discussions/2039)
[#&#8203;2131](https://togithub.com/aquaproj/aqua/issues/2131)
[#&#8203;2065](https://togithub.com/aquaproj/aqua/issues/2065)

The new package type `go_build` has been supported.

##### Example

```yaml
packages:
  - type: go_build
    repo_owner: suzuki-shunsuke
    repo_name: github-comment
    files:
      - name: github-comment
        src: ./cmd/github-comment
        dir: github-comment-{{trimV .Version}}
```


$AQUA_ROOT_DIR/pkgs/go_build/github.com/suzuki-shunsuke/github-comment/v4.0.0/
      bin/
        github-comment
      src/github-comment-4.0.0/
        cmd/github-comment/main.go
        ...

##### Why is the feature needed?

Because some packages couldn't be installed by `go install` but could be
installed by `go build`.

aqua ever supported `go` type package, but it was abandoned at aqua v2
because we thought we could replace it to `go_install` type package.

-   https://aquaproj.github.io/docs/reference/registry-config/go-package
-
https://aquaproj.github.io/docs/reference/upgrade-guide/v2/remove-type-go

But we found that some packages couldn't be installed by `go install`
but could be installed by `go build`.

For example, suzuki-shunsuke/github-comment v5 can't be installed by `go
install`.

```console
$ go install github.com/suzuki-shunsuke/github-comment/v5/cmd/[email protected]
go: github.com/suzuki-shunsuke/github-comment/v5/cmd/[email protected]: github.com/suzuki-shunsuke/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/suzuki-shunsuke/github-comment/v5")

$ go install github.com/suzuki-shunsuke/github-comment/cmd/[email protected] 
go: github.com/suzuki-shunsuke/github-comment/cmd/[email protected]: github.com/suzuki-shunsuke/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/suzuki-shunsuke/github-comment/v5")
```

This is because github-comment's go.mod was wrong.


https://github.com/suzuki-shunsuke/github-comment/blob/e5fd429b4d1bd84e8b825a2c7b693d6ac570022f/go.mod#L1

    module github.com/suzuki-shunsuke/github-comment

This issue was solved by github-comment v6, but github-comment v2 ~ v5
can't still be installed by `go install`.

-
[https://github.com/suzuki-shunsuke/github-comment/pull/900](https://togithub.com/suzuki-shunsuke/github-comment/pull/900)

There are many Go tools that can't be installed by `go install`.

#### Bug Fixes

[#&#8203;2120](https://togithub.com/aquaproj/aqua/issues/2120) Fix the
default checksum parser to support a tab character as separator
[#&#8203;2147](https://togithub.com/aquaproj/aqua/issues/2147) Use the
basename of the package name as the default command name
[#&#8203;2176](https://togithub.com/aquaproj/aqua/issues/2176)
generate-registry: Fix the format of `.tar.zst`
[#&#8203;2202](https://togithub.com/aquaproj/aqua/issues/2202)
generate-registry: Remove empty `error_message`
[#&#8203;2215](https://togithub.com/aquaproj/aqua/issues/2215) fix a log
field `version_constraint`

#### Others

[#&#8203;2151](https://togithub.com/aquaproj/aqua/issues/2151)
[#&#8203;2163](https://togithub.com/aquaproj/aqua/issues/2163)
[#&#8203;2227](https://togithub.com/aquaproj/aqua/issues/2227) Update Go
1.20.6 to 1.21.1

### [`v2.10.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.10.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.10.0...v2.10.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.1)
| https://github.com/aquaproj/aqua/compare/v2.10.0...v2.10.1

#### Bug Fixes

[#&#8203;2119](https://togithub.com/aquaproj/aqua/issues/2119) Stop
outputting checksum file paths except for `aqua update-checksum`

This is a bug of aqua
[v2.10.0](https://togithub.com/aquaproj/aqua/releases/tag/v2.10.0)
[#&#8203;2108](https://togithub.com/aquaproj/aqua/issues/2108)

### [`v2.10.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.10.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.9.1...v2.10.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.0)
| https://github.com/aquaproj/aqua/compare/v2.9.1...v2.10.0

#### Features

[#&#8203;2111](https://togithub.com/aquaproj/aqua/issues/2111) Add a
subcommand `info`
[#&#8203;2108](https://togithub.com/aquaproj/aqua/issues/2108)
update-checksum: Output created or updated file names

#### Others

[#&#8203;2110](https://togithub.com/aquaproj/aqua/issues/2110) Update
aqua-proxy v1.2.0 to v1.2.1

https://github.com/aquaproj/aqua-proxy/releases/tag/v1.2.1

##### Features - Add a subcommand `info`

[#&#8203;2111](https://togithub.com/aquaproj/aqua/issues/2111)

e.g.

```console
$ aqua info
{
  "version": "2.10.0",
  "commit_hash": "b80f805489c317d83d7fe0b182f3ef5c82a06725",
  "os": "darwin",
  "arch": "arm64",
  "pwd": "/Users/(USER)/Documents/aqua/info",
  "root_dir": "/Users/(USER)/.local/share/aquaproj-aqua",
  "env": {
    "AQUA_GITHUB_TOKEN": "(masked)",
    "AQUA_GLOBAL_CONFIG": "/Users/(USER)/repos/src/github.com/aquaproj/aqua-registry/aqua-all.yaml"
  },
  "config_files": [
    {
      "path": "/Users/(USER)/Documents/aqua/info/aqua/aqua.yaml"
    }
  ]
}
```

GitHub Access Token and user name are masked.

This is useful for troubleshooting.
Please paste the result of this command to your support issues.

##### Features - update-checksum: Output created or updated file names

[#&#8203;2108](https://togithub.com/aquaproj/aqua/issues/2108)

```console
$ aqua update-checksum
```

This is useful to commit and push created or updated files in CI.

### [`v2.9.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.9.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.9.0...v2.9.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.9.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.9.1)
| https://github.com/aquaproj/aqua/compare/v2.9.0...v2.9.1

#### Bug Fixes

[#&#8203;2098](https://togithub.com/aquaproj/aqua/issues/2098) Fix the
Windows support. Fix a bug that aqua skips renaming files mistakenly on
Windows.

This bug affects only Windows.
Windows can't execute files without file extension, but some packages
release executable files without file extension.
So aqua renames files to add file extension such as `.exe` on Windows
when aqua installs them.

This release fixes a bug that this feature doesn't work well.

#### Others

[#&#8203;2091](https://togithub.com/aquaproj/aqua/issues/2091) Update Go
1.20.5 to 1.20.6

### [`v2.9.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.9.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.8.0...v2.9.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.9.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.9.0)
| https://github.com/aquaproj/aqua/compare/v2.8.0...v2.9.0

#### Features

[#&#8203;2058](https://togithub.com/orgs/aquaproj/discussions/2058)
[#&#8203;2063](https://togithub.com/aquaproj/aqua/issues/2063) Support
disabling Lazy Install
[#&#8203;2027](https://togithub.com/orgs/aquaproj/discussions/2027)
[#&#8203;2062](https://togithub.com/aquaproj/aqua/issues/2062) Add
`-detail` option to "generate" command

##### Support disabling Lazy Install

[#&#8203;2058](https://togithub.com/orgs/aquaproj/discussions/2058)
[#&#8203;2063](https://togithub.com/aquaproj/aqua/issues/2063)

Lazy Install is enabled by default, but you can disable it with the
environment variable `AQUA_DISABLE_LAZY_INSTALL`.

e.g.

```sh
export AQUA_DISABLE_LAZY_INSTALL=true
```

If Lazy Install is disabled, the command would fail if the package isn't
installed in advance.

e.g.

```console
$ tfcmt -v
FATA[0000] aqua failed                                   aqua_version= doc="https://aquaproj.github.io/docs/reference/codes/006" env=darwin/arm64 error="the executable file isn't installed yet. Lazy Install is disabled" exe_name=tfcmt package=suzuki-shunsuke/tfcmt package_version=v1.0.0 program=aqua
```

Disabling Lazy Install is useful to improve the security and keep the
governance. You can prevent malicious commands from being installed and
executed via Lazy Install. And you can also prevent aqua.yaml from being
overwritten.

This is especially useful for CI of Monorepo.

The purpose is same with aqua's Policy, but disabling Lazy Install is
simpler than Policy.

##### Add `-detail` option to "generate" command

[#&#8203;2027](https://togithub.com/orgs/aquaproj/discussions/2027)
[#&#8203;2062](https://togithub.com/aquaproj/aqua/issues/2062)

With -detail (-d) option, aqua outputs additional information such as
description and link.

```console
$ aqua g -detail cli/cli
- name: cli/[email protected]
  description: GitHub’s official command line tool
  link: https://github.com/cli/cli
```

The environment variable `AQUA_GENERATE_WITH_DETAIL` is also available.

```sh
export AQUA_GENERATE_WITH_DETAIL=true
```

#### Others

[#&#8203;2046](https://togithub.com/aquaproj/aqua/issues/2046) Update Go
1.20.4 to 1.20.5

### [`v2.8.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.8.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.7.1...v2.8.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.8.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.8.0)
| https://github.com/aquaproj/aqua/compare/v2.7.1...v2.8.0

#### Features

[#&#8203;2016](https://togithub.com/orgs/aquaproj/discussions/2016)
[#&#8203;2019](https://togithub.com/aquaproj/aqua/issues/2019) Support a
new package type `cargo`, installing packages by `cargo install`
[#&#8203;2023](https://togithub.com/aquaproj/aqua/issues/2023) Support a
new command `root-dir`, outputting the aqua-root directory
`AQUA_ROOT_DIR` to the standard output

##### Support a new package type `cargo`

[#&#8203;2016](https://togithub.com/aquaproj/aqua/issues/2016)
[#&#8203;2019](https://togithub.com/aquaproj/aqua/issues/2019)
[Document](https://aquaproj.github.io/docs/reference/registry-config/cargo-package)

The package is installed by [cargo
install](https://doc.rust-lang.org/cargo/commands/cargo-install.html)
command.

You can manage tools written in Rust with aqua, which means you can
manage them and their versions declaratively in the consistent way. You
can switch tool versions per project and update them continuously by
Renovate!

For details, please see
[Document](https://aquaproj.github.io/docs/reference/registry-config/cargo-package)

##### Support a new command `root-dir`

[#&#8203;2023](https://togithub.com/aquaproj/aqua/issues/2023)

```console
$ aqua help root-dir
NAME:
   aqua root-dir - Output the aqua root directory (AQUA_ROOT_DIR)

USAGE:
   aqua root-dir [command options] [arguments...]

DESCRIPTION:
   Output the aqua root directory (AQUA_ROOT_DIR)
   e.g.

   $ aqua root-dir
   /home/foo/.local/share/aquaproj-aqua

   $ export "PATH=$(aqua root-dir)/bin:PATH"

OPTIONS:
   --help, -h  show help
```

### [`v2.7.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.7.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.7.0...v2.7.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.7.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.7.1)
| https://github.com/aquaproj/aqua/compare/v2.7.0...v2.7.1

#### Bug Fixes

[#&#8203;2003](https://togithub.com/aquaproj/aqua/issues/2003)
[#&#8203;2006](https://togithub.com/aquaproj/aqua/issues/2006) Fix a bug
that [the progress
bar](https://aquaproj.github.io/docs/reference/config/progress-bar/)
doesn't work well if some verification such as checksum, SLSA, and
Cosign are enabled
[#&#8203;2013](https://togithub.com/aquaproj/aqua/issues/2013)
[#&#8203;2015](https://togithub.com/aquaproj/aqua/issues/2015) Convert
`files[].src` with
[filepath.FromSlash](https://pkg.go.dev/path/filepath#FromSlash) for
Windows

#### Others

[#&#8203;2014](https://togithub.com/aquaproj/aqua/issues/2014) Support
the character `tab` as a separator of the default checksum parser

### [`v2.7.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.7.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.6.0...v2.7.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.7.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.7.0)
| https://github.com/aquaproj/aqua/compare/v2.6.0...v2.7.0

#### Features

[#&#8203;1803](https://togithub.com/aquaproj/aqua/issues/1803)
[#&#8203;2002](https://togithub.com/aquaproj/aqua/issues/2002) Support
unarchiving `PKG` format on macOS

#### Others

[#&#8203;1996](https://togithub.com/aquaproj/aqua/issues/1996) Update
slsa-verifier to v2.3.0
[#&#8203;1997](https://togithub.com/aquaproj/aqua/issues/1997)
[#&#8203;2001](https://togithub.com/aquaproj/aqua/issues/2001)
Refactoring

### [`v2.6.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.6.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.5.2...v2.6.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.6.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.6.0)
| https://github.com/aquaproj/aqua/compare/v2.5.2...v2.6.0

#### Features

[#&#8203;1984](https://togithub.com/aquaproj/aqua/issues/1984)
generate-registry: Enable to parse tags not conforming to semver

*If you don't develop Registry or don't contribute to Standard Registry,
you can ignore this release.*

generate-registry command couldn't parse tags not conforming to semver.
This release enables aqua to parse those tags and extract prefixes and
versions.

For example, this release enables aqua to parse the tag
[version\_112](https://togithub.com/WebAssembly/binaryen/releases/tag/version\_112)
and extracts the prefix `version_` and the version `112`.

### [`v2.5.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.5.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.5.1...v2.5.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.5.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.5.2)
| https://github.com/aquaproj/aqua/compare/v2.5.1...v2.5.2

#### Fixes

[#&#8203;1983](https://togithub.com/aquaproj/aqua/issues/1983)
generate-registry: Use the default checksum parser

### [`v2.5.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.5.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.5.0...v2.5.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.5.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.5.1)
| https://github.com/aquaproj/aqua/compare/v2.5.0...v2.5.1

#### Fixes

[#&#8203;1979](https://togithub.com/aquaproj/aqua/issues/1979)
generate-registry: Add `unknown-linux` and `pc-windows` to patterns of
`replacements`
[#&#8203;1872](https://togithub.com/aquaproj/aqua/issues/1872)
[#&#8203;1976](https://togithub.com/aquaproj/aqua/issues/1976) Move the
symbolic link of `aqua-proxy` from `$AQUA_ROOT_DIR/bin/aqua-proxy` to
`$AQUA_ROOT_DIR/aqua-proxy`

### [`v2.5.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.5.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.4.3...v2.5.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.5.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.5.0)
| https://github.com/aquaproj/aqua/compare/v2.4.3...v2.5.0

#### Features

[#&#8203;1925](https://togithub.com/aquaproj/aqua/issues/1925)
[#&#8203;1926](https://togithub.com/aquaproj/aqua/issues/1926) Execute
commands by `execve(2)` by default

https://aquaproj.github.io/docs/reference/execve-2

[#&#8203;710](https://togithub.com/aquaproj/aqua/issues/710)
[#&#8203;729](https://togithub.com/aquaproj/aqua/issues/729)
[#&#8203;1597](https://togithub.com/aquaproj/aqua/issues/1597)
[#&#8203;1925](https://togithub.com/aquaproj/aqua/issues/1925)

⚠️ In Windows this feature doesn't work.
In Windows, aqua creates small shell scripts and bat scripts instead of
`aqua-proxy` and symbolic links.
And Windows doesn't support `execve(2)`, so the environment variable
`AQUA_X_SYS_EXEC` is ignored.

When a command `x` is executed via aqua, the command is executed as the
following.

1.  $AQUA_ROOT_DIR/bin/x: symbolic link to aqua-proxy
2.  aqua-proxy executes the command `aqua exec -- x`
3.  aqua executes `x`

So the command `x` is executed via `aqua-proxy` and `aqua`.
Until aqua v2.5.0, `aqua-proxy` and `aqua` executed commands as
subprocess. You can confirm it by checking the process tree by `pstree`
command.

e.g.

```console
$ nvim # nvim is managed by aqua
$ pstree -s nvim
```

         \-+= 00719 shunsukesuzuki -zsh
           \-+= 09955 shunsukesuzuki nvim # aqua-proxy
             \-+- 09956 shunsukesuzuki aqua exec -- nvim
\--- 09957 shunsukesuzuki
/Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/neovim/neovim/v0.7.0/nvim-macos.tar.gz/nvim-osx64/bin/nvim

<!---->

    aqua-proxy -> aqua -> x

Sometimes this behaviour caused trouble.
[#&#8203;710](https://togithub.com/aquaproj/aqua/issues/710)
[#&#8203;1597](https://togithub.com/aquaproj/aqua/issues/1597)

From aqua v2.5.0, `aqua-proxy` and `aqua` execute commands by
[execve(2)](https://pkg.go.dev/golang.org/x/sys/unix#Exec) in Linux and
macOS by default.

So extra subprocess isn't raised.

         \-+= 82315 shunsukesuzuki -zsh
           \-+= 82630 shunsukesuzuki nvim

If you feel aqua becomes unstable due to this feature, you can disable
this feature by the environment variable `AQUA_X_SYS_EXEC`.

```sh
export AQUA_X_SYS_EXEC=false
```

#### Others

[#&#8203;1926](https://togithub.com/aquaproj/aqua/issues/1926) Update
aqua-proxy to
[v1.2.0](https://togithub.com/aquaproj/aqua-proxy/releases/tag/v1.2.0)
[#&#8203;1964](https://togithub.com/aquaproj/aqua/issues/1964) Improve
error messages when it failed to install aqua-proxy, cosign, and
slsa-verifier

### [`v2.4.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.4.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.4.2...v2.4.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.4.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.4.3)
| https://github.com/aquaproj/aqua/compare/v2.4.2...v2.4.3

#### Bug Fixes

[#&#8203;1961](https://togithub.com/aquaproj/aqua/issues/1961)
[#&#8203;1963](https://togithub.com/aquaproj/aqua/issues/1963) Fix the
hardcoded checksum of slsa-verifier windows/amd64

The checksum of slsa-verifier v2.2.0 windows/amd64 was wrong.
So it failed to install slsa-verifier internally.

This bug affects only windows/amd64.

This bug affects aqua >= 2.3.7, aqua <= 2.4.2

-
[https://github.com/aquaproj/aqua/issues/1961#issuecomment-1536897000](https://togithub.com/aquaproj/aqua/issues/1961#issuecomment-1536897000)

### [`v2.4.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.4.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.4.1...v2.4.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.4.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.4.2)
| https://github.com/aquaproj/aqua/compare/v2.4.1...v2.4.2

#### Bu

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDguMCIsInVwZGF0ZWRJblZlciI6IjM3LjEwOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: mend-for-github-com[bot] <50673670+mend-for-github-com[bot]@users.noreply.github.com>
sheldonhull referenced this pull request in DelineaXPM/dsv-github-action Jan 23, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua](https://togithub.com/aquaproj/aqua) | major |
`v1.38.0` -> `v2.21.3` |

---

### Release Notes

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

### [`v2.21.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.21.2...v2.21.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.3)
| https://github.com/aquaproj/aqua/compare/v2.21.2...v2.21.3

##### Bug Fixes

[#&#8203;2585](https://togithub.com/aquaproj/aqua/issues/2585)
[#&#8203;2586](https://togithub.com/aquaproj/aqua/issues/2586) Update
checksums of cosign

### [`v2.21.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.21.1...v2.21.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.2)
| https://github.com/aquaproj/aqua/compare/v2.21.1...v2.21.2

##### ⚠️ This release has a bug

The bug was already fixed at v2.21.3

##### Others

[#&#8203;2582](https://togithub.com/aquaproj/aqua/issues/2582) Fix a bug
of release workflow

### [`v2.21.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.21.0...v2.21.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.1)
| https://github.com/aquaproj/aqua/compare/v2.21.0...v2.21.1

##### ⚠️ The release failed


https://github.com/aquaproj/aqua/actions/runs/7260967360/job/19781204828#step:10:147

      ⨯ release failed after 2m26s               error=1 error occurred:
* scoop manifests: could not update "aqua.json": PUT
https://api.github.com/repos/aquaproj/scoop-bucket/contents/aqua.json:
403 Resource not accessible by integration []

We fixed the bug and release v2.21.2.

##### Bug Fixes

[#&#8203;2534](https://togithub.com/aquaproj/aqua/issues/2534) Fix a bug
of root dir on Windows
[#&#8203;2580](https://togithub.com/aquaproj/aqua/issues/2580)
[#&#8203;2581](https://togithub.com/aquaproj/aqua/issues/2581) Fix a bug
that validation fails even if no_asset or error_message is set
[https://github.com/aquaproj/aqua-registry/pull/18326#issuecomment-1862164476](https://togithub.com/aquaproj/aqua-registry/pull/18326#issuecomment-1862164476)

### [`v2.21.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.21.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.20.0...v2.21.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.21.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.21.0)
| https://github.com/aquaproj/aqua/compare/v2.20.0...v2.21.0

##### Features

[#&#8203;2517](https://togithub.com/aquaproj/aqua/issues/2517)
[#&#8203;2518](https://togithub.com/aquaproj/aqua/issues/2518) perf:
Convert Standard Registry and github_content Registries from YAML to
JSON when installing them

This update improves the performance to read Registries.
Stanard registry is a huge YAML file over 30,000 lines so it has a
little overhead to read it.
By this update, aqua converts Standard Registry and github_content
Registries from YAML to JSON.
JSON format decreases the overhead.
aqua converts them internally, so we don't need to do anything.

### [`v2.20.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.20.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.19.0...v2.20.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.20.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.20.0)
| https://github.com/aquaproj/aqua/compare/v2.19.0...v2.20.0

##### Features

[#&#8203;2514](https://togithub.com/orgs/aquaproj/discussions/2514)
[#&#8203;2515](https://togithub.com/aquaproj/aqua/issues/2515) Add a
field `windows_arm_emulation` for Windows ARM Emulation

ARM based Windows 11 supports the emulation to run x64 Windows apps.


https://learn.microsoft.com/en-us/windows/arm/add-arm-support#emulation-on-arm-based-devices-for-x86-or-x64-windows-apps

> Windows 11 extends that emulation to run unmodified x64 Windows apps
on Arm-powered devices.

If the field `windows_arm_emulation` is `true`, aqua uses pre built
binaries for Windows amd64 on Windows arm64. `windows_arm_emulation`
must be boolean. By default, `windows_arm_emulation` is false.

`windows_arm_emulation` is similar with
[rosetta2](https://aquaproj.github.io/docs/reference/registry-config/rosetta2).

### [`v2.19.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.19.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.18.0...v2.19.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.19.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.19.0)
| https://github.com/aquaproj/aqua/compare/v2.18.0...v2.19.0

##### Features

[#&#8203;2506](https://togithub.com/orgs/aquaproj/discussions/2506)
[#&#8203;2507](https://togithub.com/aquaproj/aqua/issues/2507) which:
Add the command line option `--version`

e.g.

```console
$ aqua which --version yq
v4.40.2
```

##### Bug Fixes

[#&#8203;2508](https://togithub.com/orgs/aquaproj/discussions/2508)
[#&#8203;2512](https://togithub.com/aquaproj/aqua/issues/2512) Fix a bug
of bash scripts for Git Bash

https://www.shellcheck.net/wiki/SC2086

Bash scripts generated by aqua had a bug that command line arguments
having spaces were separated to multiple arguments incorrectly.

```console
$  curl -sSfL https://jsonplaceholder.typicode.com/todos | jq '.[] | .id'
jq: error: Could not open file |: Invalid argument
jq: error: Could not open file .id: No such file or directory
```

### [`v2.18.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.18.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.4...v2.18.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.18.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.18.0)
| https://github.com/aquaproj/aqua/compare/v2.17.4...v2.18.0

##### Features

[#&#8203;2494](https://togithub.com/aquaproj/aqua/issues/2494) update:
Support specifying new package versions

e.g.

```sh
aqua up [email protected]
```

[#&#8203;2461](https://togithub.com/aquaproj/aqua/issues/2461) Add debug
logs of `update` and `generate` commands
[@&#8203;dreamjz](https://togithub.com/dreamjz)

##### Bug Fixes

[#&#8203;2493](https://togithub.com/aquaproj/aqua/issues/2493)
[#&#8203;2495](https://togithub.com/aquaproj/aqua/issues/2495)
generate-registry: Fix the pagination of GitHub API List Releases

### [`v2.17.4`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.4)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.3...v2.17.4)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.4)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.4)
| https://github.com/aquaproj/aqua/compare/v2.17.3...v2.17.4

#### Others

[#&#8203;2401](https://togithub.com/aquaproj/aqua/issues/2401)
[#&#8203;2483](https://togithub.com/aquaproj/aqua/issues/2483) Release
aqua to
[Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)
🎉


[https://github.com/microsoft/winget-pkgs/pull/127174](https://togithub.com/microsoft/winget-pkgs/pull/127174)

### [`v2.17.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.2...v2.17.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.3)
| https://github.com/aquaproj/aqua/compare/v2.17.2...v2.17.3

##### Bug Fixes 🐞

[#&#8203;2476](https://togithub.com/orgs/aquaproj/discussions/2476)
[#&#8203;2479](https://togithub.com/aquaproj/aqua/issues/2479) policy:
fix a bug that the [Git Repository root's policy
file](https://aquaproj.github.io/docs/reference/security/policy-as-code/git-policy/)
doesn't work well in working trees

##### Others

[#&#8203;2470](https://togithub.com/aquaproj/aqua/issues/2470)
[#&#8203;2472](https://togithub.com/aquaproj/aqua/issues/2472) Replace
the third party library github.com/codingsince1985/checksum with
standard libraries

This library caused the bug
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467) and we
can replace the library with standard libraries easily.
We should use standard libraries as much as possible.

[#&#8203;2473](https://togithub.com/aquaproj/aqua/issues/2473) Revert
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469)

[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469) was
required to resolve
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467) , but
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467) was
resolved by
[#&#8203;2472](https://togithub.com/aquaproj/aqua/issues/2472) so
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469) is
unnecessary anymore.


[https://github.com/aquaproj/aqua/pull/2472#issuecomment-1812023515](https://togithub.com/aquaproj/aqua/pull/2472#issuecomment-1812023515)

### [`v2.17.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.1...v2.17.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.2)
| https://github.com/aquaproj/aqua/compare/v2.17.1...v2.17.2

#### Bug Fixes

[#&#8203;2457](https://togithub.com/orgs/aquaproj/discussions/2457)
[#&#8203;2458](https://togithub.com/aquaproj/aqua/issues/2458) update:
Fix a panic when trying to update commands unmanaged by aqua
[@&#8203;dreamjz](https://togithub.com/dreamjz)
[#&#8203;2468](https://togithub.com/aquaproj/aqua/issues/2468) policy
init: Fix typo in CLI output [@&#8203;ka2n](https://togithub.com/ka2n)
[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467)
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469)
update-checksum: Copy an asset to a temporal file to calculate the
checksum correctly

##### update-checksum: Copy an asset to a temporal file to calculate the
checksum correctly

[#&#8203;2467](https://togithub.com/aquaproj/aqua/issues/2467)
[#&#8203;2469](https://togithub.com/aquaproj/aqua/issues/2469)

This fixes a bug that the checksum verification of aws/aws-cli fails
because the expected checksum of aws/aws-cli is wrong.

If you face the issue already, please remove checksums of aws/aws-cli
from aqua-checksums.json and run `aqua update-checksum` with aqua
v2.17.2 or newer.

aqua-checksums.json

```json
    // Delete this element
    {
      "id": "http/awscli.amazonaws.com/AWSCLIV2-2.13.35.pkg",
      "checksum": "520E1CB49004ECED7DB1CFE70E6FA73EFC6EDDF1CDB38AF535D126F1DB6574C8",
      "algorithm": "sha256"
    },
```

#### 🎉 New Contributors

Thank you for your contribution!

[@&#8203;ka2n](https://togithub.com/ka2n)
[#&#8203;2468](https://togithub.com/aquaproj/aqua/issues/2468)

### [`v2.17.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.17.0...v2.17.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.1)
| https://github.com/aquaproj/aqua/compare/v2.17.0...v2.17.1

#### Bug Fixes 🐞

[#&#8203;2456](https://togithub.com/aquaproj/aqua/issues/2456)
generate-registry: Fix a bug that the order of versions in pkg.yaml is
wrong

### [`v2.17.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.17.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.4...v2.17.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.17.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.17.0)
| https://github.com/aquaproj/aqua/compare/v2.16.4...v2.17.0

##### Features

[#&#8203;2355](https://togithub.com/aquaproj/aqua/issues/2355)
[#&#8203;2447](https://togithub.com/aquaproj/aqua/issues/2447) Limit the
number of versions retrieved by command `generate` and `update`
[@&#8203;dreamjz](https://togithub.com/dreamjz)

With aqua v2.16.4 or earlier, `aqua generate -s` and `aqua update -s`
retrieved all versions and these commands couldn't change the number of
versions.
This release adds the command line option `--limit/-l` to these
commands.
The value of this option is the number of versions.
The default value is `30`.
If the value is less than zero, all versions are retrieved.

This change would reduced useless GitHub API calls and make these
commands faster.

e.g.

```sh
aqua g -s # Retrieve 30 versions
aqua g -s -l 10 # Retrieve 10 versions
aqua g -s -l -1 # Retrieve all versions
```

[#&#8203;2445](https://togithub.com/aquaproj/aqua/issues/2445) Change
the default checksum algorithm from `sha512` to `sha256`

sha256 is enough.
We don't need to use sha512.

[#&#8203;2428](https://togithub.com/aquaproj/aqua/issues/2428) Add an
alias of `update-checksum` command

```sh
aqua upc
```

[#&#8203;2105](https://togithub.com/aquaproj/aqua/issues/2105)
[#&#8203;2425](https://togithub.com/aquaproj/aqua/issues/2425)
[#&#8203;2413](https://togithub.com/aquaproj/aqua/issues/2413)
generate-registry: Improve the format of `version_overrides` and improve
the logic to generate `version_overrides`

##### Bug Fixes 🐞

[#&#8203;2444](https://togithub.com/aquaproj/aqua/issues/2444)
generate-registry: Fix checksum filename for sha1

##### Others

[#&#8203;2436](https://togithub.com/aquaproj/aqua/issues/2436)
chore(deps): update dependency slsa-framework/slsa-verifier to v2.4.1
[#&#8203;2395](https://togithub.com/aquaproj/aqua/issues/2395) change
the format of prebuilt binaries for Windows to zip

Before:

aqua_windows_amd64.tar.gz
aqua_windows_arm64.tar.gz

After:

aqua_windows_amd64.zip
aqua_windows_arm64.zip

On Windows zip is more user friendly than tar.gz.
And to support Winget for Windows, it seems we need to change the format
to zip.

-
[https://github.com/aquaproj/aqua/issues/2401](https://togithub.com/aquaproj/aqua/issues/2401)

<!---->

      • winget
⨯ release failed after 1m11s error=no zip archives found matching
goos=[windows] goarch=[amd64 386] goamd64=v1 ids=[]
    Error: Process completed with exit code 1.

⚠️ To upgrade aqua to v2.17.0 or newer on Windows, you need to upgrade
aqua to v2.16.1 ~ v2.16.4 once.

e.g.

```sh
aqua upa v2.16.4
aqua upa
```

##### New Contributors 🎉

Thank you for your contribution!

[@&#8203;dreamjz](https://togithub.com/dreamjz)
[#&#8203;2447](https://togithub.com/aquaproj/aqua/issues/2447)

### [`v2.16.4`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.4)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.3...v2.16.4)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.4)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.4)
| https://github.com/aquaproj/aqua/compare/v2.16.3...v2.16.4

##### Bug Fixes

[#&#8203;2420](https://togithub.com/aquaproj/aqua/issues/2420)
generate-registry: Get latest versions of cargo packages

### [`v2.16.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.2...v2.16.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.3)
| https://github.com/aquaproj/aqua/compare/v2.16.2...v2.16.3

##### Bug Fixes

[#&#8203;2414](https://togithub.com/orgs/aquaproj/discussions/2414)
[#&#8203;2415](https://togithub.com/aquaproj/aqua/issues/2415) fix a bug
that AQUA_DISABLE_POLIDY doesn't work
[#&#8203;2412](https://togithub.com/aquaproj/aqua/issues/2412)
generate-registry: Improve the judgement of OS by file extensions such
as `.exe`, `.pkg`, and `.dmg`

##### Others

Refactoring

### [`v2.16.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.1...v2.16.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.2)
| https://github.com/aquaproj/aqua/compare/v2.16.1...v2.16.2

#### Others

[#&#8203;2399](https://togithub.com/aquaproj/aqua/issues/2399)
[#&#8203;2400](https://togithub.com/aquaproj/aqua/issues/2400) Support
[Scoop](https://scoop.sh/) 🎉

You can install aqua by [Scoop](https://scoop.sh/) on Windows.

```sh
scoop bucket add aquaproj https://github.com/aquaproj/scoop-bucket
scoop install aqua
```

### [`v2.16.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.16.0...v2.16.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.1)
| https://github.com/aquaproj/aqua/compare/v2.16.0...v2.16.1

##### Bug Fixes

[#&#8203;2393](https://togithub.com/aquaproj/aqua/issues/2393)
generate-registry: Fix the usage of `-cmd` option

##### Others

[#&#8203;2394](https://togithub.com/aquaproj/aqua/issues/2394)
[#&#8203;2396](https://togithub.com/aquaproj/aqua/issues/2396) Change
the format to zip on Windows at aqua v2.17.0

This is a preparation for the future change.
At aqua v2.17.0, the format of prebuilt binaries for Windows will be
changed from `tar.gz` to `zip`.
This is because `zip` is more user friendly for Windows Users and some
tools such as Winget expects zip.


https://github.com/goreleaser/goreleaser/blob/b1271d2559e05711e31c6d39c9cbf9eb3e808d5a/internal/pipe/winget/winget.go#L41

To upgrade aqua to v2.17.0 or later on Windows, you need to upgrade aqua
to v2.16.1 or later first.
aqua can't upgrade aqua from v2.16.0 or earlier to v2.17.0 or later on
Windows.

```console
$ aqua update-aqua v2.16.1
$ aqua update-aqua
```

### [`v2.16.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.16.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.15.1...v2.16.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.16.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.16.0)
| https://github.com/aquaproj/aqua/compare/v2.15.1...v2.16.0

#### Features

[#&#8203;2380](https://togithub.com/aquaproj/aqua/issues/2380) Support
removing packages by command names

e.g.

```sh
aqua rm tfcmt # Remove suzuki-shunsuke/tfcmt
```

### [`v2.15.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.15.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.15.0...v2.15.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.15.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.15.1)
| https://github.com/aquaproj/aqua/compare/v2.15.0...v2.15.1

##### Bug Fixes

[#&#8203;2376](https://togithub.com/aquaproj/aqua/issues/2376) Fix a bug
that aqua stops searching configuration files if files are located in
either aqua or .aqua directory

##### How to reproduce the issue

Directory structure

    /workspace/
      aqua.yaml
      foo/ # current directory
        aqua/
          aqua.yaml

Run `aqua i`.

```sh
aqua i
```

##### Expected behaviour

aqua installs packages with `/workspace/aqua.yaml` and
`/workspace/foo/aqua/aqua.yaml`.

##### Actual behaviour

aqua installs packages with only `/workspace/foo/aqua/aqua.yaml`, and
ignores `/workspace/aqua.yaml`.

### [`v2.15.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.15.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.14.1...v2.15.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.15.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.15.0)
| https://github.com/aquaproj/aqua/compare/v2.14.1...v2.15.0

##### Overview

-   Features
- [#&#8203;2351](https://togithub.com/aquaproj/aqua/issues/2351)
[#&#8203;2366](https://togithub.com/aquaproj/aqua/issues/2366)
generate-registry: Get all GitHub Releases by default
- [#&#8203;2349](https://togithub.com/aquaproj/aqua/issues/2349)
[#&#8203;2362](https://togithub.com/aquaproj/aqua/issues/2362)
generate-registry: Add an option `-cmd`
-   Others
- [#&#8203;2359](https://togithub.com/aquaproj/aqua/issues/2359)
update-aqua: Add an alias `upa` to the command

##### generate-registry: Get all GitHub Releases by default

[#&#8203;2351](https://togithub.com/aquaproj/aqua/issues/2351)
[#&#8203;2366](https://togithub.com/aquaproj/aqua/issues/2366)

The behaviour of `generate-registry` command was changed.
The command gets all GitHub Releases by default to generate
`version_overrides`.

The option `--deep` is deprecated. The option has no meaning anymore.
The option is kept only for the compatibility.
The option will be removed at aqua v3.

The option `--limit (-l)` is added. This option takes an integer, which
is the maximum number of releases.

e.g.

```sh
aqua gr --limit 100
```

##### generate-registry: Add an option `-cmd`

[#&#8203;2349](https://togithub.com/aquaproj/aqua/issues/2349)
[#&#8203;2362](https://togithub.com/aquaproj/aqua/issues/2362)

If `-cmd` is set, `files` is set.

e.g.

```console
$ aqua gr -cmd gh cli/cli
```

```yaml

##### ...
  files:
    - name: gh
```

You can specify multiple commands with commas `,`.

e.g.

```console
$ aqua gr -cmd age,age-keygen FiloSottile/age
```

```yaml

##### ...
  files:
    - name: age
    - name: age-keygen
```

##### update-aqua: Add an alias `upa` to the command

[#&#8203;2359](https://togithub.com/aquaproj/aqua/issues/2359)

`update-aqua` is too long.

```console
$ aqua upa # update-aqua
```

### [`v2.14.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.14.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.14.0...v2.14.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.14.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.14.1)
| https://github.com/aquaproj/aqua/compare/v2.14.0...v2.14.1

##### Fixes

[#&#8203;2354](https://togithub.com/aquaproj/aqua/issues/2354)
[#&#8203;2356](https://togithub.com/aquaproj/aqua/issues/2356) generate:
Fixed a bug that sometimes `aqua g` outputs non latest version

versiongetter: Fix getting the latest version

Use GetLatestRelease API before using ListReleases API

[#&#8203;2245](https://togithub.com/aquaproj/aqua/issues/2245)
[#&#8203;2358](https://togithub.com/aquaproj/aqua/issues/2358) generate:
Fixed a bug that `aqua g -i` fails when a comment exists in the same
line with `packages:`

Get string values from `*ast.StringNode.Value` instead of
`ast.MapKeyNode.String()`

##### Others

[#&#8203;2340](https://togithub.com/aquaproj/aqua/issues/2340)
fix(deps): update module github.com/google/go-github/v55 to v56

### [`v2.14.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.14.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.13.1...v2.14.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.14.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.14.0)
| https://github.com/aquaproj/aqua/compare/v2.13.1...v2.14.0

[#&#8203;1657](https://togithub.com/aquaproj/aqua/issues/1657)
[#&#8203;2329](https://togithub.com/aquaproj/aqua/issues/2329) Update
registries and packages by update command

Finally `aqua update` command is supported 🎉
You can update all packages and registries, or select updated packages.
You can also select packages and versions with fuzzy finder.

[Document](https://aquaproj.github.io/docs/guides/update-command/)

> \[!NOTE]\
> You can update registries and packages by Renovate too.
> Please see [Update packages by
Renovate](https://aquaproj.github.io/docs/guides/renovate).

You can update registries and packages by `aqua update (up)` command.

If no argument is passed, all registries and packages are updated to the
latest.

```sh

##### Update all packages and registries to the latest versions
aqua update
```

This command has an alias "up"

```sh
aqua up
```

This command

- gets the latest version from GitHub Releases, GitHub Tags, and
crates.io and updates aqua.yaml
-   doesn't install packages

##### Updated configuration file paths

This command finds a configuration file `aqua.yaml` according to [the
rule](https://aquaproj.github.io/docs/reference/config/#configuration-file-path)
and updates only one file.
Once this command finds one file, it stops searching other aqua.yaml.

So if you want to update other files, please change the current
directory or specify the configuration file path with the option `-c`.

```sh
aqua -c foo/aqua.yaml update
```

##### Update only registries

If you want to update only registries, please use the `--only-registry
[-r]` option.

```sh

##### Update only registries
aqua update -r
```

##### Update only packages

If you want to update only packages, please use the `--only-package
[-p]` option.

```sh

##### Update only packages
aqua update -p
```

##### Update only specific commands

You can specify packages with command names. aqua finds packages that
have these commands and updates them.

```sh
aqua update <command name> [<command name> ...]
```

e.g.

```sh

##### Update cli/cli
aqua update gh
```

##### Select packages with Fuzzy Finder

If you want to update only specific packages, please use the `-i`
option.
You can select packages with the fuzzy finder.
If `-i` option is used, registries aren't updated.

```sh

##### Select updated packages with fuzzy finder
aqua update -i
```

##### Select the package version with Fuzzy Finder

If you want to select versions, please use the `-s` option.
You can select versions with the fuzzy finder. You can not only update
but also downgrade packages.

```sh

##### Select updated packages and versions with fuzzy finder
aqua update -i -s
```

##### The field `version` is ignored

This command doesn't update packages if the `version` field is used.

```yaml
packages:
  - name: cli/[email protected] # Update
  - name: gohugoio/hugo
    version: v0.118.0 # Doesn't update
```

So if you don't want to update specific packages, the `version` field is
useful.

##### commit hashes are ignored

This command doesn't update commit hashes.

```yaml
packages:
  - name: google/pprof@d04f2422c8a17569c14e84da0fae252d9529826b # Doesn't update
```

##### ⚠️ Known Issues

There are some known issues related to the third party library
[goccy/go-yaml](https://togithub.com/goccy/go-yaml).

##### `null` is set to `packages` wrongly if registries are updated and
`packages` is empty

This issue is because of the third party library
[goccy/go-yaml](https://togithub.com/goccy/go-yaml).

Before

```yaml
registries:
- ref: v4.60.0
  type: standard
packages:
```

Run `aqua up`.

```console
$ aqua up
INFO[0000] updating a registry                           aqua_version= env=darwin/arm64 new_version=v4.65.0 old_version=v4.60.0 program=aqua registry_name=standard
```

After

```yaml
registries:
- ref: v4.65.0
  type: standard
packages: null
```

##### Newlines are removed wrongly

This issue is because of the third party library
[goccy/go-yaml](https://togithub.com/goccy/go-yaml).

-
[https://github.com/goccy/go-yaml/issues/285](https://togithub.com/goccy/go-yaml/issues/285)

Before

```yaml
registries:
- ref: v4.60.0
  type: standard

packages:
- name: suzuki-shunsuke/[email protected]
```

Run `aqua up`.

```console
$ aqua up
INFO[0000] updating a registry                           aqua_version= env=darwin/arm64 new_version=v4.65.0 old_version=v4.60.0 program=aqua registry_name=standard
```

After

```yaml
registries:
- ref: v4.65.0
  type: standard
packages:
- name: suzuki-shunsuke/[email protected]
```

##### Discord Channel was open 🎉

This has nothing to do with this release, but we opened a Discord
channel 🎉

https://discord.com/channels/1141777454164365382/1162444533959757955

### [`v2.13.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.13.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.13.0...v2.13.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.13.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.13.1)
| https://github.com/aquaproj/aqua/compare/v2.13.0...v2.13.1

#### Others

[#&#8203;2332](https://togithub.com/aquaproj/aqua/issues/2332)
chore(deps): update dependency golang/go to v1.21.3
[#&#8203;2335](https://togithub.com/aquaproj/aqua/issues/2335)
fix(deps): update module github.com/google/go-cmp to v0.6.0

### [`v2.13.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.13.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.12.2...v2.13.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.13.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.13.0)
| https://github.com/aquaproj/aqua/compare/v2.12.2...v2.13.0

This release includes several improvement of Registry settings.
This updates affect Registry developers including aqua-registry's
contributors.
There is no direct change for almost all aqua users.

To keep the compatibility and minimize the effect to users, we won't use
new features in
[aqua-registry](https://togithub.com/aquaproj/aqua-registry) for at
least one month after v2.13.0 is released.
If we apply new features to existing packages of aqua-registry, this
requires a major update of aqua-registry because this is a breaking
change.

#### Features

[#&#8203;2318](https://togithub.com/aquaproj/aqua/issues/2318)
[#&#8203;2320](https://togithub.com/aquaproj/aqua/issues/2320) Add a new
field `envs` to `overrides` instead of `goos` and `goarch`
[#&#8203;2132](https://togithub.com/aquaproj/aqua/issues/2132)
[#&#8203;2317](https://togithub.com/aquaproj/aqua/issues/2317) Support
using `go_install` or `go_build` if the platform isn't included in
`supported_envs`
[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2314](https://togithub.com/aquaproj/aqua/issues/2314) Support
omitting `.{{.Format}}` in `asset` and `url`
[#&#8203;1876](https://togithub.com/aquaproj/aqua/issues/1876)
[#&#8203;2313](https://togithub.com/aquaproj/aqua/issues/2313) Support
short file extensions in `format`
[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2310](https://togithub.com/aquaproj/aqua/issues/2310) Add the
template variable `AssetWithoutExt` to `files[].src`

##### Add a new field `envs` to `overrides` instead of `goos` and
`goarch`

[#&#8203;2318](https://togithub.com/aquaproj/aqua/issues/2318)
[#&#8203;2320](https://togithub.com/aquaproj/aqua/issues/2320)

Add a new field `envs` to `overrides`.
The syntax of `envs` is same with `supported_envs`.

The syntax of `envs` is more flexible than the combination of `goos` and
`goarch`.
In some cases we can simplify the code.

For example, the combination of `goos` and `goarch` can't express the
pair of `linux/arm64` and `windows/arm64`.

```yaml
overrides:
  - goos: windows
    goarch: arm64

### ...
  - goos: linux
    goarch: arm64

### ...
```

`envs` can simplify the code.

```yaml
overrides:
  - envs:
      - windows/arm64
      - linux/arm64

### ...
```

##### Support using `go_install` or `go_build` if the platform isn't
included in `supported_envs`

[#&#8203;2132](https://togithub.com/aquaproj/aqua/issues/2132)
[#&#8203;2317](https://togithub.com/aquaproj/aqua/issues/2317)

A new field `build` is added to Registry settings.
This enables to install packages by `go_install` or `go_build` on
platforms where prebuilt binaries aren't published.

This is an example usage of the new field `build`.

```yaml
packages:
  - type: github_release
    repo_owner: suzuki-shunsuke
    repo_name: tfcmt
    asset: tfcmt_{{.OS}}_{{.Arch}}.{{.Format}}
    format: tar.gz
    supported_envs:
      - linux
    build:
      type: go_build
      files:
        - name: tfcmt
          src: ./cmd/tfcmt
          dir: tfcmt-{{trimV .Version}}
```

`supported_envs` is `linux`, so on platforms other than linux aqua
installs tfcmt by `go_build`.

`go_install` is also available.

```yaml
    build:
      type: go_install
      path: github.com/suzuki-shunsuke/tfcmt/v4/cmd/tfcmt
```

If `go_build` failed on windows/arm64 and you'd like to exclude
windows/arm64, `excluded_envs` is available.

```yaml
    build:
      type: go_build
      excluded_envs:
        - windows/arm64
      files:
        - name: tfcmt
          src: ./cmd/tfcmt
          dir: tfcmt-{{trimV .Version}}
```

If you'd like to disable `build` in version_overrides, `enabled` is
available.

```yaml
build:
  enabled: false
```

##### Why not `overrides`?

Of course, we can do the same thing with `overrides`.
But `build` makes the intension of the code clear and simplify the code.

##### Support omitting `.{{.Format}}` in `asset` and `url`

[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2314](https://togithub.com/aquaproj/aqua/issues/2314)

The file extension is complemented if it isn't included in `asset` and
`url`.

e.g.

```yaml
asset: foo # This is same with `foo.tar.gz` and `foo.{{.Format}}`
format: tar.gz
```

The benefit is that you can unify the setting of `raw` format and non
`raw` format.

Before

```yaml
asset: kalker-{{.OS}}.{{.Format}}
format: zip
overrides:
  - goos: linux
    format: raw
    asset: kalker-{{.OS}}
```

After

```yaml
asset: kalker-{{.OS}}
format: zip
overrides:
  - goos: linux
    format: raw
```

You can disable the complementation by setting `append_ext: false`.

```yaml
append_ext: false
```

##### Support short file extensions in `format`

[#&#8203;1876](https://togithub.com/aquaproj/aqua/issues/1876)
[#&#8203;2313](https://togithub.com/aquaproj/aqua/issues/2313)

The following short file extensions can be available in `format`.

-   tbr
-   tbz
-   tbz2
-   tgz
-   tlz4
-   tsz
-   txz

e.g.

```yaml
format: tbz2
```

##### Add the template variable `AssetWithoutExt` to `files[].src`

[#&#8203;1774](https://togithub.com/aquaproj/aqua/issues/1774)
[#&#8203;2310](https://togithub.com/aquaproj/aqua/issues/2310)

The new template variable `AssetWithoutExt` is a string that a file
extension is removed from `Asset`.

e.g.

```yaml
    asset: aks-engine-{{.Version}}-{{.OS}}-{{.Arch}}.tar.gz
    files:
      - name: aks-engine
        src: "{{.AssetWithoutExt}}/aks-engine" # "{{.AssetWithoutExt}}" == "aks-engine-{{.Version}}-{{.OS}}-{{.Arch}}"
```

### [`v2.12.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.12.1...v2.12.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.2)
| https://github.com/aquaproj/aqua/compare/v2.12.1...v2.12.2

##### Bug Fixes

[#&#8203;2303](https://togithub.com/aquaproj/aqua/issues/2303) Fix a bug
that `path` isn't overriden by `overrides`

##### Others

[#&#8203;2304](https://togithub.com/aquaproj/aqua/issues/2304) Update
aqua-proxy to
[v1.2.4](https://togithub.com/aquaproj/aqua-proxy/releases/tag/v1.2.4)
[#&#8203;2302](https://togithub.com/aquaproj/aqua/issues/2302) Update Go
to v1.21.2
[#&#8203;2286](https://togithub.com/aquaproj/aqua/issues/2286)
[#&#8203;2287](https://togithub.com/aquaproj/aqua/issues/2287)
[#&#8203;2289](https://togithub.com/aquaproj/aqua/issues/2289)
[#&#8203;2290](https://togithub.com/aquaproj/aqua/issues/2290)
[#&#8203;2291](https://togithub.com/aquaproj/aqua/issues/2291)
Refactoring

### [`v2.12.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.12.0...v2.12.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.1)
| https://github.com/aquaproj/aqua/compare/v2.12.0...v2.12.1

##### Bug Fixes

[#&#8203;2282](https://togithub.com/aquaproj/aqua/issues/2282) Fix a bug
that ` supported_envs `gets true even if darwin isn't supported on
darwin/arm64

This bug was introduced in aqua v1.30.0.

-
[https://github.com/aquaproj/aqua-registry/pull/15753#issuecomment-1736716809](https://togithub.com/aquaproj/aqua-registry/pull/15753#issuecomment-1736716809)

We found an original issue and a pull request.

-
[https://github.com/aquaproj/aqua/issues/1512](https://togithub.com/aquaproj/aqua/issues/1512)
-
[https://github.com/aquaproj/aqua/pull/1514](https://togithub.com/aquaproj/aqua/pull/1514)

> Add darwin/arm64 to supported_envs if rosetta2 is enabled.
> Currently, we have to add darwin/arm64 explicitly even if rosetta2 is
enabled.

We remembered the intention, but this should be applied only if
darwin/amd64 is included in `supported_envs`.

### [`v2.12.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.12.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.11.0...v2.12.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.12.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.12.0)
| https://github.com/aquaproj/aqua/compare/v2.11.0...v2.12.0

##### Features

[#&#8203;2251](https://togithub.com/aquaproj/aqua/issues/2251)
[#&#8203;2254](https://togithub.com/aquaproj/aqua/issues/2254) Support
selecting packages interactively with a fuzzy finder when uninstalling
packages

Added `-i` option to `remove` command

```console
$ aqua rm -i
```

If enabling this option, you can select packages interactively with a
fuzzy finder.

##### Others

[#&#8203;2255](https://togithub.com/aquaproj/aqua/issues/2255) Update
aqua-proxy to v1.2.3

### [`v2.11.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.11.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.10.1...v2.11.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.11.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.11.0)
| https://github.com/aquaproj/aqua/compare/v2.10.1...v2.11.0

##### Features

[#&#8203;538](https://togithub.com/aquaproj/aqua/issues/538)
[#&#8203;2249](https://togithub.com/aquaproj/aqua/issues/2249) Support
uninstalling packages
[#&#8203;2131](https://togithub.com/aquaproj/aqua/issues/2131)
[#&#8203;2065](https://togithub.com/aquaproj/aqua/issues/2065) Support
`go_build` package

##### Support uninstalling packages

[#&#8203;538](https://togithub.com/aquaproj/aqua/issues/538)
[#&#8203;2249](https://togithub.com/aquaproj/aqua/issues/2249)

Add a subcommand `rm` to uninstall packages

##### Usage

```console
$ aqua rm --all [-a] # Uninstall all packages
```

```console
$ aqua rm [<registry name>,]<package name> [...] # Uninstall packages
```

##### Example

```console
$ aqua rm -a
```

```console
$ aqua rm cli/cli direnv/direnv
```

##### ⚠️ Limitation

The following package types can't be removed without `--all` option.

-   `http`
-   `go_install`

##### Support `go_build` package

[#&#8203;2039](https://togithub.com/orgs/aquaproj/discussions/2039)
[#&#8203;2131](https://togithub.com/aquaproj/aqua/issues/2131)
[#&#8203;2065](https://togithub.com/aquaproj/aqua/issues/2065)

The new package type `go_build` has been supported.

##### Example

```yaml
packages:
  - type: go_build
    repo_owner: suzuki-shunsuke
    repo_name: github-comment
    files:
      - name: github-comment
        src: ./cmd/github-comment
        dir: github-comment-{{trimV .Version}}
```


$AQUA_ROOT_DIR/pkgs/go_build/github.com/suzuki-shunsuke/github-comment/v4.0.0/
      bin/
        github-comment
      src/github-comment-4.0.0/
        cmd/github-comment/main.go
        ...

##### Why is the feature needed?

Because some packages couldn't be installed by `go install` but could be
installed by `go build`.

aqua ever supported `go` type package, but it was abandoned at aqua v2
because we thought we could replace it to `go_install` type package.

-   https://aquaproj.github.io/docs/reference/registry-config/go-package
-
https://aquaproj.github.io/docs/reference/upgrade-guide/v2/remove-type-go

But we found that some packages couldn't be installed by `go install`
but could be installed by `go build`.

For example, suzuki-shunsuke/github-comment v5 can't be installed by `go
install`.

```console
$ go install github.com/suzuki-shunsuke/github-comment/v5/cmd/[email protected]
go: github.com/suzuki-shunsuke/github-comment/v5/cmd/[email protected]: github.com/suzuki-shunsuke/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/suzuki-shunsuke/github-comment/v5")

$ go install github.com/suzuki-shunsuke/github-comment/cmd/[email protected] 
go: github.com/suzuki-shunsuke/github-comment/cmd/[email protected]: github.com/suzuki-shunsuke/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/suzuki-shunsuke/github-comment/v5")
```

This is because github-comment's go.mod was wrong.


https://github.com/suzuki-shunsuke/github-comment/blob/e5fd429b4d1bd84e8b825a2c7b693d6ac570022f/go.mod#L1

    module github.com/suzuki-shunsuke/github-comment

This issue was solved by github-comment v6, but github-comment v2 ~ v5
can't still be installed by `go install`.

-
[https://github.com/suzuki-shunsuke/github-comment/pull/900](https://togithub.com/suzuki-shunsuke/github-comment/pull/900)

There are many Go tools that can't be installed by `go install`.

##### Bug Fixes

[#&#8203;2120](https://togithub.com/aquaproj/aqua/issues/2120) Fix the
default checksum parser to support a tab character as separator
[#&#8203;2147](https://togithub.com/aquaproj/aqua/issues/2147) Use the
basename of the package name as the default command name
[#&#8203;2176](https://togithub.com/aquaproj/aqua/issues/2176)
generate-registry: Fix the format of `.tar.zst`
[#&#8203;2202](https://togithub.com/aquaproj/aqua/issues/2202)
generate-registry: Remove empty `error_message`
[#&#8203;2215](https://togithub.com/aquaproj/aqua/issues/2215) fix a log
field `version_constraint`

##### Others

[#&#8203;2151](https://togithub.com/aquaproj/aqua/issues/2151)
[#&#8203;2163](https://togithub.com/aquaproj/aqua/issues/2163)
[#&#8203;2227](https://togithub.com/aquaproj/aqua/issues/2227) Update Go
1.20.6 to 1.21.1

### [`v2.10.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.10.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.10.0...v2.10.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.1)
| https://github.com/aquaproj/aqua/compare/v2.10.0...v2.10.1

##### Bug Fixes

[#&#8203;2119](https://togithub.com/aquaproj/aqua/issues/2119) Stop
outputting checksum file paths except for `aqua update-checksum`

This is a bug of aqua
[v2.10.0](https://togithub.com/aquaproj/aqua/releases/tag/v2.10.0)
[#&#8203;2108](https://togithub.com/aquaproj/aqua/issues/2108)

### [`v2.10.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.10.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.9.1...v2.10.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.0)
| https://github.com/aquaproj/aqua/compare/v2.9.1...v2.10.0

##### Features

[#&#8203;2111](https://togithub.com/aquaproj/aqua/issues/2111) Add a
subcommand `info`
[#&#8203;2108](https://togithub.com/aquaproj/aqua/issues/2108)
update-checksum: Output created or updated file names

##### Others

[#&#8203;2110](https://togithub.com/aquaproj/aqua/issues/2110) Update
aqua-proxy v1.2.0 to v1.2.1

https://github.com/aquaproj/aqua-proxy/releases/tag/v1.2.1

##### Features - Add a subcommand `info`

[#&#8203;2111](https://togithub.com/aquaproj/aqua/issues/2111)

e.g.

```console
$ aqua info
{
  "version": "2.10.0",
  "commit_hash": "b80f805489c317d83d7fe0b182f3ef5c82a06725",
  "os": "darwin",
  "arch": "arm64",
  "pwd": "/Users/(USER)/Documents/aqua/info",
  "root_dir": "/Users/(USER)/.local/share/aquaproj-aqua",
  "env": {
    "AQUA_GITHUB_TOKEN": "(masked)",
    "AQUA_GLOBAL_CONFIG": "/Users/(USER)/repos/src/github.com/aquaproj/aqua-registry/aqua-all.yaml"
  },
  "config_files": [
    {
      "path": "/Users/(USER)/Documents/aqua/info/aqua/aqua.yaml"
    }
  ]
}
```

GitHub Access Token and user name are masked.

This is useful for troubleshooting.
Please paste the result of this command to your support issues.

##### Features - update-checksum: Output created or updated file names

[#&#8203;2108](https://togithub.com/aquaproj/aqua/issues/2108)

```console
$ aqua update-checksum
```

This is useful to commit and push created or updated files in CI.

### [`v2.9.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.9.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.9.0...v2.9.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.9.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.9.1)
| https://github.com/aquaproj/aqua/compare/v2.9.0...v2.9.1

##### Bug Fixes

[#&#8203;2098](https://togithub.com/aquaproj/aqua/issues/2098) Fix the
Windows support. Fix a bug that aqua skips renaming files mistakenly on
Windows.

This bug affects only Windows.
Windows can't execute files without file extension, but some packages
release executable files without file extension.
So aqua renames files to add file extension such as `.exe` on Windows
when aqua installs them.

This release fixes a bug that this feature doesn't work well.

##### Others

[#&#8203;2091](https://togithub.com/aquaproj/aqua/issues/2091) Update Go
1.20.5 to 1.20.6

### [`v2.9.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.9.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.8.0...v2.9.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.9.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.9.0)
| https://github.com/aquaproj/aqua/compare/v2.8.0...v2.9.0

##### Features

[#&#8203;2058](https://togithub.com/orgs/aquaproj/discussions/2058)
[#&#8203;2063](https://togithub.com/aquaproj/aqua/issues/2063) Support
disabling Lazy Install
[#&#8203;2027](https://togithub.com/orgs/aquaproj/discussions/2027)
[#&#8203;2062](https://togithub.com/aquaproj/aqua/issues/2062) Add
`-detail` option to "generate" command

##### Support disabling Lazy Install

[#&#8203;2058](https://togithub.com/orgs/aquaproj/discussions/2058)
[#&#8203;2063](https://togithub.com/aquaproj/aqua/issues/2063)

Lazy Install is enabled by default, but you can disable it with the
environment variable `AQUA_DISABLE_LAZY_INSTALL`.

e.g.

```sh
export AQUA_DISABLE_LAZY_INSTALL=true
```

If Lazy Install is disabled, the command would fail if the package isn't
installed in advance.

e.g.

```console
$ tfcmt -v
FATA[0000] aqua failed                                   aqua_version= doc="https://aquaproj.github.io/docs/reference/codes/006" env=darwin/arm64 error="the executable file isn't installed yet. Lazy Install is disabled" exe_name=tfcmt package=suzuki-shunsuke/tfcmt package_version=v1.0.0 program=aqua
```

Disabling Lazy Install is useful to improve the security and keep the
governance. You can prevent malicious commands from being installed and
executed via Lazy Install. And you can also prevent aqua.yaml from being
overwritten.

This is especially useful for CI of Monorepo.

The purpose is same with aqua's Policy, but disabling Lazy Install is
simpler than Policy.

##### Add `-detail` option to "generate" command

[#&#8203;2027](https://togithub.com/orgs/aquaproj/discussions/2027)
[#&#8203;2062](https://togithub.com/aquaproj/aqua/issues/2062)

With -detail (-d) option, aqua outputs additional information such as
description and link.

```console
$ aqua g -detail cli/cli
- name: cli/[email protected]
  description: GitHub’s official command line tool
  link: https://github.com/cli/cli
```

The environment variable `AQUA_GENERATE_WITH_DETAIL` is also available.

```sh
export AQUA_GENERATE_WITH_DETAIL=true
```

##### Others

[#&#8203;2046](https://togithub.com/aquaproj/aqua/issues/2046) Update Go
1.20.4 to 1.20.5

### [`v2.8.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.8.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.7.1...v2.8.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.8.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.8.0)
| https://github.com/aquaproj/aqua/compare/v2.7.1...v2.8.0

##### Features

[#&#8203;2016](https://togithub.com/orgs/aquaproj/discussions/2016)
[#&#8203;2019](https://togithub.com/aquaproj/aqua/issues/2019) Support a
new package type `cargo`, installing packages by `cargo install`
[#&#8203;2023](https://togithub.com/aquaproj/aqua/issues/2023) Support a
new command `root-dir`, outputting the aqua-root directory
`AQUA_ROOT_DIR` to the standard output

##### Support a new package type `cargo`

[#&#8203;2016](https://togithub.com/aquaproj/aqua/issues/2016)
[#&#8203;2019](https://togithub.com/aquaproj/aqua/issues/2019)
[Document](https://aquaproj.github.io/docs/reference/registry-config/cargo-package)

The package is installed by [cargo
install](https://doc.rust-lang.org/cargo/commands/cargo-install.html)
command.

You can manage tools written in Rust with aqua, which means you can
manage them and their versions declaratively in the consistent way. You
can switch tool versions per project and update them continuously by
Renovate!

For details, please see
[Document](https://aquaproj.github.io/docs/reference/registry-config/cargo-package)

##### Support a new command `root-dir`

[#&#8203;2023](https://togithub.com/aquaproj/aqua/issues/2023)

```console
$ aqua help root-dir
NAME:
   aqua root-dir - Output the aqua root directory (AQUA_ROOT_DIR)

USAGE:
   aqua root-dir [command options] [arguments...]

DESCRIPTION:
   Output the aqua root directory (AQUA_ROOT_DIR)
   e.g.

   $ aqua root-dir
   /home/foo/.local/share/aquaproj-aqua

   $ export "PATH=$(aqua root-dir)/bin:PATH"

OPTIONS:
   --help, -h  show help
```

### [`v2.7.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.7.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.7.0...v2.7.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.7.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.7.1)
| https://github.com/aquaproj/aqua/compare/v2.7.0...v2.7.1

##### Bug Fixes

[#&#8203;2003](https://togithub.com/aquaproj/aqua/issues/2003)
[#&#8203;2006](https://togithub.com/aquaproj/aqua/issues/2006) Fix a bug
that [the progress
bar](https://aquaproj.github.io/docs/reference/config/progress-bar/)
doesn't work well if some verification such as checksum, SLSA, and
Cosign are enabled
[#&#8203;2013](https://togithub.com/aquaproj/aqua/issues/2013)
[#&#8203;2015](https://togithub.com/aquaproj/aqua/issues/2015) Convert
`files[].src` with
[filepath.FromSlash](https://pkg.go.dev/path/filepath#FromSlash) for
Windows

##### Others

[#&#8203;2014](https://togithub.com/aquaproj/aqua/issues/2014) Support
the character `tab` as a separator of the default checksum parser

### [`v2.7.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.7.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.6.0...v2.7.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.7.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.7.0)
| https://github.com/aquaproj/aqua/compare/v2.6.0...v2.7.0

##### Features

[#&#8203;1803](https://togithub.com/aquaproj/aqua/issues/1803)
[#&#8203;2002](https://togithub.com/aquaproj/aqua/issues/2002) Support
unarchiving `PKG` format on macOS

##### Others

[#&#8203;1996](https://togithub.com/aquaproj/aqua/issues/1996) Update
slsa-verifier to v2.3.0
[#&#8203;1997](https://togithub.com/aquaproj/aqua/issues/1997)
[#&#8203;2001](https://togithub.com/aquaproj/aqua/issues/2001)
Refactoring

### [`v2.6.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.6.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.5.2...v2.6.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.6.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.6.0)
| https://github.com/aquaproj/aqua/compare/v2.5.2...v2.6.0

##### Features

[#&#8203;1984](https://togithub.com/aquaproj/aqua/issues/1984)
generate-registry: Enable to parse tags not conforming to semver

*If you don't develop Registry or don't contribute to Standard Registry,
you can ignore this release.*

generate-registry command couldn't parse tags not conforming to semver.
This release enables aqua to parse those tags and extract prefixes and
versions.

For example, this release enables aqua to parse the tag
[version\_112](https://togithub.com/WebAssembly/binaryen/releases/tag/version\_112)
and extracts the prefix `version_` and the version `112`.

### [`v2.5.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.5.2)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.5.1...v2.5.2)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.5.2)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.5.2)
| https://github.com/aquaproj/aqua/compare/v2.5.1...v2.5.2

##### Fixes

[#&#8203;1983](https://togithub.com/aquaproj/aqua/issues/1983)
generate-registry: Use the default checksum parser

### [`v2.5.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.5.1)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.5.0...v2.5.1)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.5.1)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.5.1)
| https://github.com/aquaproj/aqua/compare/v2.5.0...v2.5.1

##### Fixes

[#&#8203;1979](https://togithub.com/aquaproj/aqua/issues/1979)
generate-registry: Add `unknown-linux` and `pc-windows` to patterns of
`replacements`
[#&#8203;1872](https://togithub.com/aquaproj/aqua/issues/1872)
[#&#8203;1976](https://togithub.com/aquaproj/aqua/issues/1976) Move the
symbolic link of `aqua-proxy` from `$AQUA_ROOT_DIR/bin/aqua-proxy` to
`$AQUA_ROOT_DIR/aqua-proxy`

### [`v2.5.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.5.0)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.4.3...v2.5.0)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.5.0)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.5.0)
| https://github.com/aquaproj/aqua/compare/v2.4.3...v2.5.0

##### Features

[#&#8203;1925](https://togithub.com/aquaproj/aqua/issues/1925)
[#&#8203;1926](https://togithub.com/aquaproj/aqua/issues/1926) Execute
commands by `execve(2)` by default

https://aquaproj.github.io/docs/reference/execve-2

[#&#8203;710](https://togithub.com/aquaproj/aqua/issues/710)
[#&#8203;729](https://togithub.com/aquaproj/aqua/issues/729)
[#&#8203;1597](https://togithub.com/aquaproj/aqua/issues/1597)
[#&#8203;1925](https://togithub.com/aquaproj/aqua/issues/1925)

⚠️ In Windows this feature doesn't work.
In Windows, aqua creates small shell scripts and bat scripts instead of
`aqua-proxy` and symbolic links.
And Windows doesn't support `execve(2)`, so the environment variable
`AQUA_X_SYS_EXEC` is ignored.

When a command `x` is executed via aqua, the command is executed as the
following.

1.  $AQUA_ROOT_DIR/bin/x: symbolic link to aqua-proxy
2.  aqua-proxy executes the command `aqua exec -- x`
3.  aqua executes `x`

So the command `x` is executed via `aqua-proxy` and `aqua`.
Until aqua v2.5.0, `aqua-proxy` and `aqua` executed commands as
subprocess. You can confirm it by checking the process tree by `pstree`
command.

e.g.

```console
$ nvim # nvim is managed by aqua
$ pstree -s nvim
```

         \-+= 00719 shunsukesuzuki -zsh
           \-+= 09955 shunsukesuzuki nvim # aqua-proxy
             \-+- 09956 shunsukesuzuki aqua exec -- nvim
\--- 09957 shunsukesuzuki
/Users/shunsukesuzuki/.local/share/aquaproj-aqua/pkgs/github_release/github.com/neovim/neovim/v0.7.0/nvim-macos.tar.gz/nvim-osx64/bin/nvim

<!---->

    aqua-proxy -> aqua -> x

Sometimes this behaviour caused trouble.
[#&#8203;710](https://togithub.com/aquaproj/aqua/issues/710)
[#&#8203;1597](https://togithub.com/aquaproj/aqua/issues/1597)

From aqua v2.5.0, `aqua-proxy` and `aqua` execute commands by
[execve(2)](https://pkg.go.dev/golang.org/x/sys/unix#Exec) in Linux and
macOS by default.

So extra subprocess isn't raised.

         \-+= 82315 shunsukesuzuki -zsh
           \-+= 82630 shunsukesuzuki nvim

If you feel aqua becomes unstable due to this feature, you can disable
this feature by the environment variable `AQUA_X_SYS_EXEC`.

```sh
export AQUA_X_SYS_EXEC=false
```

##### Others

[#&#8203;1926](https://togithub.com/aquaproj/aqua/issues/1926) Update
aqua-proxy to
[v1.2.0](https://togithub.com/aquaproj/aqua-proxy/releases/tag/v1.2.0)
[#&#8203;1964](https://togithub.com/aquaproj/aqua/issues/1964) Improve
error messages when it failed to install aqua-proxy, cosign, and
slsa-verifier

### [`v2.4.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.4.3)

[Compare
Source](https://togithub.com/aquaproj/aqua/compare/v2.4.2...v2.4.3)

[Pull
Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.4.3)
|
[Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.4.3)
| https://github.com/aquaproj/aqua/compare/v2.4.2...v2.4.3

##### Bug Fixes

[#&#8203;1961](https://togithub.com/aquaproj/aqua/issues/1961)
[#&#8203;1963](https://togithub.com/aquaproj/aqua/issues/1963) Fix the
hardcoded checksum of slsa-verifier windows/amd64

The checksum of slsa-verifier v2.2.0 windows/amd64 was wrong.
So it failed to install slsa-verifier internally.

This bug affects only windows/amd64.

This bug affects aqua >= 2.3.7, aqua <= 2.4.2

-
[https://github.com/aquaproj/aqua/issues/1961#issuecomment-1536897000](https://togithub.com/aquaproj/aqua/issues/1961#issuecomment-1536897000)

### [`v2.4.2`](

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/DelineaXPM/dsv-github-action).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant