Releases: aiken-lang/aiken
Releases · aiken-lang/aiken
v1.1.15
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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.15
v1.1.14 - 2025-03-21
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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.14
v1.1.13 - 2025-02-21
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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.13
v1.1.12 - 2025-02-18
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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.12
v1.1.11 - 2025-02-11
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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.11
v1.1.10 - 2025-01-21
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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.10
v1.1.9 - 2024-12-13
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:
- 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
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.9
v1.1.7 - 2024-11-19
Release Notes
Changed
- aiken: Move JSON schema help for
check
under a new dedicated flag --show-json-schema
. @KtorZ
- aiken-lang: Fix pattern-matching on list wildcard sometimes causing compiler crash following the new decision trees approach. @MicroProofs
- uplc, aiken, aiken-lang: Update internal dependencies to pallas-0.31.0. @KtorZ
Install aiken 1.1.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.7/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.7/aiken-installer.ps1 | iex"
Install prebuilt binaries into your npm project
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.7
v1.1.6 - 2024-11-13
Release Notes
Added
- aiken: Optionally provide blueprint file location when using
blueprint apply
. @Riley-Kilgore
- aiken: Output test results as structured JSON when the target output is not a TTY terminal. @Riley-Kilgore, @KtorZ
Changed
- aiken: Fix validator selection for
apply
, address
and policy
commands. Parameters are also now correctly applied to all handlers of a given validator, instead of needing to be manually targetted one-by-one. @KtorZ
- aiken: Add more flexibility around the management of Plutus blueprint files for
build
, address
, policy
and apply
commands. See #1055. @KtorZ
- aiken: Rename
--filter_traces
to --trace_filter
for more consistency with --trace_level
. An alias for --filter_traces
still exists for backward compatibility. @KtorZ
- aiken-project: Fix
aiken docs
wrongly formatting list constants as tuples. See #1048. @KtorZ
- aiken-project: Fix
aiken docs
source linking crashing when generating docs for config modules. See #1044. @KtorZ
- aiken-project: Fix
aiken docs
generating very long lines for constants. @KtorZ
- aiken-lang: Leverage Decision Trees for compiling pattern matches to UPLC. @MicroProofs
- aiken-lang: Rework optimization passes to safely reduce different kinds of patterns for each pass over the uplc. @MicroProofs
- aiken-lang: Implement a looping mechanism to reduce uplc with deletion optimizations until term count remains the same. @MicroProofs
Removed
Install aiken 1.1.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.6/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.6/aiken-installer.ps1 | iex"
Install prebuilt binaries into your npm project
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.6
v1.1.5 - 2024-10-19
Release Notes
Added
Changed
- uplc: Fix costing of byteStringToInteger builtins. @MicroProofs
- aiken-lang: Fix data-type reification from
Void
; somehow missing from known definition 🤦. @KtorZ
Removed
Install aiken 1.1.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/aiken-lang/aiken/releases/download/v1.1.5/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.5/aiken-installer.ps1 | iex"
Install prebuilt binaries into your npm project
Install prebuilt binaries via Homebrew
brew install aiken-lang/tap/aiken
Download aiken 1.1.5