Skip to content

Releases: aiken-lang/aiken

v1.1.19 - 2025-07-28

28 Jul 18:19
v1.1.19
e525483

Choose a tag to compare

Release Notes

Added

  • aiken-project: Pretty print execution units. Added --plain-numbers
    flag to check command, to switch between the two formats. @nikhils9
  • aiken-lang: New type decorators that allow control over the encoding of types. @rvcas @MicroProofs

Changed

  • aiken-project: Reintroduce filtering by files with the extension .ak like in the past. This was how it was at first anyways. @keyan-m

Fixed

  • aiken-lang: Fix formatting issue with grouped pipeline followed by tuple index. @rvcas
  • aiken-lang: Fix formatting issue with record updates and punning syntax. @rvcas
  • aiken-lang: Prevent validator params being in the top level scope for functions. @MicroProofs
  • aiken-lang: Formatting for long import lines @rvcas
  • aiken-lang: aiken add wrongly rejects valid org/project pairs. @rvcas
  • uplc: PlutusData comparison in the UPLC VM shouldn't rely on CBOR encoding. @rvcas @KtorZ

Install aiken 1.1.19

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.19/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.19/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.19

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.17 - 2025-05-08

08 May 17:24
v1.1.17
c3a7fba

Choose a tag to compare

Release Notes

Added

  • aiken: New --property-coverage flag to the check command, to switch the coverage denominator between the number of iterations and the total number of labels. @KtorZ

    -P, --property-coverage <COVERAGE_MODE>
            Display options for the coverage.
              - relative-to-labels:
                  Ratio of each label over the total number of labels.
                  Better when labels are mutually-exclusive and present in each test.
    
              - relative-to-tests:
                  Ratio of each label over the total number of tests/iterations.
                  Better when labels are occasional and non-exclusive per test.
    
            [default: relative-to-labels]
    
  • aiken: New --script-override flag added to the tx simulate command, to override script hashes with another script without modifying the transaction CBOR. @yHSJ

    --script-override [<SCRIPT_OVERRIDES>...]  The "from" hash which is being replaced and the hash "to" hash which is being overriden in the form "FROM:TO"
    
  • aiken-lang: New prelude function to conveniently upcast any serialisable type into Data in places where the compiler cannot do it implicitly.

    pub fn as_data(data: Data) -> Data
  • aiken-lsp: New quickfix to pluck inferred types in holes within annotations. @KtorZ

  • aiken-lsp: New quickfix to make private functions, types or constants public when detected unused. @KtorZ

  • aiken-lsp: New quickfix to make types public when 'leaking' from a public function (e.g. validator handlers). @KtorZ

Fixed

  • aiken: Allow blueprint 'apply' to be called from outside an Aiken project. @mpizenberg
  • aiken-lang: Correctly infer Fuzzer & Sampler via type annotations when referring to foreign types. @KtorZ
  • aiken-lang: Allow type reification to pierce through Data aliases (e.g. Redeemer) holding lists, tuples or pairs, instead of crashing the compiler. @KtorZ
  • aiken-lang: Allow Pair to be used inline in Fuzzer's eDSL. @KtorZ
  • aiken-lang: Do not mark imported types as unused when used only as namespace in patterns. @KtorZ
  • aiken-lang: Do not warn about unused constructors when already warning about unused type. @KtorZ
  • aiken-lsp: Fix module's inhabitant import quickfix for renamed modules. @KtorZ
  • aiken-lsp: Fix quickfix suggestion to use qualified for renamed modules. @KtorZ

Install aiken 1.1.17

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.17/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.17/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.17

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.16 - 2025-04-14

14 Apr 18:42
23061c0

Choose a tag to compare

Release Notes

Added

  • aiken: Very simple support for monorepos via a members property in the
    root aiken.toml file. Globs are supported you one could do this:

    members = ["pkgs/*"]

    @rvcas

Fixed

  • aiken: Summary should always print at the end of the output not just when
    checks plus warnings is greater than zero. @rvcas

  • aiken-lang: Fix comments not being able to occur in ByteArray array
    members. @rvcas

  • uplc: find_script now supports stake registrations certificates @mpizenberg

Install aiken 1.1.16

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.16/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.16/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.16

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.15

23 Mar 18:38
f03633e

Choose a tag to compare

Install aiken 1.1.15

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.15/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.15/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.15

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.14 - 2025-03-21

21 Mar 10:14
v1.1.14
796eb2d

Choose a tag to compare

Release Notes

Added

  • aiken: New -S flag on check and build that blocks the printing of warnings but it still shows the total warning count. @rvcas
  • aiken-lang: Allow types to be used as namespaces for constructors. Importing each constructor variants independently is no longer required in neither pattern-matches nor value construction. One can simply use the type name as a prefix/namespace now. @KtorZ
  • aiken-lang: Allow capture on constructor calls. @KtorZ

Changed

  • aiken-lang: Prevent (type error) backpassing blocks with empty continuation. See #1111. @KtorZ
  • aiken-lang: Change default placeholder for trace to Void instead of todo. @KtorZ
  • aiken-lang: Disallow (parse error) dangling colon : in traces. See #1113. @KtorZ
  • aiken-lang: Fix aiken blueprint apply wrongly overriding all validators handlers names & ABI to the mint's one. See #1099. @KtorZ
  • aiken-lang: Always type-check trace label irrespective of the trace level, to avoid unnecessary warnings in compact or silent mode. See #1122. @KtorZ
  • aiken-lang: Formatter was removing comments from function type annotation args @rvcas
  • aiken-lang: Parser wrongly merged two adjacent sequences together, effectively fusioning scopes. @KtorZ
  • aiken-lang: Fix hint when suggesting to use named fields, wrongly suggesting args in lexicographical order instead of definition order. @KtorZ
  • aiken-project: Better errors on blueprint apply when matching multiple or no validators. See #1127 @KtorZ

Install aiken 1.1.14

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.14/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.14/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.14

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.13 - 2025-02-21

26 Feb 15:24

Choose a tag to compare

Release Notes

Changed

  • aiken: Bumped pallas to 0.32.0

Install aiken 1.1.13

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.13/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.13/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.13

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.12 - 2025-02-18

18 Feb 20:42

Choose a tag to compare

Release Notes

Changed

  • uplc: eval_phase_two and related functions now return an EvalResult @Quantumplation

    In order to allow consuming tools provide better tooling experiences, the various eval_phase_two
    functions provide an EvalResult, which includes the final term, the remaining budget, and the traces.
    This means you can display or work with the traces of a script even if it succeeds.

Install aiken 1.1.12

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.12/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.12/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.12

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.11 - 2025-02-11

11 Feb 13:45

Choose a tag to compare

Release Notes

Added

  • aiken: New aiken bench command to run benchmarks. @Riley-Kilgore, @KtorZ

    The command is very similar to aiken check, and will collect and run benchmarks found across the codebase. The output by default is a set of pretty terminal plots for each dimension (mem & cpu) for each test bench. The complete dataset of points can be obtained in a structured (JSON) format by redirecting the output to a file.

  • aiken-lang: New bench keyword and capabilities to the test framework. @Riley-Kilgore, @KtorZ

    A bench is a new type of test that takes in a single Sampler<a> = fn(Int) -> Fuzzer<a> as parameter, similar to how property-based test receive Fuzzer<a>. A Sampler is in fact, a scaled Fuzzer which receive a monotically increasing size as parameter. This allows fine-grained control over generated values. Unlike tests, benchmarks can return anything since their output is ignored.

    Read more about benchmarks in the user manual.

Changed

  • aiken-lang: The compiler now raises a warning when attempting to destructure a record constructor without using named fields. See #1084. @KtorZ
  • aiken-lang: Fix blueprint schema definitions related to pairs (no longer omit (sometimes) Pairs definitions, and generate them as data List). See #1086 and #970. @KtorZ
  • aiken-project: Improve feedback returned when matching tests or modules. See #1092. @KtorZ
  • aiken-project: Disambiguate type-alias blueprint definition using module's name. See #1074. @KtorZ

Install aiken 1.1.11

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.11/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.11/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.11

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.10 - 2025-01-21

21 Jan 17:10
b25afa2

Choose a tag to compare

Release Notes

Added

  • aiken-project: export output now supports the functions return_type. @rvcas
  • aiken-lang: write_bits can now be used from aiken/builtins. @MicroProofs

Changed

  • aiken-project: The aiken.toml file no longer supports v1 and v2 for the plutus version field. @rvcas
  • aiken-project: Error::TomlLoading now looks much better - see. @rvcas
  • aiken-lang: 10-20% optimization improvements via case-constr, rearranging function definitions (while maintaining dependency ordering),
    and allowing inlining in if_then_else_error cases which preserve the same error semantics for a program. @MicroProofs

Fixed

  • aiken: panic error when using aiken uplc decode on cbor encoded flat bytes. @rvcas
  • aiken-lang: comment formatting in pipelines leading to confusion. @rvcas
  • aiken-lang: preserve holes discard name in function captures (see #1080). @KtorZ
  • uplc: Added deserialization match for the new builtin indices.

Install aiken 1.1.10

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.10/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.10/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.10

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum

v1.1.9 - 2024-12-13

13 Dec 15:59
2217206

Choose a tag to compare

Release notes

Added

  • aiken: Generate a default 'placeholder.ak' validator when using aiken new. See #1061 @waalge
  • aiken-lang: New builtins unconstr_fields and unconstr_index. @MicroProofs
  • aiken-lang: Added builtins from Chang2 hardfork (except for writeBits). @MicroProofs, @KtorZ
  • aiken-projects: The generated documentation may now include maths typesetting rendered using KaTex. See #1070 @adrian052.
    • (Linux & MacOS only) Both inline (delimited by single $ symbols) and blocks (delimited by doubled $$ symbols) are now parsed and rendered as SVG upon generating documentation. For example:

      $$
      g^{z} = g^{r +c \cdot x} = g^{r} g^{x \cdot c} = g^{r} (g^{x})^{c} = g^{r} u^{c}
      $$
      

      will display:

      $$ g^{z} = g^{r + c \cdot x} = g^{r} g^{x \cdot c} = g^{r} (g^{x})^{c} = g^{r} u^{c} $$

  • uplc: New builtins from Chang2 hardfork added to the VM along with costing. @hadelive, @MicroProofs

Changed

  • aiken: Fix aiken blueprint policy computing hashes as PlutusV1, instead of relying on the plutus version from the Blueprint. @KtorZ
  • uplc: Parse tild in identifiers for UPLC nodes. @SupernaviX
  • examples: Update "Hello, World!" source code tutorial to match website, now using MeshJS. @jinglescode
  • examples: Update "Gift Card" source code tutorial to match website, now using Lucid-Evolution and Weld. @rvcas
  • aiken-lang: Fixed a code gen crash when using records in when is expressions. @MicroProofs

Install aiken 1.1.9

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.9/aiken-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/aiken-lang/aiken/releases/download/v1.1.9/aiken-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @aiken-lang/[email protected]

Install prebuilt binaries via Homebrew

brew install aiken-lang/tap/aiken

Download aiken 1.1.9

File Platform Checksum
aiken-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
aiken-x86_64-apple-darwin.tar.gz Intel macOS checksum
aiken-x86_64-pc-windows-msvc.tar.gz x64 Windows checksum
aiken-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum