diff --git a/.github/workflows/nightly-canary.yml b/.github/workflows/nightly-canary.yml index 4fd5ce1..f107dab 100644 --- a/.github/workflows/nightly-canary.yml +++ b/.github/workflows/nightly-canary.yml @@ -20,7 +20,7 @@ jobs: uses: actions/checkout@v4 - name: Install Nargo - uses: noir-lang/noirup@v0.1.3 + uses: noir-lang/noirup@v0.1.5 with: toolchain: nightly diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d3fc7cd..3af02c6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ on: env: CARGO_TERM_COLOR: always - MINIMUM_NOIR_VERSION: v1.0.0-beta.19 + MINIMUM_NOIR_VERSION: 1.0.0-beta.19 jobs: noir-version-list: @@ -22,7 +22,10 @@ jobs: id: get_versions run: | # gh returns the Noir releases in reverse chronological order so we keep all releases published after the minimum supported version. - VERSIONS=$(gh release list -R noir-lang/noir --exclude-pre-releases --json tagName -q 'map(.tagName) | index(env.MINIMUM_NOIR_VERSION) as $index | if $index then .[0:$index+1] else [env.MINIMUM_NOIR_VERSION] end') + # Noir's `v1.0.0-*` releases are all marked as pre-releases, so they must not be excluded. Daily `nightly-*` releases are + # interleaved with them, so the limit has to be large enough to reach back to the minimum version, and they are filtered + # out by keeping only `v`-prefixed tags. The `v` prefix is stripped to match `MINIMUM_NOIR_VERSION`. + VERSIONS=$(gh release list -R noir-lang/noir --exclude-drafts --limit 1000 --json tagName -q 'map(.tagName | select(startswith("v")) | ltrimstr("v")) | index(env.MINIMUM_NOIR_VERSION) as $index | if $index then .[0:$index+1] else [env.MINIMUM_NOIR_VERSION] end') echo "versions=$VERSIONS" echo "versions=$VERSIONS" >> $GITHUB_OUTPUT env: @@ -43,7 +46,7 @@ jobs: uses: actions/checkout@v4 - name: Install Nargo - uses: noir-lang/noirup@v0.1.3 + uses: noir-lang/noirup@v0.1.5 with: toolchain: ${{ matrix.toolchain }} @@ -57,7 +60,7 @@ jobs: uses: actions/checkout@v4 - name: Install Nargo - uses: noir-lang/noirup@v0.1.3 + uses: noir-lang/noirup@v0.1.5 with: toolchain: ${{ env.MINIMUM_NOIR_VERSION }} diff --git a/LICENSE b/LICENSE index c61b663..fe72851 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,8 @@ APPENDIX: How to apply the Apache License to your work. same "printed page" as the copyright notice for easier identification within third-party archives. -Copyright [yyyy] [name of copyright owner] +Copyright 2024-2025 Aztec Labs +Copyright 2026 Aztec Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index ed15887..a75e98c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # sparse_array +> [!WARNING] +> **This library is experimental software. It has not been fully audited and is not guaranteed to be secure. Expect bugs!** +> +> sparse_array is provided "as is", without warranty of any kind (see [LICENSE](LICENSE)). Bugs in this library can lead to under-constrained circuits, allowing invalid proofs to be accepted. Do not rely on it to protect real assets or sensitive data without your own independent review. + Noir library that implements efficient sparse arrays, both constant (SparseArray) and mutable (MutSparseArray) ## Noir version compatibility