-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
Support installing aqua with Winget on Windows #2401
Labels
enhancement
New feature or request
Comments
scottames
referenced
this issue
in scottames/dots
Nov 18, 2023
[![Mend Renovate logo banner](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.16.4` -> `v2.17.4` | | [aquaproj/aqua-installer](https://togithub.com/aquaproj/aqua-installer) | minor | `v2.1.3` -> `v2.2.0` | --- ### Release Notes <details> <summary>aquaproj/aqua (aquaproj/aqua)</summary> ### [`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) | aquaproj/aqua@v2.17.3...v2.17.4 ##### Others [#​2401](https://togithub.com/aquaproj/aqua/issues/2401) [#​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) | aquaproj/aqua@v2.17.2...v2.17.3 ##### Bug Fixes 🐞 [#​2476](https://togithub.com/orgs/aquaproj/discussions/2476) [#​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 [#​2470](https://togithub.com/aquaproj/aqua/issues/2470) [#​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 [#​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. [#​2473](https://togithub.com/aquaproj/aqua/issues/2473) Revert [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) was required to resolve [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) , but [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) was resolved by [#​2472](https://togithub.com/aquaproj/aqua/issues/2472) so [#​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) | aquaproj/aqua@v2.17.1...v2.17.2 ##### Bug Fixes [#​2457](https://togithub.com/orgs/aquaproj/discussions/2457) [#​2458](https://togithub.com/aquaproj/aqua/issues/2458) update: Fix a panic when trying to update commands unmanaged by aqua [@​dreamjz](https://togithub.com/dreamjz) [#​2468](https://togithub.com/aquaproj/aqua/issues/2468) policy init: Fix typo in CLI output [@​ka2n](https://togithub.com/ka2n) [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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 [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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! [@​ka2n](https://togithub.com/ka2n) [#​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) | aquaproj/aqua@v2.17.0...v2.17.1 ##### Bug Fixes 🐞 [#​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) | aquaproj/aqua@v2.16.4...v2.17.0 ##### Features [#​2355](https://togithub.com/aquaproj/aqua/issues/2355) [#​2447](https://togithub.com/aquaproj/aqua/issues/2447) Limit the number of versions retrieved by command `generate` and `update` [@​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 ``` [#​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. [#​2428](https://togithub.com/aquaproj/aqua/issues/2428) Add an alias of `update-checksum` command ```sh aqua upc ``` [#​2105](https://togithub.com/aquaproj/aqua/issues/2105) [#​2425](https://togithub.com/aquaproj/aqua/issues/2425) [#​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 🐞 [#​2444](https://togithub.com/aquaproj/aqua/issues/2444) generate-registry: Fix checksum filename for sha1 ##### Others [#​2436](https://togithub.com/aquaproj/aqua/issues/2436) chore(deps): update dependency slsa-framework/slsa-verifier to v2.4.1 [#​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! [@​dreamjz](https://togithub.com/dreamjz) [#​2447](https://togithub.com/aquaproj/aqua/issues/2447) </details> <details> <summary>aquaproj/aqua-installer (aquaproj/aqua-installer)</summary> ### [`v2.2.0`](https://togithub.com/aquaproj/aqua-installer/releases/tag/v2.2.0) [Compare Source](https://togithub.com/aquaproj/aqua-installer/compare/v2.1.3...v2.2.0) [Issues](https://togithub.com/aquaproj/aqua-installer/issues?q=is%3Aissue+milestone%3Av2.2.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-installer/pulls?q=is%3Apr+milestone%3Av2.2.0) | aquaproj/aqua-installer@v2.1.3...v2.2.0 ##### Features [#​365](https://togithub.com/aquaproj/aqua-installer/issues/365) [#​550](https://togithub.com/aquaproj/aqua-installer/issues/550) [#​551](https://togithub.com/aquaproj/aqua-installer/issues/551) Output the guide to set the environment variable `PATH` `aqua-installer` outputs the following guide. =============================================================== [INFO] aqua is installed into /root/.local/share/aquaproj-aqua/bin/aqua [INFO] Please add the path to the environment variable "PATH" [INFO] export PATH=${AQUA_ROOT_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/aquaproj-aqua}/bin:$PATH =============================================================== [#​551](https://togithub.com/aquaproj/aqua-installer/issues/551) Use wget if curl isn't found </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. 👻 **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/scottames/dots). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Scott Ames <[email protected]>
Now you can install aqua with Winget 🎉 |
mend-for-github-com bot
referenced
this issue
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 [#​2585](https://togithub.com/aquaproj/aqua/issues/2585) [#​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 [#​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 [#​2534](https://togithub.com/aquaproj/aqua/issues/2534) Fix a bug of root dir on Windows [#​2580](https://togithub.com/aquaproj/aqua/issues/2580) [#​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 [#​2517](https://togithub.com/aquaproj/aqua/issues/2517) [#​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 [#​2514](https://togithub.com/orgs/aquaproj/discussions/2514) [#​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 [#​2506](https://togithub.com/orgs/aquaproj/discussions/2506) [#​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 [#​2508](https://togithub.com/orgs/aquaproj/discussions/2508) [#​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 [#​2494](https://togithub.com/aquaproj/aqua/issues/2494) update: Support specifying new package versions e.g. ```sh aqua up [email protected] ``` [#​2461](https://togithub.com/aquaproj/aqua/issues/2461) Add debug logs of `update` and `generate` commands [@​dreamjz](https://togithub.com/dreamjz) #### Bug Fixes [#​2493](https://togithub.com/aquaproj/aqua/issues/2493) [#​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 [#​2401](https://togithub.com/aquaproj/aqua/issues/2401) [#​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 🐞 [#​2476](https://togithub.com/orgs/aquaproj/discussions/2476) [#​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 [#​2470](https://togithub.com/aquaproj/aqua/issues/2470) [#​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 [#​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. [#​2473](https://togithub.com/aquaproj/aqua/issues/2473) Revert [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) was required to resolve [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) , but [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) was resolved by [#​2472](https://togithub.com/aquaproj/aqua/issues/2472) so [#​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 [#​2457](https://togithub.com/orgs/aquaproj/discussions/2457) [#​2458](https://togithub.com/aquaproj/aqua/issues/2458) update: Fix a panic when trying to update commands unmanaged by aqua [@​dreamjz](https://togithub.com/dreamjz) [#​2468](https://togithub.com/aquaproj/aqua/issues/2468) policy init: Fix typo in CLI output [@​ka2n](https://togithub.com/ka2n) [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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 [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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! [@​ka2n](https://togithub.com/ka2n) [#​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 🐞 [#​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 [#​2355](https://togithub.com/aquaproj/aqua/issues/2355) [#​2447](https://togithub.com/aquaproj/aqua/issues/2447) Limit the number of versions retrieved by command `generate` and `update` [@​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 ``` [#​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. [#​2428](https://togithub.com/aquaproj/aqua/issues/2428) Add an alias of `update-checksum` command ```sh aqua upc ``` [#​2105](https://togithub.com/aquaproj/aqua/issues/2105) [#​2425](https://togithub.com/aquaproj/aqua/issues/2425) [#​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 🐞 [#​2444](https://togithub.com/aquaproj/aqua/issues/2444) generate-registry: Fix checksum filename for sha1 #### Others [#​2436](https://togithub.com/aquaproj/aqua/issues/2436) chore(deps): update dependency slsa-framework/slsa-verifier to v2.4.1 [#​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! [@​dreamjz](https://togithub.com/dreamjz) [#​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 [#​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 [#​2414](https://togithub.com/orgs/aquaproj/discussions/2414) [#​2415](https://togithub.com/aquaproj/aqua/issues/2415) fix a bug that AQUA_DISABLE_POLIDY doesn't work [#​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 [#​2399](https://togithub.com/aquaproj/aqua/issues/2399) [#​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 [#​2393](https://togithub.com/aquaproj/aqua/issues/2393) generate-registry: Fix the usage of `-cmd` option #### Others [#​2394](https://togithub.com/aquaproj/aqua/issues/2394) [#​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 [#​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 [#​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 - [#​2351](https://togithub.com/aquaproj/aqua/issues/2351) [#​2366](https://togithub.com/aquaproj/aqua/issues/2366) generate-registry: Get all GitHub Releases by default - [#​2349](https://togithub.com/aquaproj/aqua/issues/2349) [#​2362](https://togithub.com/aquaproj/aqua/issues/2362) generate-registry: Add an option `-cmd` - Others - [#​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 [#​2351](https://togithub.com/aquaproj/aqua/issues/2351) [#​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` [#​2349](https://togithub.com/aquaproj/aqua/issues/2349) [#​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 [#​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 [#​2354](https://togithub.com/aquaproj/aqua/issues/2354) [#​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 [#​2245](https://togithub.com/aquaproj/aqua/issues/2245) [#​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 [#​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 [#​1657](https://togithub.com/aquaproj/aqua/issues/1657) [#​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 [#​2332](https://togithub.com/aquaproj/aqua/issues/2332) chore(deps): update dependency golang/go to v1.21.3 [#​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 [#​2318](https://togithub.com/aquaproj/aqua/issues/2318) [#​2320](https://togithub.com/aquaproj/aqua/issues/2320) Add a new field `envs` to `overrides` instead of `goos` and `goarch` [#​2132](https://togithub.com/aquaproj/aqua/issues/2132) [#​2317](https://togithub.com/aquaproj/aqua/issues/2317) Support using `go_install` or `go_build` if the platform isn't included in `supported_envs` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​2314](https://togithub.com/aquaproj/aqua/issues/2314) Support omitting `.{{.Format}}` in `asset` and `url` [#​1876](https://togithub.com/aquaproj/aqua/issues/1876) [#​2313](https://togithub.com/aquaproj/aqua/issues/2313) Support short file extensions in `format` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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` [#​2318](https://togithub.com/aquaproj/aqua/issues/2318) [#​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` [#​2132](https://togithub.com/aquaproj/aqua/issues/2132) [#​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` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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` [#​1876](https://togithub.com/aquaproj/aqua/issues/1876) [#​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` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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 [#​2303](https://togithub.com/aquaproj/aqua/issues/2303) Fix a bug that `path` isn't overriden by `overrides` #### Others [#​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) [#​2302](https://togithub.com/aquaproj/aqua/issues/2302) Update Go to v1.21.2 [#​2286](https://togithub.com/aquaproj/aqua/issues/2286) [#​2287](https://togithub.com/aquaproj/aqua/issues/2287) [#​2289](https://togithub.com/aquaproj/aqua/issues/2289) [#​2290](https://togithub.com/aquaproj/aqua/issues/2290) [#​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 [#​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 [#​2251](https://togithub.com/aquaproj/aqua/issues/2251) [#​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 [#​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 [#​538](https://togithub.com/aquaproj/aqua/issues/538) [#​2249](https://togithub.com/aquaproj/aqua/issues/2249) Support uninstalling packages [#​2131](https://togithub.com/aquaproj/aqua/issues/2131) [#​2065](https://togithub.com/aquaproj/aqua/issues/2065) Support `go_build` package ##### Support uninstalling packages [#​538](https://togithub.com/aquaproj/aqua/issues/538) [#​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 [#​2039](https://togithub.com/orgs/aquaproj/discussions/2039) [#​2131](https://togithub.com/aquaproj/aqua/issues/2131) [#​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 [#​2120](https://togithub.com/aquaproj/aqua/issues/2120) Fix the default checksum parser to support a tab character as separator [#​2147](https://togithub.com/aquaproj/aqua/issues/2147) Use the basename of the package name as the default command name [#​2176](https://togithub.com/aquaproj/aqua/issues/2176) generate-registry: Fix the format of `.tar.zst` [#​2202](https://togithub.com/aquaproj/aqua/issues/2202) generate-registry: Remove empty `error_message` [#​2215](https://togithub.com/aquaproj/aqua/issues/2215) fix a log field `version_constraint` #### Others [#​2151](https://togithub.com/aquaproj/aqua/issues/2151) [#​2163](https://togithub.com/aquaproj/aqua/issues/2163) [#​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 [#​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) [#​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 [#​2111](https://togithub.com/aquaproj/aqua/issues/2111) Add a subcommand `info` [#​2108](https://togithub.com/aquaproj/aqua/issues/2108) update-checksum: Output created or updated file names #### Others [#​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` [#​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 [#​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 [#​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 [#​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 [#​2058](https://togithub.com/orgs/aquaproj/discussions/2058) [#​2063](https://togithub.com/aquaproj/aqua/issues/2063) Support disabling Lazy Install [#​2027](https://togithub.com/orgs/aquaproj/discussions/2027) [#​2062](https://togithub.com/aquaproj/aqua/issues/2062) Add `-detail` option to "generate" command ##### Support disabling Lazy Install [#​2058](https://togithub.com/orgs/aquaproj/discussions/2058) [#​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 [#​2027](https://togithub.com/orgs/aquaproj/discussions/2027) [#​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 [#​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 [#​2016](https://togithub.com/orgs/aquaproj/discussions/2016) [#​2019](https://togithub.com/aquaproj/aqua/issues/2019) Support a new package type `cargo`, installing packages by `cargo install` [#​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` [#​2016](https://togithub.com/aquaproj/aqua/issues/2016) [#​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` [#​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 [#​2003](https://togithub.com/aquaproj/aqua/issues/2003) [#​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 [#​2013](https://togithub.com/aquaproj/aqua/issues/2013) [#​2015](https://togithub.com/aquaproj/aqua/issues/2015) Convert `files[].src` with [filepath.FromSlash](https://pkg.go.dev/path/filepath#FromSlash) for Windows #### Others [#​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 [#​1803](https://togithub.com/aquaproj/aqua/issues/1803) [#​2002](https://togithub.com/aquaproj/aqua/issues/2002) Support unarchiving `PKG` format on macOS #### Others [#​1996](https://togithub.com/aquaproj/aqua/issues/1996) Update slsa-verifier to v2.3.0 [#​1997](https://togithub.com/aquaproj/aqua/issues/1997) [#​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 [#​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 [#​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 [#​1979](https://togithub.com/aquaproj/aqua/issues/1979) generate-registry: Add `unknown-linux` and `pc-windows` to patterns of `replacements` [#​1872](https://togithub.com/aquaproj/aqua/issues/1872) [#​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 [#​1925](https://togithub.com/aquaproj/aqua/issues/1925) [#​1926](https://togithub.com/aquaproj/aqua/issues/1926) Execute commands by `execve(2)` by default https://aquaproj.github.io/docs/reference/execve-2 [#​710](https://togithub.com/aquaproj/aqua/issues/710) [#​729](https://togithub.com/aquaproj/aqua/issues/729) [#​1597](https://togithub.com/aquaproj/aqua/issues/1597) [#​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. [#​710](https://togithub.com/aquaproj/aqua/issues/710) [#​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 [#​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) [#​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 [#​1961](https://togithub.com/aquaproj/aqua/issues/1961) [#​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 issue
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 [#​2585](https://togithub.com/aquaproj/aqua/issues/2585) [#​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 [#​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 [#​2534](https://togithub.com/aquaproj/aqua/issues/2534) Fix a bug of root dir on Windows [#​2580](https://togithub.com/aquaproj/aqua/issues/2580) [#​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 [#​2517](https://togithub.com/aquaproj/aqua/issues/2517) [#​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 [#​2514](https://togithub.com/orgs/aquaproj/discussions/2514) [#​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 [#​2506](https://togithub.com/orgs/aquaproj/discussions/2506) [#​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 [#​2508](https://togithub.com/orgs/aquaproj/discussions/2508) [#​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 [#​2494](https://togithub.com/aquaproj/aqua/issues/2494) update: Support specifying new package versions e.g. ```sh aqua up [email protected] ``` [#​2461](https://togithub.com/aquaproj/aqua/issues/2461) Add debug logs of `update` and `generate` commands [@​dreamjz](https://togithub.com/dreamjz) ##### Bug Fixes [#​2493](https://togithub.com/aquaproj/aqua/issues/2493) [#​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 [#​2401](https://togithub.com/aquaproj/aqua/issues/2401) [#​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 🐞 [#​2476](https://togithub.com/orgs/aquaproj/discussions/2476) [#​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 [#​2470](https://togithub.com/aquaproj/aqua/issues/2470) [#​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 [#​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. [#​2473](https://togithub.com/aquaproj/aqua/issues/2473) Revert [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) was required to resolve [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) , but [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) was resolved by [#​2472](https://togithub.com/aquaproj/aqua/issues/2472) so [#​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 [#​2457](https://togithub.com/orgs/aquaproj/discussions/2457) [#​2458](https://togithub.com/aquaproj/aqua/issues/2458) update: Fix a panic when trying to update commands unmanaged by aqua [@​dreamjz](https://togithub.com/dreamjz) [#​2468](https://togithub.com/aquaproj/aqua/issues/2468) policy init: Fix typo in CLI output [@​ka2n](https://togithub.com/ka2n) [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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 [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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! [@​ka2n](https://togithub.com/ka2n) [#​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 🐞 [#​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 [#​2355](https://togithub.com/aquaproj/aqua/issues/2355) [#​2447](https://togithub.com/aquaproj/aqua/issues/2447) Limit the number of versions retrieved by command `generate` and `update` [@​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 ``` [#​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. [#​2428](https://togithub.com/aquaproj/aqua/issues/2428) Add an alias of `update-checksum` command ```sh aqua upc ``` [#​2105](https://togithub.com/aquaproj/aqua/issues/2105) [#​2425](https://togithub.com/aquaproj/aqua/issues/2425) [#​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 🐞 [#​2444](https://togithub.com/aquaproj/aqua/issues/2444) generate-registry: Fix checksum filename for sha1 ##### Others [#​2436](https://togithub.com/aquaproj/aqua/issues/2436) chore(deps): update dependency slsa-framework/slsa-verifier to v2.4.1 [#​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! [@​dreamjz](https://togithub.com/dreamjz) [#​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 [#​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 [#​2414](https://togithub.com/orgs/aquaproj/discussions/2414) [#​2415](https://togithub.com/aquaproj/aqua/issues/2415) fix a bug that AQUA_DISABLE_POLIDY doesn't work [#​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 [#​2399](https://togithub.com/aquaproj/aqua/issues/2399) [#​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 [#​2393](https://togithub.com/aquaproj/aqua/issues/2393) generate-registry: Fix the usage of `-cmd` option ##### Others [#​2394](https://togithub.com/aquaproj/aqua/issues/2394) [#​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 [#​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 [#​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 - [#​2351](https://togithub.com/aquaproj/aqua/issues/2351) [#​2366](https://togithub.com/aquaproj/aqua/issues/2366) generate-registry: Get all GitHub Releases by default - [#​2349](https://togithub.com/aquaproj/aqua/issues/2349) [#​2362](https://togithub.com/aquaproj/aqua/issues/2362) generate-registry: Add an option `-cmd` - Others - [#​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 [#​2351](https://togithub.com/aquaproj/aqua/issues/2351) [#​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` [#​2349](https://togithub.com/aquaproj/aqua/issues/2349) [#​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 [#​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 [#​2354](https://togithub.com/aquaproj/aqua/issues/2354) [#​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 [#​2245](https://togithub.com/aquaproj/aqua/issues/2245) [#​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 [#​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 [#​1657](https://togithub.com/aquaproj/aqua/issues/1657) [#​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 [#​2332](https://togithub.com/aquaproj/aqua/issues/2332) chore(deps): update dependency golang/go to v1.21.3 [#​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 [#​2318](https://togithub.com/aquaproj/aqua/issues/2318) [#​2320](https://togithub.com/aquaproj/aqua/issues/2320) Add a new field `envs` to `overrides` instead of `goos` and `goarch` [#​2132](https://togithub.com/aquaproj/aqua/issues/2132) [#​2317](https://togithub.com/aquaproj/aqua/issues/2317) Support using `go_install` or `go_build` if the platform isn't included in `supported_envs` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​2314](https://togithub.com/aquaproj/aqua/issues/2314) Support omitting `.{{.Format}}` in `asset` and `url` [#​1876](https://togithub.com/aquaproj/aqua/issues/1876) [#​2313](https://togithub.com/aquaproj/aqua/issues/2313) Support short file extensions in `format` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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` [#​2318](https://togithub.com/aquaproj/aqua/issues/2318) [#​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` [#​2132](https://togithub.com/aquaproj/aqua/issues/2132) [#​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` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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` [#​1876](https://togithub.com/aquaproj/aqua/issues/1876) [#​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` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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 [#​2303](https://togithub.com/aquaproj/aqua/issues/2303) Fix a bug that `path` isn't overriden by `overrides` ##### Others [#​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) [#​2302](https://togithub.com/aquaproj/aqua/issues/2302) Update Go to v1.21.2 [#​2286](https://togithub.com/aquaproj/aqua/issues/2286) [#​2287](https://togithub.com/aquaproj/aqua/issues/2287) [#​2289](https://togithub.com/aquaproj/aqua/issues/2289) [#​2290](https://togithub.com/aquaproj/aqua/issues/2290) [#​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 [#​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 [#​2251](https://togithub.com/aquaproj/aqua/issues/2251) [#​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 [#​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 [#​538](https://togithub.com/aquaproj/aqua/issues/538) [#​2249](https://togithub.com/aquaproj/aqua/issues/2249) Support uninstalling packages [#​2131](https://togithub.com/aquaproj/aqua/issues/2131) [#​2065](https://togithub.com/aquaproj/aqua/issues/2065) Support `go_build` package ##### Support uninstalling packages [#​538](https://togithub.com/aquaproj/aqua/issues/538) [#​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 [#​2039](https://togithub.com/orgs/aquaproj/discussions/2039) [#​2131](https://togithub.com/aquaproj/aqua/issues/2131) [#​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 [#​2120](https://togithub.com/aquaproj/aqua/issues/2120) Fix the default checksum parser to support a tab character as separator [#​2147](https://togithub.com/aquaproj/aqua/issues/2147) Use the basename of the package name as the default command name [#​2176](https://togithub.com/aquaproj/aqua/issues/2176) generate-registry: Fix the format of `.tar.zst` [#​2202](https://togithub.com/aquaproj/aqua/issues/2202) generate-registry: Remove empty `error_message` [#​2215](https://togithub.com/aquaproj/aqua/issues/2215) fix a log field `version_constraint` ##### Others [#​2151](https://togithub.com/aquaproj/aqua/issues/2151) [#​2163](https://togithub.com/aquaproj/aqua/issues/2163) [#​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 [#​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) [#​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 [#​2111](https://togithub.com/aquaproj/aqua/issues/2111) Add a subcommand `info` [#​2108](https://togithub.com/aquaproj/aqua/issues/2108) update-checksum: Output created or updated file names ##### Others [#​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` [#​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 [#​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 [#​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 [#​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 [#​2058](https://togithub.com/orgs/aquaproj/discussions/2058) [#​2063](https://togithub.com/aquaproj/aqua/issues/2063) Support disabling Lazy Install [#​2027](https://togithub.com/orgs/aquaproj/discussions/2027) [#​2062](https://togithub.com/aquaproj/aqua/issues/2062) Add `-detail` option to "generate" command ##### Support disabling Lazy Install [#​2058](https://togithub.com/orgs/aquaproj/discussions/2058) [#​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 [#​2027](https://togithub.com/orgs/aquaproj/discussions/2027) [#​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 [#​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 [#​2016](https://togithub.com/orgs/aquaproj/discussions/2016) [#​2019](https://togithub.com/aquaproj/aqua/issues/2019) Support a new package type `cargo`, installing packages by `cargo install` [#​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` [#​2016](https://togithub.com/aquaproj/aqua/issues/2016) [#​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` [#​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 [#​2003](https://togithub.com/aquaproj/aqua/issues/2003) [#​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 [#​2013](https://togithub.com/aquaproj/aqua/issues/2013) [#​2015](https://togithub.com/aquaproj/aqua/issues/2015) Convert `files[].src` with [filepath.FromSlash](https://pkg.go.dev/path/filepath#FromSlash) for Windows ##### Others [#​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 [#​1803](https://togithub.com/aquaproj/aqua/issues/1803) [#​2002](https://togithub.com/aquaproj/aqua/issues/2002) Support unarchiving `PKG` format on macOS ##### Others [#​1996](https://togithub.com/aquaproj/aqua/issues/1996) Update slsa-verifier to v2.3.0 [#​1997](https://togithub.com/aquaproj/aqua/issues/1997) [#​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 [#​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 [#​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 [#​1979](https://togithub.com/aquaproj/aqua/issues/1979) generate-registry: Add `unknown-linux` and `pc-windows` to patterns of `replacements` [#​1872](https://togithub.com/aquaproj/aqua/issues/1872) [#​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 [#​1925](https://togithub.com/aquaproj/aqua/issues/1925) [#​1926](https://togithub.com/aquaproj/aqua/issues/1926) Execute commands by `execve(2)` by default https://aquaproj.github.io/docs/reference/execve-2 [#​710](https://togithub.com/aquaproj/aqua/issues/710) [#​729](https://togithub.com/aquaproj/aqua/issues/729) [#​1597](https://togithub.com/aquaproj/aqua/issues/1597) [#​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. [#​710](https://togithub.com/aquaproj/aqua/issues/710) [#​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 [#​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) [#​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 [#​1961](https://togithub.com/aquaproj/aqua/issues/1961) [#​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>
renovate bot
referenced
this issue
in DelineaXPM/github-workflows
Aug 7, 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) | minor | `v2.10.1` -> `v2.30.0` | --- ### Release Notes <details> <summary>aquaproj/aqua (aquaproj/aqua)</summary> ### [`v2.30.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.30.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.29.2...v2.30.0-1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.30.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.30.0) | https://github.com/aquaproj/aqua/compare/v2.29.2...v2.30.0 #### Features [#​2918](https://togithub.com/aquaproj/aqua/issues/2918) [#​3005](https://togithub.com/aquaproj/aqua/issues/3005) Use aqua-proxy and hard links instead of shell scripts and bat scripts on Windows Document: [https://github.com/aquaproj/aquaproj.github.io/pull/1049](https://togithub.com/aquaproj/aquaproj.github.io/pull/1049) https://aquaproj.github.io/docs/reference/lazy-install#on-windows aqua doesn't use symbolic links on Windows because symbolic links have several issues on Windows. 1. [Non-administrators can't create symbolic links by default on Windows](https://togithub.com/git-for-windows/git/wiki/Symbolic-Links) 2. [PowerShell doesn't use the final target of a symbolic link when starting a process or running a native command on Windows](https://togithub.com/PowerShell/PowerShell/issues/16171) aqua v2.29.2 or older used shell scripts and bat scripts instead of symbolic links and aqua-proxy. [#​885](https://togithub.com/aquaproj/aqua/issues/885) [#​892](https://togithub.com/aquaproj/aqua/issues/892) [#​893](https://togithub.com/aquaproj/aqua/issues/893) aqua >= v1.12.0, aqua <= v2.29.2 But using shell scripts and bat scripts also had several issues. 1. Using both shell scripts and bat scripts is confusing 2. tools can't be executed on Nushell [https://github.com/aquaproj/aqua/issues/2918#issuecomment-2223107022](https://togithub.com/aquaproj/aqua/issues/2918#issuecomment-2223107022) 3. bat scripts can't handle signals properly [https://github.com/aquaproj/aqua/issues/2918#issuecomment-2228449541](https://togithub.com/aquaproj/aqua/issues/2918#issuecomment-2228449541) So aqua v2.30.0 or later uses hard links and aqua-proxy instead of shell scripts and bat scripts. [#​2918](https://togithub.com/aquaproj/aqua/issues/2918) aqua installs `aqua-proxy` and creates hard links to `aqua-proxy` on `$(aqua root-dir)/bin` directory. When aqua updates `aqua-proxy`, aqua recreates hard links. From aqua v2.30.0, aqua doesn't use bat scripts so you can remove `$(aqua root-dir)/bat` directory and remove `$(aqua root-dir)/bat` from `PATH`. #### Others [#​3004](https://togithub.com/aquaproj/aqua/issues/3004) Update slsa-verifier to v2.6.0 [#​3008](https://togithub.com/aquaproj/aqua/issues/3008) Update module github.com/goccy/go-yaml to v1.12.0 ### [`v2.29.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.29.2) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.29.1...v2.29.2) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.29.2) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.29.2) | https://github.com/aquaproj/aqua/compare/v2.29.1...v2.29.2 ##### Bug Fixes [#​3001](https://togithub.com/aquaproj/aqua/issues/3001) Fix checksums of Cosign Fixed a bug of aqua v2.29.1 ### [`v2.29.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.29.1) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.29.0...v2.29.1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.29.1) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.29.1) | https://github.com/aquaproj/aqua/compare/v2.29.0...v2.29.1 #### Features [#​2965](https://togithub.com/aquaproj/aqua/issues/2965) list: Add an alias of command line option `-installed` ```sh aqua list -i ``` #### Fixes [#​2981](https://togithub.com/aquaproj/aqua/issues/2981) Fix a bug that the shell completion of specific tools doesn't work For detail, please see the following issues and pull request. - [https://github.com/lintnet/lintnet/issues/528#issuecomment-2192810380](https://togithub.com/lintnet/lintnet/issues/528#issuecomment-2192810380) - [https://github.com/urfave/cli/issues/1932](https://togithub.com/urfave/cli/issues/1932) - [https://github.com/urfave/cli/pull/1938](https://togithub.com/urfave/cli/pull/1938) #### Others Update Go to 1.22.5 ### [`v2.29.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.29.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.28.1...v2.29.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.29.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.29.0) | https://github.com/aquaproj/aqua/compare/v2.28.1...v2.29.0 ##### Features [#​2929](https://togithub.com/aquaproj/aqua/issues/2929) Support fish completion Added a sub command `aqua completion fish`, which outputs scripts for fish completion You can source the output to enable the completion. ```sh aqua completion fish | source ``` Or you can write the output to a file. https://fishshell.com/docs/current/completions.html#where-to-put-completions ```sh aqua completion fish > ~/.config/fish/completions/aqua.fish ``` ### [`v2.28.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.28.1) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.28.0...v2.28.1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.28.1) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.28.1) | https://github.com/aquaproj/aqua/compare/v2.28.0...v2.28.1 ##### Bug Fixes [#​2904](https://togithub.com/aquaproj/aqua/issues/2904) generate: Fix a bug that `aqua g -i` fails if aqua.yaml doesn't have the field `packages` [#​2902](https://togithub.com/aquaproj/aqua/issues/2902) info: Fix a bug that user names aren't masked on Windows [@​sapphi-red](https://togithub.com/sapphi-red) ### [`v2.28.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.28.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.27.4...v2.28.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.28.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.28.0) | https://github.com/aquaproj/aqua/compare/v2.27.4...v2.28.0 ##### Features [#​2609](https://togithub.com/orgs/aquaproj/discussions/2609) [#​2730](https://togithub.com/aquaproj/aqua/issues/2730) [#​2632](https://togithub.com/aquaproj/aqua/issues/2632) Support getting a package version from go directive in go.mod or go.work From Go 1.21, the version of Go is decided by go directive in go.mod or go.work. https://go.dev/doc/toolchain e.g. module github.com/aquaproj/aqua/v2 go 1.22.3 This can cause an issue that the version of Go may be different from the version defined in aqua.yaml. And we need to define go version in two places. To solve the issue, this pull request enables aqua to get the version of go from go directive in go.mod or go.work. You can specify the path to go.mod or go.work by a field `go_version_file`. e.g. ```yaml packages: - name: golang/go go_version_file: go.mod ``` Then you can define go version only in go.mod or go.work. > \[!CAUTION] > The version of Go must be a semver x.y.z. > You can't omit a patch version. [#​2880](https://togithub.com/aquaproj/aqua/issues/2880) Ignore invalid packages and continue working When reading aqua.yaml, aqua ignores invalid packages and continues working. This improves the robustness. ### [`v2.27.4`](https://togithub.com/aquaproj/aqua/releases/tag/v2.27.4) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.27.3...v2.27.4) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.27.4) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.27.4) | https://github.com/aquaproj/aqua/compare/v2.27.3...v2.27.4 ##### Bug Fixes [#​2144](https://togithub.com/aquaproj/aqua/issues/2144) [#​2510](https://togithub.com/orgs/aquaproj/discussions/2510) [#​2871](https://togithub.com/aquaproj/aqua/issues/2871) Fix a bug that update-aqua fails on Windows ##### Others Update Go 1.22.2 to 1.22.3 ### [`v2.27.3`](https://togithub.com/aquaproj/aqua/releases/tag/v2.27.3) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.27.2...v2.27.3) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.27.3) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.27.3) | https://github.com/aquaproj/aqua/compare/v2.27.2...v2.27.3 ##### Bug Fixes [#​2833](https://togithub.com/aquaproj/aqua/issues/2833) [#​2834](https://togithub.com/aquaproj/aqua/issues/2834) Fix a bug that a checksum id of [go_build type package](https://aquaproj.github.io/docs/reference/registry-config/go-build-package) is empty aqua-checksums.json ```json { "id": "", "checksum": "C4D72E482B85570A1A73776EEF47E993B5F8FA6C204E0B1CAA794E4DF4F13521", "algorithm": "sha256" } ``` ### [`v2.27.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.27.2) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.27.1...v2.27.2) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.27.2) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.27.2) | https://github.com/aquaproj/aqua/compare/v2.27.1...v2.27.2 ##### Bug Fixes [#​2830](https://togithub.com/aquaproj/aqua/issues/2830) Improve handling of broken registry JSON files When aqua reads Standard Registry and github_content Registries, aqua converts them to JSON once and saves them. And aqua reads JSON files instead of YAML files from the next time. This improves the performance a bit. [#​2517](https://togithub.com/aquaproj/aqua/issues/2517) But if a JSON file got broken, aqua got not working. In that case, you had to remove the file yourself. This issue rarely occurs, but this release resolves it. If a JSON file gets broken, aqua removes and recreates the file. So aqua continues working and you don't have to remove the file yourself. ### [`v2.27.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.27.1) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.27.0...v2.27.1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.27.1) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.27.1) | https://github.com/aquaproj/aqua/compare/v2.27.0...v2.27.1 #### Others [#​2824](https://togithub.com/aquaproj/aqua/issues/2824) [#​2825](https://togithub.com/aquaproj/aqua/issues/2825) Generate shell completion on `brew install` [@​ryota2357](https://togithub.com/ryota2357) ref. https://github.com/aquaproj/homebrew-aqua/blob/c4731da7c66a797e93b5efbcc5340b39f86f559b/aqua.rb#L19 ⚠️ To enable shell completion, you have to configure FPATH and so on. [#​2809](https://togithub.com/aquaproj/aqua/issues/2809) chore: update aqua-proy to [v1.2.6](https://togithub.com/aquaproj/aqua-proxy/releases/tag/v1.2.6) #### 🎉 New Contributors Thank you for your contribution! [@​ryota2357](https://togithub.com/ryota2357) [#​2825](https://togithub.com/aquaproj/aqua/issues/2825) ### [`v2.27.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.27.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.26.0...v2.27.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.27.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.27.0) | https://github.com/aquaproj/aqua/compare/v2.26.0...v2.27.0 #### Features [#​2702](https://togithub.com/aquaproj/aqua/issues/2702) [#​2806](https://togithub.com/aquaproj/aqua/issues/2806) checksum: Support enforcing checksum verification via environment variables You can enforce checksum verification by environment variables `AQUA_ENFORCE_CHECKSUM` and `AQUA_ENFORCE_REQUIRE_CHECKSUM`. ```sh export AQUA_ENFORCE_CHECKSUM=true export AQUA_ENFORCE_REQUIRE_CHECKSUM=true ``` This is useful for both CI and local development. Checksum verification is disabled by default, and you can disable checksum verification by setting. If you manage a Monorepo and want to make checksum verification mandatory in CI, you can set these environment variables in CI. Then checksum verification is enabled regardless of the setting of aqua.yaml. And if you want to enforce checksum verification on your laptop, you can set these environment variables in your shell configuration files such as .bashrc and .zshrc. ### [`v2.26.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.26.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.25.2...v2.26.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.26.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.26.0) | https://github.com/aquaproj/aqua/compare/v2.25.2...v2.26.0 ##### Features [#​2782](https://togithub.com/aquaproj/aqua/issues/2782) [#​2804](https://togithub.com/aquaproj/aqua/issues/2804) generate: add `-g` option to add packages to a global configuration file e.g. ```console $ aqua g -g cli/cli ``` You can add packages to a global configuration file with `-g` and `-i` option. e.g. ```console $ aqua g -g -i cli/cli ``` If there are multiple global configuration files, a first global configuration file is used. ##### Others [#​2803](https://togithub.com/aquaproj/aqua/issues/2803) Update the help message of `remove` command > Note that this command remove files from AQUA_ROOT_DIR/pkgs, but doesn't remove packages from aqua.yaml and doesn't remove files from AQUA_ROOT_DIR/bin and AQUA_ROOT_DIR/bat. ### [`v2.25.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.25.2) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.25.1...v2.25.2) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.25.2) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.25.2) | https://github.com/aquaproj/aqua/compare/v2.25.1...v2.25.2 ##### Bug Fixes [#​2781](https://togithub.com/aquaproj/aqua/issues/2781) [#​2786](https://togithub.com/aquaproj/aqua/issues/2786) list: Fix a bug that packages in that same aqua.yaml is outputted by `aqua list --installed` ##### Others [#​2779](https://togithub.com/aquaproj/aqua/issues/2779) [#​2788](https://togithub.com/aquaproj/aqua/issues/2788) Update slsa-verifier to v2.5.1 [#​2787](https://togithub.com/aquaproj/aqua/issues/2787) Update go directive to 1.22 and refactor codes with Go new features ### [`v2.25.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.25.1) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.25.0...v2.25.1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.25.1) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.25.1) | https://github.com/aquaproj/aqua/compare/v2.25.0...v2.25.1 ##### Bug Fixes [#​1665](https://togithub.com/aquaproj/aqua/issues/1665) [#​2757](https://togithub.com/aquaproj/aqua/issues/2757) Fix the verification error of Cosign [#​2764](https://togithub.com/aquaproj/aqua/issues/2764) [#​2765](https://togithub.com/aquaproj/aqua/issues/2765) Fix `SIGSEGV: segmentation violation` of `aqua update` and `aqua generate` commands ##### Others [#​2756](https://togithub.com/aquaproj/aqua/issues/2756) Update the template of aqua.yaml generated by `aqua init` to follow [a yamllint comment rule](https://yamllint.readthedocs.io/en/stable/rules.html#module-yamllint.rules.comments) [@​bhundven](https://togithub.com/bhundven) ### [`v2.25.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.25.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.24.1...v2.25.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.25.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.25.0) | https://github.com/aquaproj/aqua/compare/v2.24.1...v2.25.0 ##### Features [#​2749](https://togithub.com/orgs/aquaproj/discussions/2749#discussioncomment-8808062) [#​2752](https://togithub.com/aquaproj/aqua/issues/2752) Support excluding some packages from the target of `aqua update` e.g. aqua.yaml ```yaml packages: - name: golang/vuln/[email protected] update: ##### If enabled is false, aqua up command ignores the package. ##### If the package name is passed to aqua up command explicitly, enabled is ignored. ##### By default, enabled is true. enabled: false ``` ##### Fixes [#​2747](https://togithub.com/aquaproj/aqua/issues/2747) [#​2354](https://togithub.com/aquaproj/aqua/issues/2354) [#​2750](https://togithub.com/aquaproj/aqua/issues/2750) [#​2751](https://togithub.com/aquaproj/aqua/issues/2751) Improve the logic to get the latest version We've changed the logic to get the latest version in some commands such as `aqua update` and `aqua generate`. The original logic was to call GitHub API `Get a latest release`, but a latest release wan't necessarily a latest version. So we changed the logic to list the recent releases and get a latest version by semver. ### [`v2.24.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.24.1) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.24.0...v2.24.1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.24.1) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.24.1) | https://github.com/aquaproj/aqua/compare/v2.24.0...v2.24.1 ##### Bug Fixes [#​2742](https://togithub.com/aquaproj/aqua/issues/2742) [#​2744](https://togithub.com/aquaproj/aqua/issues/2744) fix a bug that `aqua g` and `aqua gr` commands don't work for [cargo package](https://aquaproj.github.io/docs/reference/registry-config/cargo-package/) This bug was due to crates.io crawler policy. > We are unable to process your request at this time. > This usually means that you are in violation of our crawler policy. We could resolve the issue by setting the User-Agent header. ### [`v2.24.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.24.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.23.2...v2.24.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.24.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.24.0) | https://github.com/aquaproj/aqua/compare/v2.23.2...v2.24.0 ##### Features [#​2709](https://togithub.com/orgs/aquaproj/discussions/2709) [#​2733](https://togithub.com/aquaproj/aqua/issues/2733) Support listing installed packages Command line options `-installed` and `-all [-a]` were added to `aqua list` command. ```sh aqua list -installed [-a] ``` If `-installed` is set, installed packages are outputted. e.g. ```console $ aqua list -installed rhysd/actionlint v1.6.27 standard suzuki-shunsuke/cmdx v1.7.4 standard sigstore/cosign v1.13.2 standard suzuki-shunsuke/ghalint v0.2.9 standard int128/ghcp v1.13.2 standard golangci/golangci-lint v1.56.2 standard goreleaser/goreleaser v1.24.0 standard reviewdog/reviewdog v0.17.1 standard ``` By default, global configuration files are ignored. To output packages in global configuration files too, please set the option `-all [-a]`. ```console $ aqua list -a -installed ``` ### [`v2.23.2`](https://togithub.com/aquaproj/aqua/releases/tag/v2.23.2) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.23.1...v2.23.2) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.23.2) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.23.2) | https://github.com/aquaproj/aqua/compare/v2.23.1...v2.23.2 ##### Fixes [#​2714](https://togithub.com/aquaproj/aqua/issues/2714) Fix a bug that it fails to download large files from GitHub repositories Use the API [RepositoriesService.DownloadContents](https://pkg.go.dev/github.com/google/go-github/v60/github#RepositoriesService.DownloadContents) instead of [RepositoriesService.GetContents](https://pkg.go.dev/github.com/google/go-github/v60/github#RepositoriesService.GetContents) to download large files from GitHub. https://pkg.go.dev/github.com/google/go-github/v60/github#RepositoriesService.DownloadContents > DownloadContents returns an io.ReadCloser that reads the contents of the specified file. > This function will work with files of any size, as opposed to GetContents which is limited to 1 Mb files. It is the caller's responsibility to close the ReadCloser. If you use old aqua and face the following error, please update aqua to v2.23.2 or newer. unsupported content encoding: none, this may occur when file size > 1 MB, if that is the case consider using DownloadContents ##### Others Update Go 1.21.6 to 1.22.0 ### [`v2.23.1`](https://togithub.com/aquaproj/aqua/releases/tag/v2.23.1) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.23.0...v2.23.1) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.23.1) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.23.1) | https://github.com/aquaproj/aqua/compare/v2.23.0...v2.23.1 ##### Bug Fixes [#​2661](https://togithub.com/aquaproj/aqua/issues/2661) [#​2662](https://togithub.com/aquaproj/aqua/issues/2662) update-checksum: Fix a bug that `update-checksum` doesn't work well if packages use both `cargo` or `go_install` types and other types For example, the package `eza-community/eza` uses `cargo` type for darwin and windows/arm64 and `github_relaese` type for other platforms. In this case, aqua update-checksum didn't work well. https://github.com/aquaproj/aqua-registry/blob/15d67414625ea37e68ea8436dba9413d9bd9b540/pkgs/eza-community/eza/registry.yaml#L2 https://github.com/aquaproj/aqua-registry/blob/15d67414625ea37e68ea8436dba9413d9bd9b540/pkgs/eza-community/eza/registry.yaml#L54-L57 This release fixed the issue. ### [`v2.23.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.23.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.22.0...v2.23.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.23.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.23.0) | https://github.com/aquaproj/aqua/compare/v2.22.0...v2.23.0 ##### Features [#​2649](https://togithub.com/aquaproj/aqua/issues/2649) [#​2652](https://togithub.com/aquaproj/aqua/issues/2652) cargo: Trim a prefix from `cargo` package's version ##### Bug Fixes [#​2642](https://togithub.com/aquaproj/aqua/issues/2642) info: Output `AQUA_DISABLE_COSIGN` and `AQUA_DISABLE_SLSA` https://aquaproj.github.io/docs/reference/security/cosign-slsa/#disable-the-verification-with-cosign-and-slsa-provenance [#​2654](https://togithub.com/aquaproj/aqua/issues/2654) generate-registry: Fix a bug that same version_overrides aren't merged properly ##### Others [#​2644](https://togithub.com/aquaproj/aqua/issues/2644) Update aqua-proxy to [v1.2.5](https://togithub.com/aquaproj/aqua-proxy/releases/tag/v1.2.5) [#​2653](https://togithub.com/aquaproj/aqua/issues/2653) Update [JSON Schema](https://togithub.com/aquaproj/aqua/tree/main/json-schema) ### [`v2.22.0`](https://togithub.com/aquaproj/aqua/releases/tag/v2.22.0) [Compare Source](https://togithub.com/aquaproj/aqua/compare/v2.21.3...v2.22.0) [Pull Requests](https://togithub.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.22.0) | [Issues](https://togithub.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.22.0) | https://github.com/aquaproj/aqua/compare/v2.21.3...v2.22.0 ##### Features [#​2631](https://togithub.com/orgs/aquaproj/discussions/2631) [#​2633](https://togithub.com/aquaproj/aqua/issues/2633) [#​2634](https://togithub.com/aquaproj/aqua/issues/2634) Support disabling the verification with Cosign and SLSA Provenance You can disable the verification with Cosign and SLSA Provenance if you can't use them. ##### Why is the feature needed? > \[!CAUTION] > This feature is for users who can't use Cosign and slsa-verifier. > Most users can use them, so most users don't need this feature. > aqua installs Cosign and slsa-verifier internally, so you don't need to install them yourself. > If you can use Cosign and slsa-verifier, you should not disable them because they are important for security. Cosign and sla-verifier access some endpoints such as `oauth2.sigstore.dev` and `fulcio.sigstore.dev`. So to use them you need to allow the access to these endpoints. But in some use cases you can't or don't want to do that. For example, your company's network policy might not allow the access to these endpoints. To resolve the issue, this issue proposes to support disabling the verification with Cosign and slsa-verifier. ##### How to use You can use command line options `-disable-cosign` and `-disable-slsa` or environment variables `AQUA_DISABLE_COSIGN` and `AQUA_DISABLE_SLSA`. e.g. ```sh aqua [-disable-cosign] [-disable-slsa] i ``` ```sh env AQUA_DISABLE_COSIGN=true AQUA_DISABLE_SLSA=true aqua i ``` ##### Update dependencies - Go 1.21.5 to 1.21.6 - goreleaser v1.22.1 to v1.23.0 - [go.mod](https://togithub.com/aquaproj/aqua/compare/v2.21.3...v2.22.0#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6) ### [`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 [#​2585](https://togithub.com/aquaproj/aqua/issues/2585) [#​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 [#​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 [#​2534](https://togithub.com/aquaproj/aqua/issues/2534) Fix a bug of root dir on Windows [#​2580](https://togithub.com/aquaproj/aqua/issues/2580) [#​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 [#​2517](https://togithub.com/aquaproj/aqua/issues/2517) [#​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 [#​2514](https://togithub.com/orgs/aquaproj/discussions/2514) [#​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 [#​2506](https://togithub.com/orgs/aquaproj/discussions/2506) [#​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 [#​2508](https://togithub.com/orgs/aquaproj/discussions/2508) [#​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 [#​2494](https://togithub.com/aquaproj/aqua/issues/2494) update: Support specifying new package versions e.g. ```sh aqua up [email protected] ``` [#​2461](https://togithub.com/aquaproj/aqua/issues/2461) Add debug logs of `update` and `generate` commands [@​dreamjz](https://togithub.com/dreamjz) ##### Bug Fixes [#​2493](https://togithub.com/aquaproj/aqua/issues/2493) [#​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 [#​2401](https://togithub.com/aquaproj/aqua/issues/2401) [#​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 🐞 [#​2476](https://togithub.com/orgs/aquaproj/discussions/2476) [#​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 [#​2470](https://togithub.com/aquaproj/aqua/issues/2470) [#​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 [#​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. [#​2473](https://togithub.com/aquaproj/aqua/issues/2473) Revert [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) [#​2469](https://togithub.com/aquaproj/aqua/issues/2469) was required to resolve [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) , but [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) was resolved by [#​2472](https://togithub.com/aquaproj/aqua/issues/2472) so [#​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 [#​2457](https://togithub.com/orgs/aquaproj/discussions/2457) [#​2458](https://togithub.com/aquaproj/aqua/issues/2458) update: Fix a panic when trying to update commands unmanaged by aqua [@​dreamjz](https://togithub.com/dreamjz) [#​2468](https://togithub.com/aquaproj/aqua/issues/2468) policy init: Fix typo in CLI output [@​ka2n](https://togithub.com/ka2n) [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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 [#​2467](https://togithub.com/aquaproj/aqua/issues/2467) [#​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! [@​ka2n](https://togithub.com/ka2n) [#​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 🐞 [#​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 [#​2355](https://togithub.com/aquaproj/aqua/issues/2355) [#​2447](https://togithub.com/aquaproj/aqua/issues/2447) Limit the number of versions retrieved by command `generate` and `update` [@​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 ``` [#​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. [#​2428](https://togithub.com/aquaproj/aqua/issues/2428) Add an alias of `update-checksum` command ```sh aqua upc ``` [#​2105](https://togithub.com/aquaproj/aqua/issues/2105) [#​2425](https://togithub.com/aquaproj/aqua/issues/2425) [#​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 🐞 [#​2444](https://togithub.com/aquaproj/aqua/issues/2444) generate-registry: Fix checksum filename for sha1 ##### Others [#​2436](https://togithub.com/aquaproj/aqua/issues/2436) chore(deps): update dependency slsa-framework/slsa-verifier to v2.4.1 [#​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! [@​dreamjz](https://togithub.com/dreamjz) [#​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 [#​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 [#​2414](https://togithub.com/orgs/aquaproj/discussions/2414) [#​2415](https://togithub.com/aquaproj/aqua/issues/2415) fix a bug that AQUA_DISABLE_POLIDY doesn't work [#​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 [#​2399](https://togithub.com/aquaproj/aqua/issues/2399) [#​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 [#​2393](https://togithub.com/aquaproj/aqua/issues/2393) generate-registry: Fix the usage of `-cmd` option ##### Others [#​2394](https://togithub.com/aquaproj/aqua/issues/2394) [#​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 [#​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 [#​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 - [#​2351](https://togithub.com/aquaproj/aqua/issues/2351) [#​2366](https://togithub.com/aquaproj/aqua/issues/2366) generate-registry: Get all GitHub Releases by default - [#​2349](https://togithub.com/aquaproj/aqua/issues/2349) [#​2362](https://togithub.com/aquaproj/aqua/issues/2362) generate-registry: Add an option `-cmd` - Others - [#​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 [#​2351](https://togithub.com/aquaproj/aqua/issues/2351) [#​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` [#​2349](https://togithub.com/aquaproj/aqua/issues/2349) [#​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 [#​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 [#​2354](https://togithub.com/aquaproj/aqua/issues/2354) [#​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 [#​2245](https://togithub.com/aquaproj/aqua/issues/2245) [#​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 [#​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 [#​1657](https://togithub.com/aquaproj/aqua/issues/1657) [#​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 [#​2332](https://togithub.com/aquaproj/aqua/issues/2332) chore(deps): update dependency golang/go to v1.21.3 [#​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 [#​2318](https://togithub.com/aquaproj/aqua/issues/2318) [#​2320](https://togithub.com/aquaproj/aqua/issues/2320) Add a new field `envs` to `overrides` instead of `goos` and `goarch` [#​2132](https://togithub.com/aquaproj/aqua/issues/2132) [#​2317](https://togithub.com/aquaproj/aqua/issues/2317) Support using `go_install` or `go_build` if the platform isn't included in `supported_envs` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​2314](https://togithub.com/aquaproj/aqua/issues/2314) Support omitting `.{{.Format}}` in `asset` and `url` [#​1876](https://togithub.com/aquaproj/aqua/issues/1876) [#​2313](https://togithub.com/aquaproj/aqua/issues/2313) Support short file extensions in `format` [#​1774](https://togithub.com/aquaproj/aqua/issues/1774) [#​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` [#​2318](https://togithub.com/aquaproj/aqua/issues/2318) [#​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` [#​2132](https://togithub.com/aquaproj/aqua/issues/2132) [#​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 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/DelineaXPM/github-workflows). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM4LjIwLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This was referenced Dec 5, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Feature Overview
Why is the feature needed?
Make Windows Users easy to install aqua.
How to reproduce the issue
No response
Workaround
Example Code
No response
Reference
The text was updated successfully, but these errors were encountered: