Skip to content

Update dependency aquaproj/aqua to v2.51.2 #23

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 23, 2023

This PR contains the following updates:

Package Update Change
aquaproj/aqua minor v2.27.4 -> v2.51.2

Release Notes

aquaproj/aqua (aquaproj/aqua)

v2.51.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.51.1...v2.51.2

🐛 Bug Fixes

#​3868 Fix version command

Dependency Updates

update module github.com/urfave/cli/v3 to v3.3.3 (#​3866)
golang.org/x/term to v0.32.0 (#​3863)

v2.51.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.51.0...v2.51.1

Features

#​3852 #​3853 Support managing a GitHub access token using Keyring

You can now manage a GitHub Access token using secret store such as Windows Credential Manager, macOS Keychain, and GNOME Keyring.

  1. Configure a GitHub Access token by aqua token set command:
$ aqua token set
Enter a GitHub access token: # Input GitHub Access token

or you can also pass a GitHub Access token via standard input:

echo "<github access token>" | aqua tokn set -stdin
  1. Enable the feature by setting the environment variable AQUA_KEYRING_ENABLED:
export AQUA_KEYRING_ENABLED=true

Note that if the environment variable GITHUB_TOKEN is set, this feature gets disabled.

You can remove a GitHub Access token from keyring by aqua token rm command:

aqua token rm

v2.51.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.50.1...v2.51.0

[!WARNING]
We intended to add a new command token in this release, but we forgot it.
Please use v2.51.1 or newer.

v2.50.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.50.0...v2.50.1

Improve the performance of command execution

#​3826

This release improves the performance of aqua which and aqua exec command.

aqua which read registries, but the standard registry is very large (about 2MB) so it makes the performance worse.
Furthermore, the standard registry gets larger every time we improve the standard registry.

To solve the problem, this pull request introduces the cache mechanism of packages by aqua.yaml.
aqua creates a cache file per aqua.yaml into $(aqua root-dir)/registry-cache/<base64 encoded aqua.yaml absolute path>.json.

The structure of cache files is:

{
  "absolute path of registry.yaml": {
    "package name": {
      "type": "github_release",
      // ...
    }
  }
}

If a registry type is local, a cache file isn't created.
Cache files are much smaller than the standard registry, so aqua can read them much faster.
If packages aren't found in cache files, aqua reads the original registries and updates cache files.
aqua removes unused records from cache.

Bench mark
$ hyperfine --warmup 3 "/Users/shunsukesuzuki/go/bin/aqua which golangci-lint" "/Users/shunsukesuzuki/.local/share/aquaproj-aqua/internal/pkgs/github_release/github.com/aquaproj/aqua/v2.50.1-1/aqua_darwin_arm64.tar.gz/aqua which golangci-lint" "/Users/shunsukesuzuki/.local/share/aquaproj-aqua/internal/pkgs/github_release/github.com/aquaproj/aqua/v2.50.0/aqua_darwin_arm64.tar.gz/aqua which golangci-lint"
Benchmark 1: /Users/shunsukesuzuki/go/bin/aqua which golangci-lint
  Time (mean ± σ):      25.0 ms ±   3.5 ms    [User: 21.4 ms, System: 3.7 ms]
  Range (min … max):    21.6 ms …  45.4 ms    77 runs
 
  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
 
Benchmark 2: /Users/shunsukesuzuki/.local/share/aquaproj-aqua/internal/pkgs/github_release/github.com/aquaproj/aqua/v2.50.1-1/aqua_darwin_arm64.tar.gz/aqua which golangci-lint
  Time (mean ± σ):      41.7 ms ±   4.5 ms    [User: 41.1 ms, System: 5.3 ms]
  Range (min … max):    37.2 ms …  62.3 ms    55 runs
 
  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
 
Benchmark 3: /Users/shunsukesuzuki/.local/share/aquaproj-aqua/internal/pkgs/github_release/github.com/aquaproj/aqua/v2.50.0/aqua_darwin_arm64.tar.gz/aqua which golangci-lint
  Time (mean ± σ):      42.8 ms ±   4.0 ms    [User: 41.9 ms, System: 5.6 ms]
  Range (min … max):    39.4 ms …  55.4 ms    43 runs
 
  Warning: The first benchmarking run for this command was significantly slower than the rest (54.4 ms). This could be caused by (filesystem) caches that were not filled until after the first run. You are already using the '--warmup' option which helps to fill these caches before the actual benchmark. You can either try to increase the warmup count further or re-run this benchmark on a quiet system in case it was a random outlier. Alternatively, consider using the '--prepare' option to clear the caches before each timing run.
 
Summary
  /Users/shunsukesuzuki/go/bin/aqua which golangci-lint ran
    1.67 ± 0.29 times faster than /Users/shunsukesuzuki/.local/share/aquaproj-aqua/internal/pkgs/github_release/github.com/aquaproj/aqua/v2.50.1-1/aqua_darwin_arm64.tar.gz/aqua which golangci-lint
    1.71 ± 0.29 times faster than /Users/shunsukesuzuki/.local/share/aquaproj-aqua/internal/pkgs/github_release/github.com/aquaproj/aqua/v2.50.0/aqua_darwin_arm64.tar.gz/aqua which golangci-lint

Others

#​3840 chore: update aqua-proxy to v1.2.9
#​3839 chore: update urfave-cli-v3-util to v0.0.4

v2.50.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.49.0...v2.50.0

Features

#​3794 GitHub Artifact Attestations: Non-default predicate type support @​scop

v2.49.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.48.3...v2.49.0

Features

#​3780 Support creating hardlinks

v2.48.3

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.48.2...v2.48.3

🐛 Bug Fixes

#​3774 Fix aqua version command

v2.48.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.48.1...v2.48.2

🐛 Bug Fixes

#​3771 Fix fish completion
#​3750 generate-registry: Fix panic if version isn't semver

Improvement

#​3772 Improve -v option and version command
#​3740 checksum: don't treat *.bundle as checksum @​scop

v2.48.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.48.0...v2.48.1

🐛 Bug Fixes

#​3729 Fix bash and zsh completion command generation @​takumin

v2.48.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.47.2...v2.48.0

Features

#​3725 support disabling slsa-verifier's --source-tag

v2.47.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.47.1...v2.47.2

Bug Fixes

#​3721 Fix a bug that a panic occurs if aqua tries to verify assets using Minisign on linux/arm64

Improvement

#​3718 generate-registry: Add os patterns

  • macosx
  • linux-gnu

v2.47.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.47.0...v2.47.1

🐛 Bug Fixes

#​3717 Fix the output of the version command

v2.47.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.46.0...v2.47.0

Features

#​3711 Support cosign veryf-blob's --bundle option
#​3710 generate-registry: Use cosign cert if sig is keyless, not pubkey even if available @​scop

Fixes

#​3689 generate-registry: Exclude the last element of version_overrides from sort

Others

#​3703 Update module github.com/urfave/cli/v2 to v3

v2.46.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.45.1...v2.46.0

Features

Improved aqua generate-registry command:

#​3649 Generate Cosign configuration of checksum @​scop
#​3663 Include version in generated cert id regexp @​scop
#​3664 Generate cosign config for releases with a pubkey @​scop
#​3653 Fix a panic
#​3657 Convert versions to {{.SemVer}}
#​3675 Fix a bug that a template variable AssetWithoutExt misses

v2.45.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.45.0...v2.45.1

Fixes

#​3641 Fix typo @​scop
#​3643 Fix typo using typos

Refactoring

#​3642 gopls modernize @​scop
#​3644 Fix typo

v2.45.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.44.1...v2.45.0

Features

Improved generate-registry:

#​3560 Generate slsa_provenance
#​3562 #​3568 #​3576 Support config file and filter versions and assets
#​3566 Fix complete_windows_ext
#​3577 Sort and group version_overrides
#​3578 Merge groups with only a single release
#​3579 Move no_asset to the top

Fixes

#​3593 Support signer_workflow too
#​3603 Skip the verification of GitHub Artifact Attestation if the authentication fails

Others

#​3586 Update checksums of cosign, slsa-verifier, minisign, and GitHub CLI automatically
#​3595 Output grammar fixes @​scop
#​3580 ghattestation: Error message fixes @​scop

v2.44.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.44.0...v2.44.1

🐛 Bug Fixes

#​3554 update: Fix a bug that aqua up fails if import_dir is used

This is a bug of aqua v2.44.0.

v2.44.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.43.3...v2.44.0

Features

#​3537 init: add a command line option -d
#​3528 Support import_dir and add command line options -u and -i to aqua init command

aqua init -d # Create a directory `aqua` and create `aqua/aqua.yaml`
aqua init -u # Create aqua.yaml with `import_dir: imports`
aqua init -i pkgs # Create aqua.yaml with `import_dir: pkgs`

e.g. aqua.yaml

registries:
- type: standard
  ref: v4.311.0
import_dir: imports

You can use import_dir and packages at the same time.
In addition to packages, aqua searches packages from the directory specified with import_dir.

import_dir: imports is equivalent to the following settings.

packages:
- import: imports/*.yml
- import: imports/*.yaml

And if import_dir is set, aqua g -i command creates a directory <import_dir> and adds packages to the file <import_dir>/<command name>.yaml.
For instance, if import_dir is imports, aqua g -i cli/cli creates a directory imports and adds cli/cli to imports/gh.yaml.

If the package has multiple commands, <command name> is the first command name in the files setting.
For instance, in case of FiloSottile/age, <command name> is age.

https://github.com/aquaproj/aqua-registry/blob/d39d4b5d0fb0635f6be7a70f3cb8b994f075a639/pkgs/FiloSottile/age/registry.yaml#L13-L17

    files:
      - name: age
        src: age/age
      - name: age-keygen
        src: age/age-keygen
Fixes

#​3537 init: Fix file existence check

aqua init skips creating a configuration file if configuration files already exist.
This release improves the logic.

v2.43.3

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.43.2...v2.43.3

Features

#​3521 generate-registry: Detect checksum files from some more typical SHA filenames @​scop

Others

#​3523 Update slsa-verifier to v2.7.0
#​3514 #​3534 Update Cosign to v2.4.2

v2.43.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.43.1...v2.43.2

Bug Fixes

#​3506 Exclude unavailable versions from the list of aqua g -s and aqua up -s

v2.43.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.43.0...v2.43.1

v2.43.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.42.2...v2.43.0

Features

#​3467 #​3478 Support vacuuming unused packages

https://aquaproj.github.io/docs/guides/vacuum

Now you can remove unused packages by aqua vacuum command, which is useful to save storage and keep your machine clean.

aqua vacuum

This command removes installed packages which haven't been used for over the expiration days.
The default expiration days is 60, but you can change it by the environment variable $AQUA_VACUUM_DAYS or the command line option aqua vacuum -days <expiration days>.

e.g.

export AQUA_VACUUM_DAYS=90
aqua vacuum -d 30

[!CAUTION]
aqua vacuum command doesn't remove links from the bin directory and doesn't remove packages from aqua.yaml

As of aqua v2.43.0, aqua records packages' last used date times.
Date times are updated when packages are installed or executed.
Packages installed by aqua v2.42.2 or older don't have records of last used date times, so aqua can't remove them.
To solve the problem, aqua vacuum --init is available.

aqua vacuum --init

aqua vacuum --init searches installed packages from aqua.yaml including $AQUA_GLOBAL_CONFIG and records the current date time as the last used date time of those packages if their last used date times aren't recorded.

aqua vacuum --init can't record date times of install packages which are not found in aqua.yaml.
If you want to record their date times, you need to remove them by aqua rm command and re-install them.

v2.42.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.42.1...v2.42.2

🐛 Bug Fixes

#​3436 Fix a bug that aqua update command fails if version_expr or go_version_file is used

As of this release, aqua update command ignores packages with version_expr or go_version_file.

v2.42.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.42.0...v2.42.1

🐞 Bug Fixes

#​3433 Create symlinks if unarchived files are symlinks

This fixes a bug of aqua v2.42.0. #​3432

v2.42.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.41.0...v2.42.0

[!CAUTION]
This version has a known buhttps://github.com/aquaproj/aqua/issues/3432/3432
This bug was fixed at v2.42.1. https://github.com/aquaproj/aqua/releases/tag/v2.42.1

Features

#​3422 Support 7 zip

Others

#​3422 Replace mholt/archiver/v3 with mholt/archives

mholt/archiver/v3 was deprecated and it's encourage to migrate to mholt/archives.

v2.41.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.40.0...v2.41.0

Features

#​3407 Support cargo install's --locked option

https://aquaproj.github.io/docs/reference/registry-config/cargo-package

e.g. registry.yaml:

            type: cargo
            crate: rhit
            cargo:
              locked: true
      --locked               Assert that `Cargo.lock` will remain unchanged

#​3399 update: Support filtering updated packages using package tags

https://aquaproj.github.io/docs/guides/package-tag

e.g.

aqua up -t bootstrap # Update only packages with a tag `bootstrap`
aqua up --exclude-tags bootstrap # Exclude packages with a tag `bootstrap`

v2.40.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.39.1...v2.40.0

Features

#​3363 Support getting package versions from external files

This release enables you to get package versions from external files.
This feature is useful when:

  • Migrate any tool to aqua gradually
  • Support aqua and other tools

This release adds some fields to aqua.yaml's packages.

  • version_expr: An expr expression to read external files
  • version_expr_prefix: A prefix of version

e.g.

packages:
- name: hashicorp/terraform
  version_expr: |
    "v" + readFile('.terraform-version')
  version_expr: |
    readJSON('version.json').version
  version_expr_prefix: cli-
  version_expr: |
    readYAML('version.yaml').version

version_expr is evaluated using expr.
The following custom functions are available.

  • readFile("file path"): reads a file and returns a file content
  • readJSON("file path"): read and unmarshal a JSON file and returns an object
  • readYAML("file path"): read and unmarshal a YAML file and returns an object
⚠️ Constraint of version_expr

Allowing to read external files is potentially risky in terms of security.
Malicious users can try to read secret files and expose secrets via log using version_expr.
To prevent such a threat, we restrict the evaluation result of version_expr.
It must match with the regular expression ^v?\d+\.\d+(\.\d+)*[.-]?((alpha|beta|dev|rc)[.-]?)?\d*.

v2.39.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.39.0...v2.39.1

Fixes

#​3365 cargo: Normalize the install path of cargo packages

Others

#​3361 Refactor reading config

v2.39.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.38.4...v2.39.0

Features

#​3354 policy: add a code comment for YAML Language Servers to a generated file aqua-policy.yaml

### yaml-language-server: $schema=https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/policy.json

#​3352 init: Add a code comment for YAML Language Servers to a generated file aqua.yaml

### yaml-language-server: $schema=https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/aqua-yaml.json

These code comments are useful when you edit files with editors such as VSCode.

image image

v2.38.4

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.38.3...v2.38.4

Bug Fixes

#​3337 generate-registry: Fix a bug that unused replacements are added

v2.38.3

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.38.2...v2.38.3

Bug Fixes

#​3325 #​3333 Fix a bug that aqua g -i removes comments from packages

v2.38.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.38.1...v2.38.2

🐛 Bug Fixes

#​3307 generate-registry: Fix a bug that description isn't formatted

v2.38.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.38.0...v2.38.1

Fixes

#​3297 completion: Improve the completion settings suggested in aqua completion --help @​akinomyoga

v2.38.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.37.2...v2.38.0

Features

#​3269 Get available versions from Go Module Proxy

https://aquaproj.github.io/docs/reference/registry-config/go-version-path

This release adds the new field go_version_path to registries.

e.g.

packages:
  - name: _go/sigsum.org/sigsum-go#cmd/sigsum-key
    type: go_install
    path: sigsum.org/sigsum-go/cmd/sigsum-key
    go_version_path: sigsum.org/sigsum-go

If this field is set, aqua g and aqua up commands gets available versions from Go Module Proxy.

v2.37.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.37.1...v2.37.2

Fixes

#​3233 which, exec: Search configuration files even if AQUA_CONFIG is set

v2.37.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.37.0...v2.37.1

Bug Fixes

#​3226 #​584 Fix a bug that newlines in aqua.yaml are removed when updating aqua.yaml by aqua g -i and aqua up

This issue came from the bug of goccy/go-yaml. https://github.com/goccy/go-yaml/issues/285
The issue was solved at goccy/go-yaml 1.13.3.
So we updated goccy/go-yaml to 1.13.3 and solve the issue.

v2.37.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.36.2...v2.37.0

Features

#​3224 Allow to set command aliases in aqua.yaml

You can now define command aliases in aqua.yaml.
This is useful to use multiple versions of the same package.

e.g.

registries:
- type: standard
  ref: v4.246.0 # renovate: depName=aquaproj/aqua-registry
packages:
- name: hashicorp/[email protected]
- name: hashicorp/terraform
  version: v0.13.7
  command_aliases:
    - command: terraform
      alias: terraform-013

### no_link: true

Then you can run terraform (v1.9.8) and terraform-013 (v0.13.7).

$ terraform version
Terraform v1.9.8
on darwin_arm64

$ terraform-013 version
Terraform v0.13.7

Your version of Terraform is out of date! The latest version
is 1.9.8. You can update by downloading from https://www.terraform.io/downloads.html

You can skip creating symbolic links for aliases by no_link: true

  command_aliases:
    - command: terraform
      alias: terraform-013
      no_link: true

You can still run aliases via aqua exec.

aqua exec -- terraform-013 version

v2.36.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.36.1...v2.36.2

Bug Fixes

#​3193 #​3194 Fix a bug that vars are not replaced in files[].src

v2.36.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.36.0...v2.36.1

Fixes

#​3146 generate-registry: Remove rosetta2 and windows_arm_emulation if {{.Arch}} isn't included in asset

Dependency updates

#​3148 Update aqua-proxy to 1.2.8
#​3149 Update Go to 1.23.2

v2.36.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.35.0...v2.36.0

Features

#​3130 #​3134 support changing $0 by symlink

Some tools change their behavior by $0.

For example, granted changes the behavior based on args[0].

https://github.com/common-fate/granted/blob/e8de3ec7d62d543062d8be802b27abb3d8fac429/cmd/granted/main.go#L37-L44

	// Use a single binary to keep keychain ACLs simple, swapping behavior via argv[0]
	var app *cli.App
	switch filepath.Base(os.Args[0]) {
	case "assumego", "assumego.exe", "dassumego", "dassumego.exe":
		app = assume.GetCliApp()
	default:
		app = granted.GetCliApp()
	}

This release supports changing $0 by symlink.

        files:
          - name: granted
          - name: assumego
            src: granted
            link: assumego # link is the relative path from src to the symlink

Bug Fixes

#​3136 #​3137 remove: Handle panic error when package is not found @​Shion1305
#​3138 remove: Ignore not found commands

v2.35.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.34.0...v2.35.0

Features

#​3119 #​3131 Verify packages' GitHub Artifact Attestations

When aqua installs packages, it verifies their GitHub Artifact Attestations if they are provided and registries have settings for GitHub Artifact Attestations.

#​3117 Create GitHub Artifact Attestations of aqua

We start providing aqua's GitHub Artifact Attestations!

https://github.com/aquaproj/aqua/attestations

If you download aqua from GitHub Releases, you can verify GitHub Artifact Attestations using GitHub CLI.

https://aquaproj.github.io/docs/install#verify-downloaded-binaries-from-github-releases

Reference:

Fixes

#​3129 Redirect stdout of some commands to stderr

aqua executes some os commands to install packages.

  • go install
  • go build
  • cargo
  • cosign
  • slsa-verifier
  • minisign
  • gh attestation verify

aqua should redirect the stdout of these commands to stderr.

v2.34.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.33.0...v2.34.0

Features

#​3103 Enabling you to verify checksum files using Minisign

You can now verify checksum files using Minisign.

e.g.

        checksum:
          type: github_release
          asset: sha256.txt
          algorithm: sha256
          minisign:
            type: github_release
            asset: sha256.txt.minisig
            public_key: RWQ/i9xseZwBVE7pEniCNjlNOeeyp4BQgdZDLQcAohxEAH5Uj5DEKjv6

v2.33.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.32.0...v2.33.0

Features

#​3101 Enable you to remove go_install and http packages

You can now uninstall go_install and http packages!
Furthermore, the uninstall can now handles version_overrides properly.

v2.32.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.31.0...v2.32.0

Features

#​3075 #​3094 Support removing links from the bin directory

By default, aqua remove command removes only packages from the pkgs directory and doesn't remove links from the bin directory.
This release has added the command line option -mode to the remove command.
The value of -mode is a string containing characters l and p.
The order of the characters doesn't matter.

aqua rm -m l cli/cli # Remove only links
aqua rm -m pl cli/cli # Remove links and packages

You can also configure the mode by the environment variable AQUA_REMOVE_MODE, so you can change the default behaviour of aqua remove command by setting AQUA_REMOVE_MODE in your shell setting such as .bashrc.

export AQUA_REMOVE_MODE=pl

v2.31.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.30.0...v2.31.0

Overview

Featuers

#​2978 #​2994 Support verifying packages with minisign
#​3052 Support passing variables

Fixes

#​3012 Fix typo temporal. Replace them with temporary
#​3017 #​3024 Stop using replace directive

Others

Update Go 1.22.5 to 1.22.6

Feature - Support verifying packages with minisign

#​2978 #​2994

Support verifying packages with minisign.

Why is the feature needed?

To install some packages securely.
For example, zig is signed by minisign.

Example Code

This feature is similar to Cosign and slsa-verifier.

https://aquaproj.github.io/docs/reference/registry-config/cosign/

This feature depends on minisign.
So aqua should install minisign transparently same as Cosign and slsa-verifier.

registry.yaml

minisign:
  enabled: true
  public_key: "RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U"

### public_key_url: https://example/signature.pub

Feature - Support passing variables

#​3052

Add the optional field vars in aqua.yaml and Registry.

vars in Registry

e.g.

packages:
  - type: github_release
    repo_owner: indygreg
    repo_name: python-build-standalone
    asset: cpython-{{.Vars.python_version}}+{{.Version}}-{{.Arch}}-{{.OS}}-install_only.{{.Format}} # .Vars.python_version
    vars:
      - name: python_version
        required: true

### ...

vars is a list of variables.
Fields of a variable

  • name: string (Required): A variable name
  • required: boolean (Optional): If true, the variable is required. To use the package, users need to set the variable in aqua.yaml
  • default: any (Optional): The default value of the variable

Variables are passed to template strings as .Vars.<template name>.

e.g.

asset: cpython-{{.Vars.python_version}}+{{.Version}}-{{.Arch}}-{{.OS}}-install_only.{{.Format}}
vars in aqua.yaml

e.g.

packages:
  - name: indygreg/python-build-standalone@20240726
    vars:
      python_version: 3.11.9

vars is a map of variables.
The key is a variable name and the value is a variable value.

v2.30.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.29.2...v2.30.0

Features

#​2918 #​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://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
  2. PowerShell doesn't use the final target of a symbolic link when starting a process or running a native command on Windows

aqua v2.29.2 or older used shell scripts and bat scripts instead of symbolic links and aqua-proxy.

#​885 #​892 #​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
  3. bat scripts can't handle signals properly https://github.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
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 Update slsa-verifier to v2.6.0
#​3008 Update module github.com/goccy/go-yaml to v1.12.0

v2.29.2

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.29.1...v2.29.2

Bug Fixes

#​3001 Fix checksums of Cosign

Fixed a bug of aqua v2.29.1

v2.29.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.29.0...v2.29.1

⚠️ This release has a critical bug

Please don't use this version.

The checksums of Cosign are wrong.

The issue will be fixed by https://github.com/aquaproj/aqua/pull/3001 soon.

Features

#​2965 list: Add an alias of command line option -installed

aqua list -i

Fixes

#​2981 Fix a bug that the shell completion of tools built with urfave/cli/v2 doesn't work

For detail, please see the following issues and pull request.

Others

Update Go to 1.22.5

v2.29.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.28.1...v2.29.0

Features

#​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.

aqua completion fish | source

Or you can write the output to a file.

https://fishshell.com/docs/current/completions.html#where-to-put-completions

aqua completion fish > ~/.config/fish/completions/aqua.fish

v2.28.1

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.28.0...v2.28.1

Bug Fixes

#​2904 generate: Fix a bug that aqua g -i fails if aqua.yaml doesn't have the field packages
#​2902 info: Fix a bug that user names aren't masked on Windows @​sapphi-red

v2.28.0

Compare Source

Pull Requests | Issues | aquaproj/aqua@v2.27.4...v2.28.0

Features

#​2609 #​2730 #​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.

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 Ignore invalid packages and continue working

When reading aqua.yaml, aqua ignores invalid packages and continues working.
This improves the robustness.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

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


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.10.0 Update dependency aquaproj/aqua to v2.10.1 Jul 23, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 6c01111 to 8a48ad2 Compare July 23, 2023 10:45
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.10.1 Update dependency aquaproj/aqua to v2.11.0 Sep 16, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 8a48ad2 to 2849ee9 Compare September 16, 2023 23:22
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.11.0 Update dependency aquaproj/aqua to v2.12.0 Sep 17, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 2849ee9 to f461e76 Compare September 17, 2023 08:17
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.12.0 Update dependency aquaproj/aqua to v2.12.1 Sep 27, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from f461e76 to 1bcfe7b Compare September 27, 2023 08:39
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.12.1 Update dependency aquaproj/aqua to v2.12.2 Oct 6, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 1bcfe7b to a4652d7 Compare October 6, 2023 03:50
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.12.2 Update dependency aquaproj/aqua to v2.13.0 Oct 10, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from a4652d7 to 1862892 Compare October 10, 2023 00:47
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.13.0 Update dependency aquaproj/aqua to v2.13.1 Oct 11, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 1862892 to 56d6652 Compare October 11, 2023 04:12
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.13.1 Update dependency aquaproj/aqua to v2.14.0 Oct 16, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 56d6652 to 7b1f019 Compare October 16, 2023 12:59
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.14.0 Update dependency aquaproj/aqua to v2.14.1 Oct 17, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch 2 times, most recently from 765fc39 to 691083a Compare October 17, 2023 14:28
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.14.1 Update dependency aquaproj/aqua to v2.15.0 Oct 17, 2023
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.15.0 Update dependency aquaproj/aqua to v2.15.1 Oct 21, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 691083a to 0c24caf Compare October 21, 2023 07:22
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.15.1 Update dependency aquaproj/aqua to v2.16.0 Oct 22, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 0c24caf to efe8c21 Compare October 22, 2023 04:10
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.16.0 Update dependency aquaproj/aqua to v2.16.1 Oct 28, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from efe8c21 to 5ab3d69 Compare October 28, 2023 10:16
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.16.1 Update dependency aquaproj/aqua to v2.16.2 Oct 28, 2023
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 5ab3d69 to 22ee92e Compare October 28, 2023 15:20
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.16.2 Update dependency aquaproj/aqua to v2.16.3 Oct 31, 2023
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.44.1 Update dependency aquaproj/aqua to v2.45.0 Feb 24, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from cf99c1e to 52046be Compare March 13, 2025 00:38
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.45.0 Update dependency aquaproj/aqua to v2.45.1 Mar 13, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 52046be to 4e1800d Compare March 20, 2025 08:32
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.45.1 Update dependency aquaproj/aqua to v2.46.0 Mar 20, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 4e1800d to f2fbaa0 Compare April 4, 2025 02:54
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.46.0 Update dependency aquaproj/aqua to v2.47.0 Apr 4, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from f2fbaa0 to abdf39b Compare April 4, 2025 05:43
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.47.0 Update dependency aquaproj/aqua to v2.47.1 Apr 4, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from abdf39b to 9c01102 Compare April 4, 2025 11:40
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.47.1 Update dependency aquaproj/aqua to v2.47.2 Apr 4, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 9c01102 to f8fa0ac Compare April 4, 2025 15:35
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.47.2 Update dependency aquaproj/aqua to v2.48.0 Apr 4, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from f8fa0ac to ecce244 Compare April 5, 2025 05:54
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.48.0 Update dependency aquaproj/aqua to v2.48.1 Apr 5, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from ecce244 to d97e5b9 Compare April 17, 2025 14:53
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.48.1 Update dependency aquaproj/aqua to v2.48.2 Apr 17, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from d97e5b9 to c09e0de Compare April 17, 2025 23:24
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.48.2 Update dependency aquaproj/aqua to v2.48.3 Apr 17, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from c09e0de to b70512e Compare April 19, 2025 05:34
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.48.3 Update dependency aquaproj/aqua to v2.49.0 Apr 19, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from b70512e to b94feba Compare April 20, 2025 14:54
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.49.0 Update dependency aquaproj/aqua to v2.50.0 Apr 20, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from b94feba to 8e40b78 Compare May 3, 2025 01:33
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.50.0 Update dependency aquaproj/aqua to v2.50.1 May 3, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from 8e40b78 to cf74a1c Compare May 6, 2025 12:53
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.50.1 Update dependency aquaproj/aqua to v2.51.1 May 6, 2025
@renovate renovate bot force-pushed the renovate/aquaproj-aqua-2.x branch from cf74a1c to ffc5199 Compare May 11, 2025 13:55
@renovate renovate bot changed the title Update dependency aquaproj/aqua to v2.51.1 Update dependency aquaproj/aqua to v2.51.2 May 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants