Skip to main content
Version: Next

LIGO Changelog

next

Run this release with Docker: docker run ligolang/ligo:next

Added :

Fixed :

Details :

[added] Testing framework: add support for chain_id values

Added support for chain_id in the testing framework, now it can run Tezos.get_chain_id () successfully.

[added] Escaped identifiers example

Add an example of escaped identifiers.

[fixed] Revert InfraBot change for tezos-ligo version

No details provided for this change. Please visit the MR to learn more

[fixed] Mutable Let

Fix/improve LIGO's implementation of mutable features


0.52.0

Run this release with Docker: docker run ligolang/ligo:0.52.0

Added :

Fixed :

Changed :

Internal :

Details :

[added] Jsligo unreachable code

Give a warning when there's unreachable code in JsLIGO.

[added] JsLIGO: add ternary support .

  • JsLIGO: add ternary support

[added] Adds a package wrapped in esy

nix improvements

Add package that provides ligo with with esy. Usage: nix run gitlab:ligolang/ligo#withEsy -- install

[added] Jsligo discriminatory union

JsLIGO: Add support for discriminatory unions.

[added] Add raw bytes literal from string

Raw bytes representation from string

Raw bytes can be expressed directly from a string using [%bytes "..."]. E.g., [%bytes "foo"] represents bytes 0x666f6f.

[fixed] fix: contract not compiling in presence of meta-ligo terms

  • fix a regression where contract could not compile in presence of meta-ligo expressions (automatically remove such expressions)

[fixed] Testing framework: fixing decompilation of event payloads

Testing framework: fixing decompilation of event payloads

[fixed] Testing framework: untranspilable ticket in bigmap update

  • Testing framework: fix a bug where a ticket in a big_map was not transpilable

[fixed] Allow return in switch case.

Return in switch case now works properly.

[fixed] bugfix/module attribute deletion in aggregation

No details provided for this change. Please visit the MR to learn more

[changed] Improve JsLIGO docs

Reduce number of type annotations in JsLIGO examples in the documentation.

[changed] Match list no annotation

Remove the need for type annotations when using the match function over lists.

[changed] Jsligo destructure function params

JsLIGO: Tuple destructuring in parameters.

[changed] JsLIGO Object destructuring in parameters

Add support to destructure objects in function parameters.

[changed] JsLIGO: improve if .. else handling + allow "_" as arrow function argument.

Semicolon before else now allowed. Underscore is now allowed as arrow function argument.

[internal] Expect tests: cleanup

No details provided for this change. Please visit the MR to learn more

[internal] Jsligo support Foo.bar<int> syntax

No details provided for this change. Please visit the MR to learn more

[internal] Keep (context, expression) in Ast_aggregated for test purging

No details provided for this change. Please visit the MR to learn more

[internal] Import module syntax

No details provided for this change. Please visit the MR to learn more

[internal] Remove unused C_ASSERT_INFERRED

No details provided for this change. Please visit the MR to learn more

[internal] Add .ocamlformat Configurations

Add .ocamlformat configs to the compiler

[internal] JsLIGO: allow more in ternary expression

  • JsLIGO: allow more in ternary expression

[internal] Jsligo single arg

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: add int64 support

No details provided for this change. Please visit the MR to learn more

[internal] Remove reserved names pass

No details provided for this change. Please visit the MR to learn more


0.51.0

Run this release with Docker: docker run ligolang/ligo:0.51.0

Added :

Fixed :

Changed :

Performance :

Internal :

Details :

[added] Stdlib: add ignore

New ignore in stdlib

A new function ignore : type a . a -> unit allows to ignore values.

[added] Add List.find_opt to LIGO's Standard Library

Added List.find_opt to LIGO's standard library

[added] add brew formula into ligo monorepo

Add ligo installation through brew package manager. By using

brew tap ligolang/ligo https://gitlab.com/ligolang/ligo.git
brew install ligolang/ligo/ligo

You can also install one of the three last version by targeting the version after "@" :

brew install ligolang/ligo/ligo@0.49.0

[added] Jsligo for-loops on maps

No details provided for this change. Please visit the MR to learn more

[added] Execute ligo through NIX

Run nix run gitlab:ligolang/ligo to execute the last release of ligo binary through nix (arch x86_64-linux)

[added] Draft: New implementation of get-scope with support for modules

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add support for mutation in Test.originate_from_file functions

New functions for testing framework

There are new functions for doing mutation testing directly from files, that originate a mutated version of the contract and then gives control to the passed function that can do the test:

  • Test.originate_from_file_and_mutate : string -> string -> string list -> michelson_program -> tez -> (address * michelson_contract * int -> b) -> (b * mutation) option
  • Test.originate_from_file_and_mutate_all : string -> string -> string list -> michelson_program -> tez -> (address * michelson_contract * int -> b) -> (b * mutation) list

[added] Add a subcommand ligo daemon to be used only by tools like LSP server

  • add a daemon for ligo

[fixed] Fix: remove forced annotation in CameLIGO's abstractor

No details provided for this change. Please visit the MR to learn more

[fixed] Fix path issue in testing framwork for jsligo tests

No details provided for this change. Please visit the MR to learn more

[fixed][Testing Framwork] Fix relative path resolution for contracts

Fixes path resolution if a relative path is provided to Test.originate_from_file & Test.compile_contract_from_file & Test.read_contract_from_file

[fixed] regression layout

Fix regression in layout unification

[fixed] Fix tuple parameters passed to constant functions e.g. Tezos.call_view

No details provided for this change. Please visit the MR to learn more

[fixed] Jsligo preparser comma

No details provided for this change. Please visit the MR to learn more

[fixed] Fix JsLIGO preparser issue with colons.

No details provided for this change. Please visit the MR to learn more

[fixed] Monomorphisation: forall eta expand in monomorphisation

No details provided for this change. Please visit the MR to learn more

[fixed] Bugfix : nested for loop doesn't catch assignation effect correctly

Fixing bug with nested for loops in Pascaligo

[fixed] Fix the emission of recursive functions in JsLIGO tree abstractor

Fix the emission of recursive functions in JsLIGO tree abstractor

[fixed] Testing framework: perf. fix; compute error_type only when needed

No details provided for this change. Please visit the MR to learn more

[fixed] Fix view compilation for the case when a view uses another view

No details provided for this change. Please visit the MR to learn more

[fixed][Fix] Website responsive issue

Some blocks were cropped on small devices, so I fixed the responsive

[fixed] Bug Fix: Function Application in Bidirectional Type Checking

Bug fix for function application in bidirectional type checking

[changed] Update Documentation Removing Unnecessary Annotations

Update documentation removing unnecessary annotations

[changed] JsLIGO Remove Parser Requirement for Mandatory Parameter Annotations

Remove requirement that JsLIGO function parameters must be annotated

[changed] Bidirectional type checking for LIGO

Re-implement LIGO's type checker using bidirectional type checking.

[performance] Remi/bidir lib optim

Improve performance of compilation and typechecking

[internal] Add interface for Ligo_prim/Binder.ml

No details provided for this change. Please visit the MR to learn more

[internal] JsLIGO ES6FUN token

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: reuse layout from spilling pass

No details provided for this change. Please visit the MR to learn more

[internal] Move special constants to stdlib

No details provided for this change. Please visit the MR to learn more

[internal] Split Declaration module in ligo prim + Add ppx for fold and map

No details provided for this change. Please visit the MR to learn more

[internal] Stdlib: move C_..._LITERAL in

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: small internal clean-up

No details provided for this change. Please visit the MR to learn more

[internal] Remove C_OPTION_MAP from pseudomodules treatement

No details provided for this change. Please visit the MR to learn more

[internal] Refactor change common.

No details provided for this change. Please visit the MR to learn more


0.50.0

Run this release with Docker: docker run ligolang/ligo:0.50.0

Added :

Fixed :

Internal :

Details :

[added] Draft: Adding support for the reverse application operator |>

Added support for the reverse application operator |>

[fixed] Update type for SAPLING_VERIFY_UPDATE after Jakarta

No details provided for this change. Please visit the MR to learn more

[fixed] Better error mesage for incorrect contract type

No details provided for this change. Please visit the MR to learn more

[fixed] Fix ligo publish for big files

No details provided for this change. Please visit the MR to learn more

[internal] Add @thunk for forcing AST-level substitution

No details provided for this change. Please visit the MR to learn more

[internal] REPL: move from linenoise to lambda-term

No details provided for this change. Please visit the MR to learn more

[internal] Implement Subst for ast-aggregated

No details provided for this change. Please visit the MR to learn more

[internal] CLI: add no-stdlib flag

No details provided for this change. Please visit the MR to learn more


0.49.0

Run this release with Docker: docker run ligolang/ligo:0.49.0

Added :

Fixed :

Performance :

Internal :

Details :

[added] List decl improv

  • ligo info list-declarations now fail in case of a type error
  • ligo info list-declarations now accepts a flag --only-ep to only display declarations typed as an entrypoint (parameter auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh storage -> operation list auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh storage)

[fixed] Mutation testing: reduplication for mutation saving

No details provided for this change. Please visit the MR to learn more

[fixed] Perf: view fix

  • Performance: optimized compilation time for contracts

[fixed][Package Management] Fix: package tar-ball having absolute paths

Fix ligo publish in the case where --project-root is inferred

[performance][FIX] Improve the speed of compilation of views

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: implement mutation testing on top of try-catch

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: add internal function for try-with

No details provided for this change. Please visit the MR to learn more

[internal] Ligo Login: lookup env when not tty

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: simplify re-construction of environment

No details provided for this change. Please visit the MR to learn more

[internal] Monomorphisation: generate always different instances

No details provided for this change. Please visit the MR to learn more


0.48.1

Run this release with Docker: docker run ligolang/ligo:0.48.1

Added :

Fixed :

Details :

[added] Add manpages for login, add-user & publish

No details provided for this change. Please visit the MR to learn more

[fixed] Fix #import module not found

No details provided for this change. Please visit the MR to learn more


0.48.0

Run this release with Docker: docker run ligolang/ligo:0.48.0

Added :

  • update to kathmandu (2/2 : EMIT) (!1889 by lesenechal.remi)
  • [Testing Framwork] Add relative path resolution to Test.originate_from_file (!1879 by melwyn95)
  • Testing framework: add support for C_CONTRACT and similar (!1876 by er433)
  • [Package Management] Integrate ligo registry in CLI & Impl ligo publish, ligo login & ligo add-users in CLI (!1863 by melwyn95)
  • Testing framework : Documentation on ticket testing + support for decompilation of tickets to unforged tickets (!1725 by lesenechal.remi)

Fixed :

Changed :

Deprecated :

Internal :

Details :

[added] update to kathmandu (2/2 : EMIT)

[added][Testing Framwork] Add relative path resolution to Test.originate_from_file

Test.originate_from_file can now resolve paths relative to test file

[added] Testing framework: add support for C_CONTRACT and similar

Testing framework: support for Tezos.get_entrypoint_opt, Tezos.get_contract_opt and variants.

[added][Package Management] Integrate ligo registry in CLI & Impl ligo publish, ligo login & ligo add-users in CLI

Adds support for the new LIGO registry with the following commands

  1. publish [--registry URL] [--ligorc-path PATH] [--project-root PATH] publish the LIGO package declared in package.json
  2. add-user [--registry URL] [--ligorc-path PATH] create a new user for the LIGO package registry
  3. login [--registry URL] [--ligorc-path PATH] login to the LIGO package registry

[added] Testing framework : Documentation on ticket testing + support for decompilation of tickets to unforged tickets

  • [Testing framework] support for decompilation for tickets into unforged_tickets
  • [Testing framework] documentation about ticket testing

[fixed] Testing framework: Add support for decompiling key as bytes

No details provided for this change. Please visit the MR to learn more

[fixed] Draft: Mac Installation Instructions and Fixes

  • Added additional instructions for installing and building LIGO on MacOS.
  • Additionaly fixed reliance on $PATH for jsonschema in get_scope_tests by prefixing command with python3 -m.

[fixed] Re-introduce self_typing

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: scope of #import

The scope of #import directive has been fixed so that the imported module is created in-place instead of at the beginning of the file. (i.e won't be shadowed anymore by a module declared before the import)

[fixed] Aggregation: remove from the scope the variables locally bound

No details provided for this change. Please visit the MR to learn more

[fixed] Handle Big_map.get_and_update in test interpreter

Handle Big_map.get_and_update in testing framework

[fixed] Change handling of capitalization in Tezos.get_entrypoint_opt

Tezos.get_entrypoint_opt does not error anymore on the usage of a capitalized entrypoint.

[changed] Tezos upd v14

  • LIGO now depends on tezos v14

[changed] Try to infer --project-root when using ligo commands

Infer --project-root when using ligo commands

Now LIGO will try to infer --project-root by looking at parent directories, This will make LIGO CLI commands less verbose (when using external packages from npm).

If you need/want to specify the root directory of your project you can as always use the --project-root flag.

[deprecated] Remove thunked constants

Deprecated: Tezos.amount, Tezos.balance, Tezos.now, Tezos.sender, Tezos.source, Tezos.level, Tezos.self_address, Tezos.chain_id, Tezos.total_voting_power

[deprecated] Prepare Deprecate of Reasonligo

As ReasonLigo doesn't seem to have any advantages over Cameligo and JSligo and it seems that it is not used much. We decided to remove the support of the syntax, in order to focus our effort on other parts of the compiler. We have added a warning that we will leave for a few versions and remove ReasonLigo then.

[internal] Package management: Adds package author to metadata during publish

Here replace this sentence and put what you want to share with ligo users through changelog. Markdown formatted (### for title). If you don't want to describe the feature remove keyword "Description details:"

[internal] Typer: keep type abstraction after checking

No details provided for this change. Please visit the MR to learn more

[internal] Draft: Decompile & pretty print patterns in error message

Better error messages for pattern matching anomalies


0.47.0

Run this release with Docker: docker run ligolang/ligo:0.47.0

Added :

Fixed :

Performance :

Internal :

Details :

[added] CLI Scaffolding feature

Initialize a new Ligo project from chosen template

This feature allow user to easily setup a new ligo project (Library or Contract) from template by adding new command-set into CLI.

Requirements

Feature use git so git cli have to be available.

Commands

ligo init -help

ligo init contract --template-list = print available template list to generate contract

ligo init contract <PROJECT> --template XXX = initialize folder with contract template XXX

ligo init library --template-list = print available template list to generate library

ligo init library <PROJECT> --template XXX = initialize folder with library template XXX

Additional details

[added] Add option --experimental-disable-optimizations-for-debugging

No details provided for this change. Please visit the MR to learn more

[fixed] Fix aggregation bug in loop

No details provided for this change. Please visit the MR to learn more

[fixed] Cleanup Agregation : replace dirty ref map with proper functional handling

fix a potential bug in the backend

[fixed] Draft: view compilation clean-up

  • Fixing potential bug related to view declaration shadowing

[fixed] Fix handling of @scoped/packages in ModRes

Fix handling for scoped npm packages

[performance] Optimize {PAIR n; UNPAIR n} and {UNPAIR n; PAIR n}

Optimize {PAIR n; UNPAIR n} and {UNPAIR n; PAIR n} to {}

[internal] Remove access_path in E_assign

No details provided for this change. Please visit the MR to learn more

[internal] Remove Bool from type list

No details provided for this change. Please visit the MR to learn more


0.46.1

Run this release with Docker: docker run ligolang/ligo:0.46.1

Fixed :

Details :

[fixed] fixing wild failwith

Fix a potential crash during the generation of type errors


0.46.0

Run this release with Docker: docker run ligolang/ligo:0.46.0

Added :

  • Testing framework: separate Test.log into printing and string conversion (!1809 by er433)
  • Testing framework: improvement on random generation and module PBT (!1799 by er433)

Fixed :

Changed :

Deprecated :

Internal :

Details :

[added] Testing framework: separate Test.log into printing and string conversion

New functions: Test.print, Test.println, Test.eprint, Test.to_string, Test.nl and Test.chr

These new functions provide more fine-grained printing.

val Test.print : string -> unit : prints an string to stdout.

val Test.println : string -> unit : prints an string to stdout, adding a newline at the end.

val Test.eprint : string -> unit : prints an string to stderr.

val Test.to_string : 'a -> string : turns a value of a given type into a string (internally using the same conversion as Test.log)

val Test.nl : string : a string containing only a newline.

Test.chr : nat -> string option : turns a nat in the range [0, 255] to an string consisting of only the corresponding char.

[added] Testing framework: improvement on random generation and module PBT

A new module Test.PBT

This new module is introduced to do simple property-based testing. It's composed of:

  • val gen : 'a gen: gives a generator for type 'a (must be annotated).
  • val gen_small : 'a gen: : gives a small generator for type 'a (must be annotated).
  • val make_test : 'a gen -> ('a -> bool) -> 'a pbt_test: creates a test from a generator and a property.
  • val run : 'a pbt_test -> nat -> 'a pbt_result: runs a test for a given number of tries. The introduced types are:
  • type 'a gen: represents a generator for a type.
  • type 'a pbt_test: represents a test for a type.
  • type 'a pbt_result = Success | Fail of 'a: represents the result of running a test.

[fixed] Testing framework: fix generator for nat/tez

No details provided for this change. Please visit the MR to learn more

[fixed] Fix abstractors for nested builtin submodules

No details provided for this change. Please visit the MR to learn more

[fixed] Fixing the scanning of escaped characters in strings

Until now escaped characters in strings were not properly scanned.

For instance, now the following constants

let _one = String.length """
let _two = String.length "
"
let _three = String.length ""

are accepted and evaluate in 1.

[fixed] Error if polymorphism is present after monomorphisation

Improve error message if polymorphism cannot be resolved

[changed] Pattern Matching: anomaly detection

Improve pattern matching anomaly (missing case / redundant case) error messages.

For missing cases:
type p = Four | Five | Six
type t = One of { a : int ; b : p } | Two | Three
let s (x : t) =
match x with
One { a ; b = Six } -> ()
| Two -> ()
| Three -> ()

Error:

File "../../test/contracts/negative//pattern_matching_anomalies/missing_cases/c_r_c.mligo", line 5, character 2 to line 8, character 29:
4 | let s (x : t) =
5 | match x with
6 | One { a ; b = Six } -> ()
7 | | Two -> ()
8 | | Three -> ()
Error : this pattern-matching is not exhaustive.
Here are examples of cases that are not matched:
- One({ a = _ ; b = Five })
- One({ a = _ ; b = Four })

For redundant case:
type t = One of int | Two of nat | Three
let s (x : t) =
match x with
One a -> ()
| Two c -> ()
| Three -> ()
| _ -> ()

Error:

File "../../test/contracts/negative//pattern_matching_anomalies/redundant_case/c1_c2_c3_w.mligo", line 8, characters 4-5:
7 | | Three -> ()
8 | | _ -> ()
Error : this match case is unused

[deprecated] Ithaca deprecation

Deprecation of --protocol ithaca

[internal] Improvement on Trace module

The compiler is now able to report all errors corresponding to the same step of compilation at the same time

[internal] Clean checking : add abstraction to avoid futur conflict and remove etection of polymorphic var

No details provided for this change. Please visit the MR to learn more

[internal] Clean up var module

No details provided for this change. Please visit the MR to learn more

[internal] mono file stdlib

rework of the standard library (might slightly improve compiler/tooling performances)

[internal] Change %external replacement

No details provided for this change. Please visit the MR to learn more


0.45.0

Run this release with Docker: docker run ligolang/ligo:0.45.0

Added :

Fixed :

Removed :

Internal :

  • Rewrite Coq pass: de Bruijn compiler with Michelson "strengthening" (!1666 by tomjack)
Details :

[added] Testing framework: add missing Test.drop_context

New Test function: drop_context

A new val Test.drop_context : unit -> unit in the testing framework is introduced. It allows to drop contexts from the context stack.

[added] Testing framework: add signing operation

New function Test.sign

A new function val sign : string -> bytes -> signature was added to sign data (represented as bytes) using a key (represented as a string).

[added] Testing framework: support getting secret key from bootstrap accounts

New Test function: get_bootstrap_account

The new function val get_bootstrap_account : nat -> address * key * string in Test retrieves the nth bootstrap account. Differently to nth_bootstrap_account, it also recovers the key and the secret key (represented as a string, similar to Test.new_account).

[added] Testing framework: Better control of time

testing framework: new function Test.reset_at (similar to Test.reset) which takes a timestamp and initialize the genesis block with a given timestamp

[fixed] Testing framework: keep order on bigmap receipts

No details provided for this change. Please visit the MR to learn more

[fixed] Docker image: make ligo executable for non-root users

Docker image: ligo now executable by non-root users inside container (e.g. when running docker with -u $(id -u):$(id -g).)

[fixed] Custom JSON output for types bool and option

No details provided for this change. Please visit the MR to learn more

[fixed] Compile parameter and storage types individually in views

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: make Test.cast_address record type information

No details provided for this change. Please visit the MR to learn more

[fixed] Replace operations for operation in error message

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: Test.transfer_to_contract use entrypoint

No details provided for this change. Please visit the MR to learn more

[removed] Remove temp hack for PascaLIGO

No details provided for this change. Please visit the MR to learn more

[internal] Rewrite Coq pass: de Bruijn compiler with Michelson "strengthening"

No details provided for this change. Please visit the MR to learn more


0.44.0

Run this release with Docker: docker run ligolang/ligo:0.44.0

Breaking :

Added :

Fixed :

Changed :

Deprecated :

Internal :

Details :

[breaking] Testing framework: expose functions for contract compilation and origination

New Test type and functions

  • type michelson_contract: representing Michelson contracts.
  • Test.compile_contract_from_file : string -> string -> string list -> michelson_contract
  • Test.compile_contract : ('param auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh 'storage -> operation list auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh 'storage) -> michelson_contract
  • Test.read_contract_from_file : string -> michelson_contract
  • Test.originate_contract : michelson_contract -> michelson_program -> tez -> address
  • Test.size : michelson_contract -> int

Breaking changes in Test types, now they return michelson_contract instead of michelson_program:

  • Test.originate_from_file : string -> string -> string list -> michelson_program -> tez -> address auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh michelson_contract auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh int
  • Test.originate : ('param auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh 'storage -> operation list auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh 'storage) -> 'storage -> tez -> (('param, 'storage) typed_address auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh michelson_contract auto_merge_request.sh release_metadata retrieve_merge_request_info.sh update_distribution_references_with_release.sh versioning_website.sh int)

Most usages ignore this result, but might break some tests in case they are too annotated.

[breaking] failwith now accepts arbitrary type as input

The failwith primitive now accepts arbitrary type as input.

breaking changes

failwith is now typed as forall a b . a -> b, instead of applying an ad-hoc rule giving unit as a default return type. In general, this will require more type annotations, as in:

let toplevel_failwith = failwith "I am failing" (* will not type anymore *)
let toplevel_failwith : unit = failwith "I am failing"
let f = fun (_ : unit) -> failwith (x + x + String.length y) (* will not type anymore *)
let f = fun (_ : unit) : unit -> failwith (x + x + String.length y)

Closes #193

[added] injectable cli expression

you can now pass an expression to ligo run test using command line option --arg, this value will be accessible through variable cli_arg

[added] Ligo native multi-platform

Use esy to build binary for :

  • Windows
  • Mac intel
  • Mac m1

[added] Multiplat builds with esy

No details provided for this change. Please visit the MR to learn more

[fixed] Fix record pattern matching when fields are not in the same order in all patterns

Fix record pattern matching when fields are not in the same order in all patterns

[fixed] jsligo: let bindings nested in a module would not be silently morphed into constants

fix a bug where top-level let declaration within a Jsligo Namespace wouldn't compile

[fixed] Testing framework: add inline attribute

No details provided for this change. Please visit the MR to learn more

[fixed] Bugfix, export let is not cast silently

No details provided for this change. Please visit the MR to learn more

[fixed] Typer context - Replace lists by maps

Closes(https://gitlab.com/ligolang/ligo/-/issues/1390)

[changed] Authorising () in function declarations and function calls.

Declarations function f () : t is b and calls f () are now valid.

[deprecated] Deprecate message for thunked constants in stdlib

Soon to be deprecated: Tezos.amount, Tezos.balance, Tezos.now, Tezos.sender, Tezos.source, Tezos.level, Tezos.self_address, Tezos.chain_id, Tezos.total_voting_power.

These should be replaced by their "thunked" counterpart, which are prefixed with get_. E.g. Tezos.balance : unit -> tez.

[internal] Remove E_type_in in typed and aggregated

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: add contract passes to contract in ast-aggregated

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: separate compilation from origination

No details provided for this change. Please visit the MR to learn more

[internal] Hashing for types (ast-typed)

No details provided for this change. Please visit the MR to learn more

[internal] Michelson optimization: factor out common last actions in conditionals

A new optimization has been added in contract compilation. By default, it will not use type information (for better compilation performance), but it can be enabled using --enable-michelson-typed-opt.


0.43.0

Run this release with Docker: docker run ligolang/ligo:0.43.0

Added :

Fixed :

Changed :

  • Testing framework: make Test.to_entrypoint remove the starting '%' (!1750 by er433)

Internal :

Details :

[added] Testing framework: implement other baking policies

New Test.set_baker_policy

There is a new Test.set_baker_policy : test_baker_policy -> unit that allows to set different baker policies as available in the testing helpers provided by the protocol. The type test_baker_policy is defined as the sum type:

type test_baker_policy =
| By_round of int
| By_account of address
| Excluding of address list

In particular, Test.set_baker addr is equivalent to Test.set_baker_policy (By_account addr).

[added][jsligo] function parameter destructuring, and let destructuring improvement

  • JSLIGO patterns in function parameters are now compiled to pattern matching, which improves the generated code in general
  • JSLIGO "let-destructuring" will now work on objects (record type) and arrays (tuple type) as in:
let destruct_tuple = (x : [ int , [int , nat] ]) : nat => {
let [a,[b,c]] = x ;
c
};
let destruct_record = (x : { a : int , b : string }) : int => {
let { a , b } = x ; (* Note: nested pattern in record are not yet available *)
a
};

[fixed] fix: --protocol jakarta emits SUB for mutez subtraction

  • --protocol jakarta now emits SUB_MUTEZ for subtraction mutez values

[fixed] pattern matching: some "inference"

  • improvement of pattern matching type-checking

[fixed] Stdlib: Add thunk attribute to Big_map.empty

No details provided for this change. Please visit the MR to learn more

[fixed] Improve running time after perfing

  • Testing framework: fix a potential bug where the current context wasn't used to evaluate Michelson code

[fixed] Update Hashlock and ID examples for the webide

No details provided for this change. Please visit the MR to learn more

[fixed] fixing lib cache

  • Fix a potential bug in standards libraries caching

[fixed] Restricted strings to 7-bit ASCII, as in Michelson.

Description details: Restricted strings to 7-bit ASCII, as in Michelson.

[fixed] Self_tokens: add semi-colon before export and namespace

No details provided for this change. Please visit the MR to learn more

[changed] Testing framework: make Test.to_entrypoint remove the starting '%'

By default, Test.to_entrypoint expected string argument not to begin with %. From now on, the starting '%' (if present) is removed.

[internal] Make Tezos.constant be a custom operator again

No details provided for this change. Please visit the MR to learn more

[internal] Remove C_LIST_HEAD_OPT / C_LIST_TAIL_OPT

No details provided for this change. Please visit the MR to learn more

[internal] Monomorphisation: add E_assign and E_lambda cases

No details provided for this change. Please visit the MR to learn more

[internal] Remove operations in testlib that can be implemented in terms of others

No details provided for this change. Please visit the MR to learn more

[internal] Using crunch to load library at compile-time

Using crunch to load standard libraries at compile-time

[internal] Remove operations that can be replaced in stdlib

No details provided for this change. Please visit the MR to learn more


0.42.1

Run this release with Docker: docker run ligolang/ligo:0.42.1

Added :

Details :

[added] Moving to jarkarta

upgrade to jakarta:

  • jakarta changes are available (please use option --protocol jakarta)

0.42.0

Run this release with Docker: docker run ligolang/ligo:0.42.0

Breaking :

Fixed :

Changed :

Internal :

Details :

[breaking] Remove deprecated constants

Deprecated constants

In previous versions of LIGO, warnings were emitted for deprecated constants (e.g. balance, sender, etc.). We finally remove those constants. Please consult API documentation in ligolang.org to find a new constant that can replace the old one in your contract.

[fixed][jsligo] Fix nested polymorphic functions

Fixed handling for nested generic functions in JsLIGO

const id : <P>(x : P) => P = (x : P) => {
const id_1 : <Q>(y : Q) => Q = (y : Q) => {
let id_2 : <R>(z : R) => R = (z : R) => {
let z = z;
return z;
};
let y = y;
return id_2(y);
}
return id_1(x);
};

[fixed] do not raise corner_case in pattern matching compression

fix detection of missing constructors in pattern matching

[fixed] Fix recursive functions when fun_name shadowed

Fixes bug in tail-call recursion check

[fixed] Fix: REPL support for stdlib

No details provided for this change. Please visit the MR to learn more

[fixed] Fix Tezos.call_view with impure

No details provided for this change. Please visit the MR to learn more

[changed] Better michelson typing error

contract failing to typecheck against protocol N while user did not use --protocol N will now only generate a warning

[internal] Remove auxiliar internal type map_or_big_map

No details provided for this change. Please visit the MR to learn more

[internal] Separate typing & pattern matching compilation

No details provided for this change. Please visit the MR to learn more

[internal] Push C_POLYMORPHIC_ADD/SUB selection towards the end of the pipeline

No details provided for this change. Please visit the MR to learn more

[internal] Add test parameter for print ast-typed/ast-aggregated

No details provided for this change. Please visit the MR to learn more

[internal] Remove test_exec_error/result

New type test_exec_error_balance_too_low

A new type test_exec_error_balance_too_low has been added to testing framework. It represents the data returned by Balance_too_low case in test_exec_error.

[internal] Prepare contracts for deprecation of constants

No details provided for this change. Please visit the MR to learn more

[internal] Refactor loop and assignation

Here put what you want to share with ligo users through changelog. Markdown formatted (### for title).

Redesign the handling of imperative construct such as loop and assignation to fix bugs and improve performances

[internal] Value environment: standard library using %external

Breaking changes

  • Less lenient on the usage of Map and Big_map functions (e.g. Map.update will only work on maps and not on big_maps as before)

[internal] Change fail case when abstracting constants/built-in modules

No details provided for this change. Please visit the MR to learn more


0.41.0

Run this release with Docker: docker run ligolang/ligo:0.41.0

Added :

  • Testing framework: add support for context saving/restoring (!1695 by er433)
  • Global constants support in compile expression and additional support in parameter/storage (!1693 by er433)

Fixed :

Changed :

Internal :

Details :

[added] Testing framework: add support for context saving/restoring

New operations Test.save_context and Test.restore_context

  • Test.save_context : unit -> unit : takes current testing framework context and saves it, pushing it into a stack of contexts.
  • Test.restore_context : unit -> unit : pops a testing framework context from the stack of contexts, and sets it up as the new current context. In case the stack was empty, the current context is kept.

[added] Global constants support in compile expression and additional support in parameter/storage

The sub-command compile expression now supports --constant and --file-constants for using global constants.

[fixed] Fix option handling in michelson_to_value

  1. Fix bug in test interpreter related handling of option values
  2. Improve typing of records when type annotation is not provided

[fixed] fixing a bug in pattern_matching.ml substitution

Fix a bug related to recursive function definitions in pattern matching

[fixed] Testing framework: fix subtraction of timestamps

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: move Tezos.create_contract check of free variables to aggregated

No details provided for this change. Please visit the MR to learn more

[changed] Polymorphic types in jsligo and reasonligo

Here put what you want to share with ligo users through changelog.

Replace polymorphism syntax to have explicit polymorphic type "declaration"

[internal] Represent option as T_sum

No details provided for this change. Please visit the MR to learn more

[internal] Tree sitter grammar for jsligo

Tree sitter grammar for jsligo


0.40.0

Run this release with Docker: docker run ligolang/ligo:0.40.0

Added :

  • Testing framework: add support for loading files with global constants (!1681 by er433)
  • Add support for constants and file-constants in compile-parameter and compile-storage (!1677 by er433)
  • testing framework: change 'test_exec_error' type. It now has a special case for unsuficient balances, and case Other will return the tezos_client error (as a string) (!1576 by Rémi Lesénéchal)

Fixed :

Changed :

Internal :

Details :

[added] Testing framework: add support for loading files with global constants

Testing framework: add support for loading files with global constants

A new function Test.register_file_constants is introduced. It takes a string (file path) and returns a list of strings corresponding to the hashes of the registered constants.

The file format is the same as the used in --file-constants for sub-command compile contract.

[added] Add support for constants and file-constants in compile-parameter and compile-storage

Add support for global constants in compile storage and compile parameter

[added] testing framework: change 'test_exec_error' type. It now has a special case for unsuficient balances, and case Other will return the tezos_client error (as a string)

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: fix recursive functions with multiple parameters

Recursive functions with multiple parameters were handled incorrectly in the testing framework. This change fixes the situation.

[fixed] Fix and docs about Test.random

Inference for Test.random fixed.

[fixed] Fix for naming issue when compiling more than 10 views (#1388)

Fixed naming issue when compiling more than 10 views (#1388).

[fixed] Add pretty-printing of type parameters in CameLIGO.

No details provided for this change. Please visit the MR to learn more

[fixed] Added pretty-printing of type parameters to CameLIGO.

No details provided for this change. Please visit the MR to learn more

[fixed] Better error when accessing a parametric type through a module

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: typo in message when compiling constant

No details provided for this change. Please visit the MR to learn more

[changed] Lifting redundant constructor restrictions

Lifting restrictions on redundant constructors

It is now possible to declare variant types sharing the same constructors as in:

type t1 =
| Foo of int
| Bar of string
type t2 =
| Foo of int
| Baz of nat

[changed] Testing framework: More reasons for better negative tests ?

The type of Test.test_exec_failure has changed: a new constructor Balance_too_low is added to assert that a contract pushed an operation but did not have enough fund.

[internal] Upgrade tezos-ligo submodule to v12.2

No details provided for this change. Please visit the MR to learn more

[internal] Fix zarith package conflict and add macstadium partnership

No details provided for this change. Please visit the MR to learn more

[internal] use substitution for evaluation of type applications

No details provided for this change. Please visit the MR to learn more

[internal] Generate textmate file to allow integrationwith linuist

No details provided for this change. Please visit the MR to learn more

[internal] Factored out a new syntactic category in the CST and beyond: module expressions. This will ease future developments on modules

No details provided for this change. Please visit the MR to learn more

[internal] Created the CST and AST nodes for module expressions.

No details provided for this change. Please visit the MR to learn more


0.39.0

Run this release with Docker: docker run ligolang/ligo:0.39.0

Fixed :

Internal :

Other :

Details :

[fixed] Fix: protocol_version check in predefined.ml

No details provided for this change. Please visit the MR to learn more

[fixed] Typer : Better locations

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed the pretty-printing of punned record fields in ReasonLIGO (issue 1344).

No details provided for this change. Please visit the MR to learn more

[fixed] Fix typing rule of Test.mutation_test_all

No details provided for this change. Please visit the MR to learn more

[fixed] Fix a bug where views would be declared as module accesses

No details provided for this change. Please visit the MR to learn more

[fixed] Fix in typing for Tezos.get_contract_with_error

No details provided for this change. Please visit the MR to learn more

[fixed] Enable the check for reserved names again. It was removed unintentionally in the previous version

No details provided for this change. Please visit the MR to learn more

[fixed] Fix package path finding in ModRes + support package paths in REPL & Test interpreter

No details provided for this change. Please visit the MR to learn more

[internal] Update internal state of the typer

No details provided for this change. Please visit the MR to learn more

[internal] Fix: replace V.to_name_exn for V.pp in muchused

No details provided for this change. Please visit the MR to learn more

[internal] Remove T_abstraction from ast_aggregated

No details provided for this change. Please visit the MR to learn more

[internal] Docs: generate markdown manpages

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: clean-up interpreter's values internal comparator

No details provided for this change. Please visit the MR to learn more

[internal] Automated process for changelog generation and refactoring of the changelog structure

No details provided for this change. Please visit the MR to learn more

[other] merge language server changes in tooling into dev

No details provided for this change. Please visit the MR to learn more


0.38.1

Run this release with Docker: docker run ligolang/ligo:0.38.1

Details :

0.38.0

Run this release with Docker: docker run ligolang/ligo:0.38.0

Added :

  • Add deprecation warning for constants marked as deprecated (!1623 by er433)
  • Testing framework: new Test.register_constant and Test.constant_to_michelson_program to work with global constants (!1617 by er433)
  • [Ithaca] Command line option --protocol ithaca now allow users to use Ithaca specifics (!1582 by er433 & melwyn95)
  • Testing framework: Dropping support for Test.set_now LIGO 0.38.0 onwards. (!1582 by er433 & melwyn95)
  • [Ithaca] Support for Option.map - MAP instruction on option type. (!1582 by er433 & melwyn95)
  • [Ithaca] Subtraction operator emmits SUB_MUTEZ instruction when subtracting value of type tez. (!1582 by er433 & melwyn95)
  • Global constants: add compile constant sub-command (!1608 by er433)
  • Global constants: register global constants for compile-contract (!1603 by er433)
  • Website: Add Changelog link in header website & webide (!1602 by melwyn95)
  • Experimental support for source environment (bound variable) info with --michelson-comments env (!1521 by tomjack)

Fixed :

Internal :

Details :

[added] Add deprecation warning for constants marked as deprecated

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: new Test.register_constant and Test.constant_to_michelson_program to work with global constants

No details provided for this change. Please visit the MR to learn more

[added][Ithaca] Command line option --protocol ithaca now allow users to use Ithaca specifics

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: Dropping support for Test.set_now LIGO 0.38.0 onwards.

No details provided for this change. Please visit the MR to learn more

[added][Ithaca] Support for Option.map - MAP instruction on option type.

No details provided for this change. Please visit the MR to learn more

[added][Ithaca] Subtraction operator emmits SUB_MUTEZ instruction when subtracting value of type tez.

No details provided for this change. Please visit the MR to learn more

[added] Global constants: add compile constant sub-command

No details provided for this change. Please visit the MR to learn more

[added] Global constants: register global constants for compile-contract

No details provided for this change. Please visit the MR to learn more

No details provided for this change. Please visit the MR to learn more

[added] Experimental support for source environment (bound variable) info with --michelson-comments env

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: Raise error if typed_address is passes to Bytes.pack

No details provided for this change. Please visit the MR to learn more

[fixed] Website: Fix og image aspect ratio

No details provided for this change. Please visit the MR to learn more

[fixed] Disallow raw code which is not a function in testing framework

No details provided for this change. Please visit the MR to learn more

[fixed] Website: Use png for page metadata

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: Using REPL without the syntax argument

No details provided for this change. Please visit the MR to learn more

[fixed] Support old case syntax + mention as deprecated

No details provided for this change. Please visit the MR to learn more

[fixed] Compile only top-level views

No details provided for this change. Please visit the MR to learn more

[fixed] Rename recursive function calls when doing monomorphisation

No details provided for this change. Please visit the MR to learn more

[fixed] Aggregation: fix type when accessing a record inside a module accessing

No details provided for this change. Please visit the MR to learn more

[internal] Change constant typers to use LIGO types representation

No details provided for this change. Please visit the MR to learn more

[internal] Comments and examples for some of the Coq files

No details provided for this change. Please visit the MR to learn more


0.37.0

Run this release with Docker: docker run ligolang/ligo:0.37.0

Added :

Fixed :

Changed :

Internal :

Other :

Details :

[added] Docs: Update docs about Set.literal

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add instructions to register delegate and add baker accounts

No details provided for this change. Please visit the MR to learn more

[fixed] Website: Fix logo in docusaurus config

No details provided for this change. Please visit the MR to learn more

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: type instantiation bug when reusing same var.

No details provided for this change. Please visit the MR to learn more

[fixed] Fix unnecessary warning emitted from muchused check

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed conversion of byte tokens to lexemes.

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed pretty printing of constant constructors in type expressions.

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: fix decompilation of chest and chest_key values: Test.get_storage will not perform correctly on those types

No details provided for this change. Please visit the MR to learn more

[fixed] Enabled attributes on type declarations.

No details provided for this change. Please visit the MR to learn more

[changed] Emit n-ary pair types pair a b c... for comb records

No details provided for this change. Please visit the MR to learn more

[internal] Refactor: compiler options

No details provided for this change. Please visit the MR to learn more

[internal] Refactor: Move type syntax to a common place

No details provided for this change. Please visit the MR to learn more

[internal] Update LIGO logo on website & webide.

No details provided for this change. Please visit the MR to learn more

[other] merge language server changes in tooling into dev

No details provided for this change. Please visit the MR to learn more


0.36.0

Run this release with Docker: docker run ligolang/ligo:0.36.0

Added :

Fixed :

Internal :

Other :

Details :

[added] Add voting_power & total_voting_power to test interpreter

No details provided for this change. Please visit the MR to learn more

[added] Update docs about adding alias for ligo on Linux/MacOS & Windows.

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add functions to register/generate (sk, pk) pairs for implicit addresses

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add support for Tezos.implicit_account

No details provided for this change. Please visit the MR to learn more

[added] Adding Tezos.voting_power and Tezos.total_voting_power

No details provided for this change. Please visit the MR to learn more

[fixed] Ligo test: fixing a bug where chest and chest_key values were not compiled correctly to michelson (their type were bytes instead of chest/chest_key)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix locations for pattern matching - jsligo

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: make type-checking run over aggregated program

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: fix loop on embedded Michelson (#1356)

No details provided for this change. Please visit the MR to learn more

[fixed] Missing check for recursion function type

No details provided for this change. Please visit the MR to learn more

[fixed][PascaLIGO] Fixed how qualified names are parsed.

No details provided for this change. Please visit the MR to learn more

[fixed] fixed typo in PausableToken.ligo

No details provided for this change. Please visit the MR to learn more

[internal] Fix for-of & while loops - jsligo.

No details provided for this change. Please visit the MR to learn more

[internal] Improve representation of polymorphic function using big lambda

No details provided for this change. Please visit the MR to learn more

[internal] Update docs about LIGO gitpod environment

No details provided for this change. Please visit the MR to learn more

[internal] Tests for ModuleResolutions

No details provided for this change. Please visit the MR to learn more

[internal] rework Var Modules

No details provided for this change. Please visit the MR to learn more

[other] merge language server changes in tooling into dev

No details provided for this change. Please visit the MR to learn more

[other] merge language server changes in tooling into dev

No details provided for this change. Please visit the MR to learn more


0.35.0

Run this release with Docker: docker run ligolang/ligo:0.35.0

Added :

Fixed :

Changed :

  • Improve optimisation of some rare examples involving tuple/record destructuring (!1520 by tomjack)
  • Transpiler: change decompilation of (some) operators (!1508 by er433)

Performance :

Internal :

Details :

[added] Support curried recursive functions

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: Test.transfer_* returns gas consumption

No details provided for this change. Please visit the MR to learn more

[added] Remove unused decls. (including potential Test. usages) when compiling parameter/storage

No details provided for this change. Please visit the MR to learn more

[added] Added Tezos.constant for protocol Hangzhou

No details provided for this change. Please visit the MR to learn more

[added] Docs for ligo package management

No details provided for this change. Please visit the MR to learn more

[added] Add support for package management to ligo using esy package manager

No details provided for this change. Please visit the MR to learn more

[fixed] Fix packages not getting installed via docker

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: keep no_mutation in environment reconstruction

No details provided for this change. Please visit the MR to learn more

[changed] Improve optimisation of some rare examples involving tuple/record destructuring

No details provided for this change. Please visit the MR to learn more

[changed] Transpiler: change decompilation of (some) operators

No details provided for this change. Please visit the MR to learn more

[performance] Compilation: dramatically reduce compilation time when using views

No details provided for this change. Please visit the MR to learn more

[performance] Revert 1446

No details provided for this change. Please visit the MR to learn more

[internal] Remove generation of intermediary variable

No details provided for this change. Please visit the MR to learn more

[internal] Change opam lock file usage and add dependencies

No details provided for this change. Please visit the MR to learn more

[internal] PPX: add ppx-woo to stages 2, 3, 4, 5 and 6

No details provided for this change. Please visit the MR to learn more


0.34.0

Run this release with Docker: docker run ligolang/ligo:0.34.0

Added :

Fixed :

Internal :

Details :

[added] Testing framework: add Test.decompile primitive

No details provided for this change. Please visit the MR to learn more

[fixed] Fixing a bug where a contract compilation would fail because of views compilation with an obscure error message

No details provided for this change. Please visit the MR to learn more

[fixed] Test.run: add missing type-checking conditions

No details provided for this change. Please visit the MR to learn more

[fixed] testing framework: fix sets comparison

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed regression in standalone preprocessor, lexers and parsers introduced when porting the code base from Stdlib to Core.

No details provided for this change. Please visit the MR to learn more

[fixed] Fix REASONLIGO LEFTOVER

No details provided for this change. Please visit the MR to learn more

[internal] Move ES6FUN token insertion to a pre-parser

No details provided for this change. Please visit the MR to learn more

[internal] Files cleaning

No details provided for this change. Please visit the MR to learn more

[internal] REPL: re-write internal state

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: interpreter re-written at ast_aggregated

No details provided for this change. Please visit the MR to learn more

[internal] New stage: ast_aggregated

No details provided for this change. Please visit the MR to learn more


0.33.0

Run this release with Docker: docker run ligolang/ligo:0.33.0

Added :

Fixed :

Internal :

  • Testing framework: add and fix primitives (Crypto.*, Set.remove, Option.unopt/Option.unopt_with_error, Tezos.pairing_check) (!1468 by er433)
Details :

[added] Add literals/negation for bls12_381_g1/g2/fr

No details provided for this change. Please visit the MR to learn more

[fixed] Add cases for decompilation of bls12_381_g1/g2/fr

No details provided for this change. Please visit the MR to learn more

[fixed] Fix CLI flag --library not splitting by comma

No details provided for this change. Please visit the MR to learn more

[fixed] Fix --lib and adding it for 'print preprocess'

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: add and fix primitives (Crypto.*, Set.remove, Option.unopt/Option.unopt_with_error, Tezos.pairing_check)

No details provided for this change. Please visit the MR to learn more


0.32.0

Run this release with Docker: docker run ligolang/ligo:0.32.0

Added :

  • Testing framework: add asserts in interpreter (!1463 by er433)
  • Testing framework: add support for Bytes.sub (!1462 by er433)
  • Webide: add examples for JsLIGO and re-enable increment examples for other languages (!1457 by er433)
  • Testing framework: add Test.random for generating values using QCheck (!1244 by er433)

Fixed :

Changed :

Performance :

Internal :

Details :

[added] Testing framework: add asserts in interpreter

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add support for Bytes.sub

No details provided for this change. Please visit the MR to learn more

[added] Webide: add examples for JsLIGO and re-enable increment examples for other languages

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add Test.random for generating values using QCheck

No details provided for this change. Please visit the MR to learn more

[fixed] fixing the "ad-hoc polymorphism" for pseudo-modules Map (working on maps and big maps)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix compile storage & compile parameter (apply module morphing)

No details provided for this change. Please visit the MR to learn more

[changed] Fix typo in record access and record update error

No details provided for this change. Please visit the MR to learn more

[changed] Deprecated CLI is now removed. --infer flag has been dropped

No details provided for this change. Please visit the MR to learn more

[performance] Emit PAIR k for comb record construction

No details provided for this change. Please visit the MR to learn more

[internal] Build: remove -O3 from dune file

No details provided for this change. Please visit the MR to learn more

[internal] Print the order in which dependencies are built

No details provided for this change. Please visit the MR to learn more

[internal] Work around dune/coq bug (delete generated .ml)

No details provided for this change. Please visit the MR to learn more

[internal] Binaries: default build without ADX instructions

No details provided for this change. Please visit the MR to learn more

[internal] Ppx: apply ppx_map in combinators

No details provided for this change. Please visit the MR to learn more


0.31.0

Run this release with Docker: docker run ligolang/ligo:0.31.0

Added :

  • Test framework: add pack/unpack using Michelson interpreter (!1429 by er433)
  • Experimental: propagate source locations to Michelson with --michelson-comments location (!1251 by tomjack)

Fixed :

Performance :

  • Self mini_c optimizations: apply a single inline per round (!1446 by er433)

Internal :

Details :

[added] Test framework: add pack/unpack using Michelson interpreter

No details provided for this change. Please visit the MR to learn more

[added] Experimental: propagate source locations to Michelson with --michelson-comments location

No details provided for this change. Please visit the MR to learn more

[fixed] Fix type error for sapling_state inside a record

No details provided for this change. Please visit the MR to learn more

[fixed] ReasonLIGO: Improve handling of recursive arrows functions.

No details provided for this change. Please visit the MR to learn more

[fixed] Fix webide by adding correct file extension to temp files

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: simple polymorphism wrong interaction with module accessing

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: simple polymorphism; remember instances in lambda case

No details provided for this change. Please visit the MR to learn more

[performance] Self mini_c optimizations: apply a single inline per round

No details provided for this change. Please visit the MR to learn more

[internal] Re-do some reverted module inlining changes

No details provided for this change. Please visit the MR to learn more

[internal] Update tezos-ligo submodule to latest Hangzhou release

No details provided for this change. Please visit the MR to learn more

[internal] Transpilation: expected cases update

No details provided for this change. Please visit the MR to learn more

[internal] PPX: use ppx_construct in main_errors

No details provided for this change. Please visit the MR to learn more

[internal] Test case: add a test case for module env.

No details provided for this change. Please visit the MR to learn more

[internal] Add a script that checks for duplicate filenames

No details provided for this change. Please visit the MR to learn more


0.30.0

Run this release with Docker: docker run ligolang/ligo:0.30.0

Added :

Fixed :

Performance :

Internal :

Details :

[added] Fix typo in entrypoints-contracts.md

No details provided for this change. Please visit the MR to learn more

[added] Generate syntax highlighting for PascaLIGO

No details provided for this change. Please visit the MR to learn more

[added] Generate ReasonLIGO syntax highlighting for VIM, Emacs, VS Code

No details provided for this change. Please visit the MR to learn more

[added] Generate VSCode syntax highlighting for CameLIGO

No details provided for this change. Please visit the MR to learn more

[added] Generate CameLIGO Syntax Highlighting from definition in OCaml - Emacs + VIM

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: update run so it runs in current tezos_context and port tzip12 tests to testing framework

No details provided for this change. Please visit the MR to learn more

[fixed] Fix 'ligo interpret' when working with polymorphic types

No details provided for this change. Please visit the MR to learn more

[performance] Performance: separate environments for "dummy" and "test"

No details provided for this change. Please visit the MR to learn more

[performance] Optimized compilation of modules

No details provided for this change. Please visit the MR to learn more

[internal] Bump menhir version

No details provided for this change. Please visit the MR to learn more

[internal] PPX: add ppx_poly_constructor for errors

No details provided for this change. Please visit the MR to learn more

[internal] PPX: generate constant''s tag, print and yojson

No details provided for this change. Please visit the MR to learn more

[internal] Tezos dep.: vendored version now points to a custom repo

No details provided for this change. Please visit the MR to learn more


0.29.0

Run this release with Docker: docker run ligolang/ligo:0.29.0

Added :

Fixed :

  • Fix: add case of GET_AND_UPDATE for Hangzhou (!1390 by er433)
  • Testing framework: fix order of receipt processing for big_maps (!1375 by er433)

Changed :

Performance :

  • Profiling and fixes: initialize dummy_environment only when needed (!1402 by er433)

Internal :

Details :

[added] Docs for Bytes

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: add case of GET_AND_UPDATE for Hangzhou

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: fix order of receipt processing for big_maps

No details provided for this change. Please visit the MR to learn more

[changed] BuidSystem is now independent from the compiler

No details provided for this change. Please visit the MR to learn more

[performance] Profiling and fixes: initialize dummy_environment only when needed

No details provided for this change. Please visit the MR to learn more

[internal] Implement token wrapper to pass attributes

No details provided for this change. Please visit the MR to learn more

[internal] Update sed to fix Fmt not found (tezos-stdlib)

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: re-enable test for bigmap_set

No details provided for this change. Please visit the MR to learn more


0.28.0

Run this release with Docker: docker run ligolang/ligo:0.28.0

Added :

  • Docs for switch statement - jsligo (!1358 by melwyn95)
  • Tree abstraction for switch statements - jsligo (!1358 by melwyn95)
  • [Hangzhou] Testing framework: expose functions 'create_chest_and_chest_key' and 'create_chest_key' from Tezos crypto library (timelock) as 'Test.create_chest' and 'Test.create_chest_key' respectively (!1346 by Rémi Lesénéchal)
  • [Hangzhou] Testing framework: Test.originate_from_file now takes an additional list of top-level declaration for views (!1346 by Rémi Lesénéchal)
  • [Hangzhou] Command line option '--protocol hangzhou' now allow users to use hangzhou specifics (!1346 by Rémi Lesénéchal)
  • Testing framework: new primitive 'Test.cast_address' to cast an address to a typed_adress (!1346 by Rémi Lesénéchal)
  • [Hangzhou] support for on-chain views. Command line option '--views' and top-level declaration '[@view]' annotation (!1346 by Rémi Lesénéchal)
  • [Hangzhou] support for timelock. Types: chest; chest_key; chest_opening_result. Primitives: Tezos.open_chest (!1346 by Rémi Lesénéchal)
  • Docs: simple polymorphism (!1361 by er433)
  • Simple polymorphism: add support for simple polymorphism in the type-checking pass (!1294 by er433)

Fixed :

Changed :

Internal :

Other :

Details :

[added] Docs for switch statement - jsligo

No details provided for this change. Please visit the MR to learn more

[added] Tree abstraction for switch statements - jsligo

No details provided for this change. Please visit the MR to learn more

[added][Hangzhou] Testing framework: expose functions 'create_chest_and_chest_key' and 'create_chest_key' from Tezos crypto library (timelock) as 'Test.create_chest' and 'Test.create_chest_key' respectively

No details provided for this change. Please visit the MR to learn more

[added][Hangzhou] Testing framework: Test.originate_from_file now takes an additional list of top-level declaration for views

No details provided for this change. Please visit the MR to learn more

[added][Hangzhou] Command line option '--protocol hangzhou' now allow users to use hangzhou specifics

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: new primitive 'Test.cast_address' to cast an address to a typed_adress

No details provided for this change. Please visit the MR to learn more

[added][Hangzhou] support for on-chain views. Command line option '--views' and top-level declaration '[@view]' annotation

No details provided for this change. Please visit the MR to learn more

[added][Hangzhou] support for timelock. Types: chest; chest_key; chest_opening_result. Primitives: Tezos.open_chest

No details provided for this change. Please visit the MR to learn more

[added] Docs: simple polymorphism

No details provided for this change. Please visit the MR to learn more

[added] Simple polymorphism: add support for simple polymorphism in the type-checking pass

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: fix wrong env. reconstruction on mod. deps.

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: support E_raw_code for functions

No details provided for this change. Please visit the MR to learn more

[fixed] Fix issue where writing multiple ifs could lead to disappearing code

No details provided for this change. Please visit the MR to learn more

[fixed] Fix ReasonLIGO inline tuple function argument

No details provided for this change. Please visit the MR to learn more

[fixed] Make JsLIGO export handling similar to JavaScript

No details provided for this change. Please visit the MR to learn more

[fixed] Fix record destructuring error reporting

No details provided for this change. Please visit the MR to learn more

[changed] update to ocaml 4.12.1

No details provided for this change. Please visit the MR to learn more

[internal] Use opam 2.1 in CI

No details provided for this change. Please visit the MR to learn more

[other] website: improve the download ligo page

No details provided for this change. Please visit the MR to learn more


0.27.0

Run this release with Docker: docker run ligolang/ligo:0.27.0

Added :

Fixed :

Changed :

Internal :

Details :

[added] JsLIGO: Add support for assignment operators: += /= *= -= %=

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add comparator for bigmaps

No details provided for this change. Please visit the MR to learn more

[added] Docs: new features on mutation

No details provided for this change. Please visit the MR to learn more

[added] testing framework: adding timestamp arithmetic in LIGO interpreter

No details provided for this change. Please visit the MR to learn more

[added] JsLIGO error messages

No details provided for this change. Please visit the MR to learn more

[fixed] fix a bug where _ patterns where not compiled to fresh variables

No details provided for this change. Please visit the MR to learn more

[fixed] fix a bug where a wrongly typed pattern was getting through the typechecker

No details provided for this change. Please visit the MR to learn more

[fixed] Fix List.fold_left in test interpreter

No details provided for this change. Please visit the MR to learn more

[fixed] Fix external modules bug in test interpreter

No details provided for this change. Please visit the MR to learn more

[fixed] Fix preprocessor not returning the #import path from #include

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: internal replace of compare function

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: testing framework checks if current source is an implicit contract

No details provided for this change. Please visit the MR to learn more

[fixed] Fixes #1232 by make self_ast_imperative's map work with Declaration_module

No details provided for this change. Please visit the MR to learn more

[changed] CLI: add a wrapper message for failures

No details provided for this change. Please visit the MR to learn more

[internal] JsLIGO: keep attributes in let initializer

No details provided for this change. Please visit the MR to learn more

[internal] Use Topological Sort to solve the build dependency graph

No details provided for this change. Please visit the MR to learn more

[internal] Fix test file names e.g. a.mligo & A.mligo causes issues

No details provided for this change. Please visit the MR to learn more

[internal] Removed uses of vendor .opam in CI

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: add support for missing ops. on tez

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: add missing cases for iteration in JsLIGO (C_FOLD)

No details provided for this change. Please visit the MR to learn more

[internal] JsLIGO decompilation: quick fix for decompilation of expressions

No details provided for this change. Please visit the MR to learn more


0.26.0

Run this release with Docker: docker run ligolang/ligo:0.26.0

Added :

  • Add missing API functions to interpreter [List.fold_right, List.fold_left, List.head_opt, List.tail_opt, Set.fold_desc, Set.update, Map.get_and_update] (!1319 by melwyn95)
  • Testing framework: add steps bound (for timeout) (!1308 by er433)
  • Documentation of Preprocessor and LexerLib libraries. (!1306 by Christian Rinderknecht)
  • Testing framework: add attribute to mark non-mutable declarations (!1303 by er433)

Fixed :

Changed :

Removed :

  • testing framework: deprecates bootstrapped accounts support due to a problem in one of our tezos dependency, this feature will be enabled again in further updates (!1301 by Rémi Lesénéchal)

Internal :

Details :

[added] Add missing API functions to interpreter [List.fold_right, List.fold_left, List.head_opt, List.tail_opt, Set.fold_desc, Set.update, Map.get_and_update]

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add steps bound (for timeout)

No details provided for this change. Please visit the MR to learn more

[added] Documentation of Preprocessor and LexerLib libraries.

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: add attribute to mark non-mutable declarations

No details provided for this change. Please visit the MR to learn more

No details provided for this change. Please visit the MR to learn more

[fixed] improves error locations on arguments in JsLigo

No details provided for this change. Please visit the MR to learn more

[fixed] JsLIGO: disallow variables with the same name in the same block to align with JS/TS

No details provided for this change. Please visit the MR to learn more

[fixed] JsLIGO: improve floating block scope handling

No details provided for this change. Please visit the MR to learn more

[fixed] ReasonLIGO: support functions without arguments

No details provided for this change. Please visit the MR to learn more

[changed] updating tezos dependencies to Granada (010-PtGRANAD)

No details provided for this change. Please visit the MR to learn more

[changed] Add assert_with_error funciton family

No details provided for this change. Please visit the MR to learn more

[removed] testing framework: deprecates bootstrapped accounts support due to a problem in one of our tezos dependency, this feature will be enabled again in further updates

No details provided for this change. Please visit the MR to learn more

[internal] Add all dependencies to opam.ligo (including dependencies required by vendored dependencies)

No details provided for this change. Please visit the MR to learn more

[internal] Use Dune for vendoring instead of Opam

No details provided for this change. Please visit the MR to learn more

[internal] Generate manpages for new-cli & rename ligo print preprocess to ligo print preprocessed

No details provided for this change. Please visit the MR to learn more

[internal] Tests: remove unused warnings

No details provided for this change. Please visit the MR to learn more


0.25.0

Run this release with Docker: docker run ligolang/ligo:0.25.0

Added :

Fixed :

Changed :

Performance :

  • improve performance of get-scope --with-types option by re-using the type environment instead of building a partial program (!1286 by Rémi Lesénéchal)

Internal :

  • Change remove_unused of self_ast_typed to search for free variables in module experssions & free module variables in expressions (!1295 by melwyn95)
  • Refactor: use Combinators.equal_value to compare record, list, set & map in interpreter (!1291 by melwyn95)
  • Nested value comparison in interpreter for list, set & map (!1274 by melwyn95)
  • Testing framework: improve environment reconstruction (module support) (!1289 by er433)
  • Testing framework: keep a local store for bigmaps (!1285 by er433)
  • Improve error message when type of contract can't be inferred (!1268 by melwyn95)
Details :

[added] Testing framework: add support for modules

No details provided for this change. Please visit the MR to learn more

[fixed] Removed syntax of tupls without parentheses as parameters.

No details provided for this change. Please visit the MR to learn more

[fixed] Extended syntax to support 'let x (type a) : 'a = x' etc.

No details provided for this change. Please visit the MR to learn more

[fixed] Add support for chained assignment

No details provided for this change. Please visit the MR to learn more

[changed] Remove JsLIGO new keyword

No details provided for this change. Please visit the MR to learn more

[changed] Modify Cli

No details provided for this change. Please visit the MR to learn more

[performance] improve performance of get-scope --with-types option by re-using the type environment instead of building a partial program

No details provided for this change. Please visit the MR to learn more

[internal] Change remove_unused of self_ast_typed to search for free variables in module experssions & free module variables in expressions

No details provided for this change. Please visit the MR to learn more

[internal] Refactor: use Combinators.equal_value to compare record, list, set & map in interpreter

No details provided for this change. Please visit the MR to learn more

[internal] Nested value comparison in interpreter for list, set & map

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: improve environment reconstruction (module support)

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: keep a local store for bigmaps

No details provided for this change. Please visit the MR to learn more

[internal] Improve error message when type of contract can't be inferred

No details provided for this change. Please visit the MR to learn more


0.24.0

Run this release with Docker: docker run ligolang/ligo:0.24.0

Added :

  • Testing framework: add support for re-generating files from mutation (!1214 by er433)

Fixed :

Changed :

Deprecated :

  • Deprecates Test.compile_expression Test.compile_expression_subst Test.mutate_expression Test.mutate_count (!1253 by Rémi Lesénéchal)

Internal :

  • Ast-typed pass: transform unused rec. to lambda (!1254 by er433)
  • Testing framework: fix for constant declaration, it does not need to evaluate anymore (!1269 by er433)
  • Docs: fix type signatures & examples for list, set & map (!1257 by melwyn95)
  • Testing framework: use ppx to check which operations correspond to it (!1258 by er433)
Details :

[added] Testing framework: add support for re-generating files from mutation

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed bug in preprocessing #import

No details provided for this change. Please visit the MR to learn more

[fixed] Fix bitwise operators in interpreter

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: Test.originate now supports recursive functions

No details provided for this change. Please visit the MR to learn more

[fixed] JsLIGO: add support for tuple assignment

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: C_POLYMORPHIC_ADD resolution to C_CONCAT/C_ADD in JsLIGO

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: annotations are no long uncapitalized

No details provided for this change. Please visit the MR to learn more

[changed] Update to Florence 9.7

No details provided for this change. Please visit the MR to learn more

[deprecated] Deprecates Test.compile_expression Test.compile_expression_subst Test.mutate_expression Test.mutate_count

No details provided for this change. Please visit the MR to learn more

[internal] Ast-typed pass: transform unused rec. to lambda

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: fix for constant declaration, it does not need to evaluate anymore

No details provided for this change. Please visit the MR to learn more

[internal] Docs: fix type signatures & examples for list, set & map

No details provided for this change. Please visit the MR to learn more

[internal] Testing framework: use ppx to check which operations correspond to it

No details provided for this change. Please visit the MR to learn more


0.23.0

Run this release with Docker: docker run ligolang/ligo:0.23.0

Added :

Fixed :

Removed :

Internal :

Details :

[added] Sub-command compile-expression: add option for disabling running of compiled code

No details provided for this change. Please visit the MR to learn more

[added] Added attributes on lambdas.

No details provided for this change. Please visit the MR to learn more

[added] Front-end: Parameteric type expressions, polymorphic type and value definitions.

No details provided for this change. Please visit the MR to learn more

[added] The typechecking now understand parametric types

No details provided for this change. Please visit the MR to learn more

[added] Testing framework: a call trace is kept for giving context on failure

No details provided for this change. Please visit the MR to learn more

[added] Add bitwise operators for CameLIGO & ReasonLIGO

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: failure in REPL's exception handling

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: check that Bytes.unpack's annotated type is an option

No details provided for this change. Please visit the MR to learn more

[fixed] true/false in pattern matching are now forbidden (use True and False instead)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: remove unused declarations before compiling

No details provided for this change. Please visit the MR to learn more

[fixed][PascaLIGO/CameLIGO] Rewrite of the parse error messages.

No details provided for this change. Please visit the MR to learn more

[fixed][PascaLIGO] Fixed pretty-printing.

No details provided for this change. Please visit the MR to learn more

[fixed] Suspend tail recursion analysis in E_module_accessor

No details provided for this change. Please visit the MR to learn more

[removed] Removed preprocessing directives #region and #endregion.

No details provided for this change. Please visit the MR to learn more

[internal] Fix: get_fv in self-ast-tyed/sef-ast-imperative

No details provided for this change. Please visit the MR to learn more

[internal][CameLIGO/ReasonLIGO/JsLIGO] Removed predefined constructors true and false.

No details provided for this change. Please visit the MR to learn more

[internal][PascaLIGO] Removed predefined constructors Unit, True and False.

No details provided for this change. Please visit the MR to learn more

[internal][PascaLIGO/CameLIGO/ReasonLIGO] Removed CST node TWild (standing for _).

No details provided for this change. Please visit the MR to learn more

[internal] Refactoring of the parsers, CSTs and printers.

No details provided for this change. Please visit the MR to learn more

[internal] JsLIGO: Fixed dangling else in the parser. Fixeds attributes on pattern variables and declarations.

No details provided for this change. Please visit the MR to learn more

[internal] Changed all Token.mll into Token.ml

No details provided for this change. Please visit the MR to learn more

[internal] All syntaxes: Removed predefined constructors Some and None.

No details provided for this change. Please visit the MR to learn more


0.22.0

Run this release with Docker: docker run ligolang/ligo:0.22.0

Added :

  • Contract pass: check entrypoint syntax in C_CONTRACT_ENTRYPOINT(_OPT) (!1223 by er433)

Fixed :

  • Fix: top-level underscore "definition" breaks testing framework (!1238 by er433)
  • Testing framework: fix overriding of variables on environment reconstruction (!1226 by er433)
  • Fix #1240: use annotations when checking Tezos.self (!1217 by er433)

Internal :

Details :

[added] Contract pass: check entrypoint syntax in C_CONTRACT_ENTRYPOINT(_OPT)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix: top-level underscore "definition" breaks testing framework

No details provided for this change. Please visit the MR to learn more

[fixed] Testing framework: fix overriding of variables on environment reconstruction

No details provided for this change. Please visit the MR to learn more

[fixed] Fix #1240: use annotations when checking Tezos.self

No details provided for this change. Please visit the MR to learn more

[internal] Handling errors with exception

No details provided for this change. Please visit the MR to learn more

[internal] Clean up error handling in testing framework

No details provided for this change. Please visit the MR to learn more


0.21.0

Run this release with Docker: docker run ligolang/ligo:0.21.0

Fixed :

Internal :

Details :

[fixed] Trim warnings to not cause accidental error output.

No details provided for this change. Please visit the MR to learn more

[fixed] Fix editor extension page

No details provided for this change. Please visit the MR to learn more

[internal] Handling warnings as effect

No details provided for this change. Please visit the MR to learn more


0.20.0

Run this release with Docker: docker run ligolang/ligo:0.20.0

Added :

  • Add commands for mutating CST/AST, and primitives formutation in testing framework (!1156 by er433)

Fixed :

Changed :

Details :

[added] Add commands for mutating CST/AST, and primitives formutation in testing framework

No details provided for this change. Please visit the MR to learn more

[fixed] Transpiler: add parenthesis around typed pattern when decompiling CameLIGO

No details provided for this change. Please visit the MR to learn more

[fixed] Improve JsLIGO handling of attributes

No details provided for this change. Please visit the MR to learn more

[fixed] Properly support tuple accessors when using '+' operator.

No details provided for this change. Please visit the MR to learn more

[changed] Improved ReasonLIGO syntax highlighting

No details provided for this change. Please visit the MR to learn more

[changed] JsLIGO: Don't require 'return' before 'failwith'

No details provided for this change. Please visit the MR to learn more


0.19.0

Run this release with Docker: docker run ligolang/ligo:0.19.0

Added :

Fixed :

Changed :

  • Changes in the testing framework: Test.originate, Test.transfer(_exn), Test.to_contract, Test.to_entrypoint, Test.get_storage, Test.get_balance, Test.eval, initial support for big_maps (!1169 by @er433)
Details :

[added] Add support for NEVER instruction as Tezos.never

No details provided for this change. Please visit the MR to learn more

[fixed] Fix type-checker bug when using let-destructuring with a unit pattern

No details provided for this change. Please visit the MR to learn more

[fixed] REPL: fix evaluation of JsLIGO expressions and add test cases

No details provided for this change. Please visit the MR to learn more

[changed] Changes in the testing framework: Test.originate, Test.transfer(_exn), Test.to_contract, Test.to_entrypoint, Test.get_storage, Test.get_balance, Test.eval, initial support for big_maps

No details provided for this change. Please visit the MR to learn more


0.18.0

Run this release with Docker: docker run ligolang/ligo:0.18.0

Fixed :

Deprecated :

  • Deprecated evaluate-value (now evaluate-expr) and run-function (now evaluate-call) (!1131 by Suzanne Soy)

Internal :

  • X_options maintenance (!1155 by @SanderSpies)
  • Improved review/refactor script (look for code quality marker, ignore tools/webide, show some info about why a file is at this position in the queue) (!1136 by Suzanne Soy)
Details :

[fixed] fix a bug where Test.get_storage was not usable within a Test.compile_expression_subst

No details provided for this change. Please visit the MR to learn more

[deprecated] Deprecated evaluate-value (now evaluate-expr) and run-function (now evaluate-call)

No details provided for this change. Please visit the MR to learn more

[internal] X_options maintenance

No details provided for this change. Please visit the MR to learn more

[internal] Improved review/refactor script (look for code quality marker, ignore tools/webide, show some info about why a file is at this position in the queue)

No details provided for this change. Please visit the MR to learn more


0.17.0

Run this release with Docker: docker run ligolang/ligo:0.17.0

Added :

  • New pass enforcing: consts cannot be assigned to, vars cannot be captured. (!1132 by @er433)
  • Added syntactic support for tuples without parentheses at the top-level of patterns in pattern matchings. (!1168 by Christian Rinderknecht)
  • Add warning message when layout attribute is present on a constructor for a sum (issue #1104) (!1163 by @er433)

Fixed :

Changed :

Internal :

Details :

[added] New pass enforcing: consts cannot be assigned to, vars cannot be captured.

No details provided for this change. Please visit the MR to learn more

[added] Added syntactic support for tuples without parentheses at the top-level of patterns in pattern matchings.

No details provided for this change. Please visit the MR to learn more

[added] Add warning message when layout attribute is present on a constructor for a sum (issue #1104)

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed typo's in tutorial and cheat sheet

No details provided for this change. Please visit the MR to learn more

[fixed] Improve messages for var/const pass.

No details provided for this change. Please visit the MR to learn more

[fixed] Move decompilation of assign to self pass. Prepare pipeline for language specific decompilation

No details provided for this change. Please visit the MR to learn more

[fixed] fix a bug in ligo test framework where Test.transfer was returning unit in case of success

No details provided for this change. Please visit the MR to learn more

[fixed] Restore earlier fix for lowercase switch cases

No details provided for this change. Please visit the MR to learn more

[fixed] Fix inversion in missmatch errors

No details provided for this change. Please visit the MR to learn more

[fixed] Bugfix 2n/2

No details provided for this change. Please visit the MR to learn more

[changed] Updating Taco-shop tutorial (all syntaxes, ligo test framework usage)

No details provided for this change. Please visit the MR to learn more

[changed] Improve JsLIGO lexer error messages

No details provided for this change. Please visit the MR to learn more

[changed] Adds a hint remembering users that warnings can be prevented using underscores

No details provided for this change. Please visit the MR to learn more

[changed] vendors/ligo-utils/simple-utils/x_list.ml: added code quality marker, some syntax nits

No details provided for this change. Please visit the MR to learn more

[internal] Rename Comments module to AttachComments

No details provided for this change. Please visit the MR to learn more


0.16.1

Run this release with Docker: docker run ligolang/ligo:0.16.1

Details :

0.16.0

Run this release with Docker: docker run ligolang/ligo:0.16.0

Added :

Fixed :

Changed :

  • src/test/test_helpers.ml: added code quality marker, added helper for get_program, use it in other test files (!1138 by @er433)

Internal :

Details :

[added] Add more documentation on LIGO testing framework

No details provided for this change. Please visit the MR to learn more

[added] Pass for repeated usage of ticket values

No details provided for this change. Please visit the MR to learn more

[added] added variable references support (get-scope)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix issue with JsLIGO sequences

No details provided for this change. Please visit the MR to learn more

[fixed] Constructors without arguments are abstracted to constructor taking unit pattern

No details provided for this change. Please visit the MR to learn more

[fixed] fix dry-run rejecting Tezos.self

No details provided for this change. Please visit the MR to learn more

[changed] src/test/test_helpers.ml: added code quality marker, added helper for get_program, use it in other test files

No details provided for this change. Please visit the MR to learn more

[internal] Removed ppx_let dependency, replaced by OCaml built-in let-operators

No details provided for this change. Please visit the MR to learn more


0.15.0

Run this release with Docker: docker run ligolang/ligo:0.15.0

Added :

  • Compiler now emits Edo GET k and UPDATE k when [@layout:comb] is used with records (!1102 by tomjack)

Fixed :

Removed :

Performance :

  • Added compile-time optimization of comb record destructuring and uncurrying (!1102 by tomjack)

Internal :

Details :

[added] Compiler now emits Edo GET k and UPDATE k when [@layout:comb] is used with records

No details provided for this change. Please visit the MR to learn more

[fixed] Fix JsLIGO identifiers to include _

No details provided for this change. Please visit the MR to learn more

[fixed] Fix failure for TWild (_ for types)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix order in which things are evaluated in evaluate-value

No details provided for this change. Please visit the MR to learn more

[fixed] Fix failure when applying a type var. not expecting arguments

No details provided for this change. Please visit the MR to learn more

[fixed] Fix support for lowcase verbatim strings in JsLIGO (important for test framework support)

No details provided for this change. Please visit the MR to learn more

[fixed] Add JsLIGO to Edo features documentation

No details provided for this change. Please visit the MR to learn more

[fixed] Fix JsLIGO sapling types

No details provided for this change. Please visit the MR to learn more

[removed] Remove unused warning message for rec. definitions

No details provided for this change. Please visit the MR to learn more

[performance] Added compile-time optimization of comb record destructuring and uncurrying

No details provided for this change. Please visit the MR to learn more

[internal] Script which shows a queue of files that need refactoring

No details provided for this change. Please visit the MR to learn more

[internal] Preparation work for merging type_value and type_expression

No details provided for this change. Please visit the MR to learn more

[internal] rename inferance → inference

No details provided for this change. Please visit the MR to learn more

[internal] Clean up comments in the tests from debugging the typer

No details provided for this change. Please visit the MR to learn more

[internal] More testing ability in the documentation

No details provided for this change. Please visit the MR to learn more


0.14.0

Run this release with Docker: docker run ligolang/ligo:0.14.0

Added :

Fixed :

Internal :

Details :

[added] Add type inference to the compiler

No details provided for this change. Please visit the MR to learn more

[added] LIGO Test Framework documentation

No details provided for this change. Please visit the MR to learn more

[added] Support for deep pattern, record pattern, wildcard ("_") pattern and unit pattern in matching expressions

No details provided for this change. Please visit the MR to learn more

[added] Allow identifiers with underscore and wildcard name

No details provided for this change. Please visit the MR to learn more

[added] Add description and documentation for each sub command

No details provided for this change. Please visit the MR to learn more

[added] Add support for JsLIGO

No details provided for this change. Please visit the MR to learn more

[added] Explain sequences in ReasonLIGO and CameLIGO

No details provided for this change. Please visit the MR to learn more

[added] Add werror flag to mark warnings as errors

No details provided for this change. Please visit the MR to learn more

[added] Add repl

No details provided for this change. Please visit the MR to learn more

[fixed] fix bug occuring when overriding option type

No details provided for this change. Please visit the MR to learn more

[internal] Add lexical units

No details provided for this change. Please visit the MR to learn more

[internal] Support for tuples without parentheses as last expressions in sequences.

No details provided for this change. Please visit the MR to learn more

[internal] Fix typing of For_each with any type

No details provided for this change. Please visit the MR to learn more

[internal] Uncurry before inlining

No details provided for this change. Please visit the MR to learn more


0.13.0

Run this release with Docker: docker run ligolang/ligo:0.13.0

Added :

Fixed :

  • Changed colour of background and foreground for hovered items in contact page, fixes #215 (!1059 by Suzanne Soy)
  • fixing nested record update bug by normalizing Edo combs decompilation (!1047 by tomjack)
Details :

[added] Add a REPL based on linenoise

No details provided for this change. Please visit the MR to learn more

[fixed] Changed colour of background and foreground for hovered items in contact page, fixes #215

No details provided for this change. Please visit the MR to learn more

[fixed] fixing nested record update bug by normalizing Edo combs decompilation

No details provided for this change. Please visit the MR to learn more


0.12.0

Run this release with Docker: docker run ligolang/ligo:0.12.0

Added :

Fixed :

  • Tezos.self_address is now allowed in lambdas (!1035 by tomjack)
  • Curried functions again work correctly with commands like interpret and compile-storage (!1038 by tomjack)

Removed :

Details :

[added] The Emacs ligo-mode is now released on MELPA

No details provided for this change. Please visit the MR to learn more

[added] Some optimizations for Edo, including DUP n

No details provided for this change. Please visit the MR to learn more

[added][@layout:comb] record destructuring is now compiled to UNPAIR n

No details provided for this change. Please visit the MR to learn more

[fixed] Tezos.self_address is now allowed in lambdas

No details provided for this change. Please visit the MR to learn more

[fixed] Curried functions again work correctly with commands like interpret and compile-storage

No details provided for this change. Please visit the MR to learn more

[removed] Dropped support for pre-Edo protocols

No details provided for this change. Please visit the MR to learn more

[removed] Dropped support for pre-Edo protocols (carthage, dalphanet)

No details provided for this change. Please visit the MR to learn more


0.11.0

Run this release with Docker: docker run ligolang/ligo:0.11.0

Added :

  • add set update primitive (!1021 by Rémi Lesénéchal)
  • prototype typer: separated typeclass deduce_and_clean to its own heuristic; trimmed down the Compat modules (!981 by Suzanne Soy)
  • prototype typer: heuristic to inline the definition of type variables used in type classes (!981 by Suzanne Soy)
  • Fixed potential bug: use multiset in typeclasses_constraining; added indexer for typeclasses using a variable as an unbound var; sketched out heuristic which inlines variabes in typeclasses (!981 by Suzanne Soy)
Details :

[added] add set update primitive

No details provided for this change. Please visit the MR to learn more

[added] prototype typer: separated typeclass deduce_and_clean to its own heuristic; trimmed down the Compat modules

No details provided for this change. Please visit the MR to learn more

[added] prototype typer: heuristic to inline the definition of type variables used in type classes

No details provided for this change. Please visit the MR to learn more

[added] Fixed potential bug: use multiset in typeclasses_constraining; added indexer for typeclasses using a variable as an unbound var; sketched out heuristic which inlines variabes in typeclasses

No details provided for this change. Please visit the MR to learn more


0.10.0

Run this release with Docker: docker run ligolang/ligo:0.10.0

Added :

Fixed :

Changed :

Internal :

Details :

[added] Uncurry functions only used in full applications

No details provided for this change. Please visit the MR to learn more

[added] Few fixes in tickets untranspilation

No details provided for this change. Please visit the MR to learn more

[added] Added doc for Edo things (tickets/sapling)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix handling of true/false constructors in switch expressions.

No details provided for this change. Please visit the MR to learn more

[fixed] Added parsing of constant constructors as function arguments.

No details provided for this change. Please visit the MR to learn more

[changed] Prevent inappropriate optimisation of %Michelson lambdas

No details provided for this change. Please visit the MR to learn more

[changed] ligo michelson backend now uses the "protocol--008-PtEdoTez-"

No details provided for this change. Please visit the MR to learn more

[changed] Upgrade tezos backend (for dry-run, compile-expression..) to Edo

No details provided for this change. Please visit the MR to learn more

[internal] Refactor & generalize Michelson peephole framework

No details provided for this change. Please visit the MR to learn more

[internal] Use opam lock to lock dependencies

No details provided for this change. Please visit the MR to learn more

[internal] Progress on modular interface for heuristics and abstraction over type_variable, renamed modules, moved files

No details provided for this change. Please visit the MR to learn more

[internal] Refactoring of the front-end.

No details provided for this change. Please visit the MR to learn more

[internal] Fixed the CST printers.

No details provided for this change. Please visit the MR to learn more


0.9.0

Run this release with Docker: docker run ligolang/ligo:0.9.0

Added :

Fixed :

  • use letters instead of numbers for type variables in debug trace (!918 by Suzanne Soy)
  • Fixed small bug in grouped_by_variable (use a multiset instead of a set, so that double-add and removal don't remove both copies (!915 by Suzanne Soy)
  • Fix assert in type_and_subst (!915 by Suzanne Soy)

Internal :

  • Addded pretty-printers to the API of indexer plug-ins; added test for addition of constraints and merging of type variables for the by_constraint_identifier indexer and other indexers. (!914 by Suzanne Soy)
Details :

[added] Add chain_id literals

No details provided for this change. Please visit the MR to learn more

[fixed] use letters instead of numbers for type variables in debug trace

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed small bug in grouped_by_variable (use a multiset instead of a set, so that double-add and removal don't remove both copies

No details provided for this change. Please visit the MR to learn more

[fixed] Fix assert in type_and_subst

No details provided for this change. Please visit the MR to learn more

[internal] Addded pretty-printers to the API of indexer plug-ins; added test for addition of constraints and merging of type variables for the by_constraint_identifier indexer and other indexers.

No details provided for this change. Please visit the MR to learn more


0.8.0

Run this release with Docker: docker run ligolang/ligo:0.8.0

Fixed :

Details :

[fixed] ReasonLIGO: Allow if without else in more places.

No details provided for this change. Please visit the MR to learn more


0.7.1

Run this release with Docker: docker run ligolang/ligo:0.7.1

Internal :

Details :

[internal] Improve transpilation and speed up transpilation tests

No details provided for this change. Please visit the MR to learn more


0.7.0

Run this release with Docker: docker run ligolang/ligo:0.7.0

Added :

Internal :

  • Remove vendored protocols -- fake origination & bake for proto env setup (!921 by tomjack)
Details :

[added] tuple destructuring are now transformed into nested pattern matches

No details provided for this change. Please visit the MR to learn more

[added] linear pattern matching (tuple/record)

No details provided for this change. Please visit the MR to learn more

[added] EDO primitives (use --protocol edo and --disable-michelson-typechecking)

No details provided for this change. Please visit the MR to learn more

[internal] Remove vendored protocols -- fake origination & bake for proto env setup

No details provided for this change. Please visit the MR to learn more


0.6.0

Run this release with Docker: docker run ligolang/ligo:0.6.0

Added :

  • prototype typer: added a separate constraint checking routine which will be executed after type inference (!910 by Suzanne Soy)

Fixed :

  • Fix bug with let_in annotations in recursive functions (!905 by tomjack)
  • the CLI print-* commands now print proper JSON when --format=json, also removed the sugar field from the core representation (!892 by Rémi Lesénéchal)

Changed :

  • Use virtual ES6FUN token for ReasonLIGO to allow for more accurate error messages. (!876 by Sander Spies)

Internal :

Details :

[added] prototype typer: added a separate constraint checking routine which will be executed after type inference

No details provided for this change. Please visit the MR to learn more

[fixed] Fix bug with let_in annotations in recursive functions

No details provided for this change. Please visit the MR to learn more

[fixed] the CLI print-* commands now print proper JSON when --format=json, also removed the sugar field from the core representation

No details provided for this change. Please visit the MR to learn more

[changed] Use virtual ES6FUN token for ReasonLIGO to allow for more accurate error messages.

No details provided for this change. Please visit the MR to learn more

[internal] prototype typer: split DB index tests into separate files, added test skeleton for cycle_detection_topological_sort

No details provided for this change. Please visit the MR to learn more

[internal] Add module_access expression and type_expression

No details provided for this change. Please visit the MR to learn more

[internal] Compile a multiple file contract

No details provided for this change. Please visit the MR to learn more


0.5.0

Run this release with Docker: docker run ligolang/ligo:0.5.0

Added :

  • Add two new function:
  • List.head_opt
  • List.tail_opt

which returns none if the list is empty and respectively hd and tl if the list is CONS (hd,tl) (!887 by Pierre-Emmanuel Wulfman)

Changed :

Internal :

Details :

[added] Add two new function:

  • List.head_opt
  • List.tail_opt

which returns none if the list is empty and respectively hd and tl if the list is CONS (hd,tl)

No details provided for this change. Please visit the MR to learn more

[changed] Add missing location to parser error messages in JSON

No details provided for this change. Please visit the MR to learn more

[changed] Change in compilation of record updates

No details provided for this change. Please visit the MR to learn more

[changed] Port stacking pass to Coq

No details provided for this change. Please visit the MR to learn more

[internal] Add a build system that type file in order to resolve dependency

No details provided for this change. Please visit the MR to learn more


0.4.0

Run this release with Docker: docker run ligolang/ligo:0.4.0

Added :

Fixed :

Internal :

  • Disable failing tests for typer not currently in use when it is in use (except the one being worked on) (!839 by Suzanne Soy)
  • Fixed build issue with dune b inside a nix-shell (thanks Sander for providing the fix) (!839 by Suzanne Soy)
  • scripts/add-changelog-entry.sh now runs a nested nix-shell if jq or json2yaml aren't installed in the outer nix shell (!839 by Suzanne Soy)
  • boolean constant to force use of the typer which is not currently in use in the tests (!839 by Suzanne Soy)
  • Solve warnings during compilation (!871 by Pierre-Emmanuel Wulfman)
Details :

[added] alias_selector for heuristics to take into account aliases

No details provided for this change. Please visit the MR to learn more

[added] internal documentation for the typer

No details provided for this change. Please visit the MR to learn more

[added] add --typer option to choose between 'old' and 'new' typer

No details provided for this change. Please visit the MR to learn more

[fixed] Unprotected Sys.getenv

No details provided for this change. Please visit the MR to learn more

[internal] Disable failing tests for typer not currently in use when it is in use (except the one being worked on)

No details provided for this change. Please visit the MR to learn more

[internal] Fixed build issue with dune b inside a nix-shell (thanks Sander for providing the fix)

No details provided for this change. Please visit the MR to learn more

[internal] scripts/add-changelog-entry.sh now runs a nested nix-shell if jq or json2yaml aren't installed in the outer nix shell

No details provided for this change. Please visit the MR to learn more

[internal] boolean constant to force use of the typer which is not currently in use in the tests

No details provided for this change. Please visit the MR to learn more

[internal] Solve warnings during compilation

No details provided for this change. Please visit the MR to learn more


0.3.0

Run this release with Docker: docker run ligolang/ligo:0.3.0

Added :

  • --protocol preloads types corresponding to a given protocol. use "ligo compile-contract path entrypoint --protocol=X --disable-michelson-typecheking" in combination with michelson_insertion (!837 by Rémi Lesénéchal)

Fixed :

  • Fix broken Nix build on MacOS (!852 by Alexander Bantyev)
  • Documentation of Pascaligo: change deprecated bytes_unpack to Bytes.unpack. (!820 by Sander Spies)
  • Fixed 2 bugs in changelog generator (a shell variable wasn't exported but was used in a subprocess; the evaluation time of some nix expressions seem to have changed so we're invoking a shell command instead of having the nix expression evaluated before its inputs are ready) (!853 by Suzanne Soy)
  • Fix broken build after removal of generated code (!807 by Suzanne Soy)

Changed :

  • Type constant are now loaded into the type environment, they become variables until the typed AST (!849 by Rémi Lesénéchal)
  • In the typer which is not currently in use, added a boolean flag on constraints indicating whether they might be necessary for correctness (!814 by Suzanne Soy)
  • In the typer which is not currently in use, constraint removal is now handled by normalizers (!801 by Suzanne Soy)
  • In the typer which is not currently in use, heuristics can now request the justified removal of some of the constraints (!801 by Suzanne Soy)

Performance :

  • Optimization: push DROP into failing conditionals (!820 by Tom)

Internal :

Uncategorized :

Details :

[added] --protocol preloads types corresponding to a given protocol. use "ligo compile-contract path entrypoint --protocol=X --disable-michelson-typecheking" in combination with michelson_insertion

No details provided for this change. Please visit the MR to learn more

[fixed] Fix broken Nix build on MacOS

No details provided for this change. Please visit the MR to learn more

[fixed] Documentation of Pascaligo: change deprecated bytes_unpack to Bytes.unpack.

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed 2 bugs in changelog generator (a shell variable wasn't exported but was used in a subprocess; the evaluation time of some nix expressions seem to have changed so we're invoking a shell command instead of having the nix expression evaluated before its inputs are ready)

No details provided for this change. Please visit the MR to learn more

[fixed] Fix broken build after removal of generated code

No details provided for this change. Please visit the MR to learn more

[changed] Type constant are now loaded into the type environment, they become variables until the typed AST

No details provided for this change. Please visit the MR to learn more

[changed] In the typer which is not currently in use, added a boolean flag on constraints indicating whether they might be necessary for correctness

No details provided for this change. Please visit the MR to learn more

[changed] In the typer which is not currently in use, constraint removal is now handled by normalizers

No details provided for this change. Please visit the MR to learn more

[changed] In the typer which is not currently in use, heuristics can now request the justified removal of some of the constraints

No details provided for this change. Please visit the MR to learn more

[performance] Optimization: push DROP into failing conditionals

No details provided for this change. Please visit the MR to learn more

[internal] Create polymorphic function and use them in asts and passes to factorize code and simplify maintenance

No details provided for this change. Please visit the MR to learn more

[internal] Refactoring of front-end (making libraries, removing exceptions from interfaces, factoring and removing code etc.)

No details provided for this change. Please visit the MR to learn more

[internal] Move the preprocessor away from the parser

No details provided for this change. Please visit the MR to learn more

[]

No details provided for this change. Please visit the MR to learn more


0.2.1

Run this release with Docker: docker run ligolang/ligo:0.2.1

Added :

Fixed :

Details :

[added] --lib option for the get-scope command. this allows to specify paths to included files

No details provided for this change. Please visit the MR to learn more

[fixed] fixed a but in new michelson layout annotation

No details provided for this change. Please visit the MR to learn more

[fixed] add the --init-file option to compile-expresssion command

No details provided for this change. Please visit the MR to learn more


0.2.0

Run this release with Docker: docker run ligolang/ligo:0.2.0

Added :

Fixed :

Changed :

Details :

[added] two new attributes on record and variant types: annot for michelson field annotation and layout (comb or tree) for compilation layout

No details provided for this change. Please visit the MR to learn more

[fixed] Fix error messages snippet printing

No details provided for this change. Please visit the MR to learn more

[fixed] Fix wrong error message due to wrong merge

No details provided for this change. Please visit the MR to learn more

[fixed] Redeploy website on release to update the changelog

No details provided for this change. Please visit the MR to learn more

No details provided for this change. Please visit the MR to learn more

[changed] Added dependency on json2yaml and jq in nix-shell

No details provided for this change. Please visit the MR to learn more


0.1.0

Run this release with Docker: docker run ligolang/ligo:0.1.0

Added :

Fixed :

Changed :

Details :

[added] Add a dialect option when decompiling to pascaligo

No details provided for this change. Please visit the MR to learn more

[added] Add a predifine function 'assert_some'

No details provided for this change. Please visit the MR to learn more

[added] Add error message for function argument tuple components mismatch

No details provided for this change. Please visit the MR to learn more

[added] Add missing function argument type annotation error

No details provided for this change. Please visit the MR to learn more

[fixed] Fixed error message when lexing an odd-lengthed byte sequence.

No details provided for this change. Please visit the MR to learn more

[fixed] Add locations to the constant typers for all the primitives

No details provided for this change. Please visit the MR to learn more

[fixed] dune runtest in nix-shell

No details provided for this change. Please visit the MR to learn more

[changed] Removed dependencies on the Tezos protocol from compiler stages and passes.

No details provided for this change. Please visit the MR to learn more

[changed] Improve non-parser error messages

No details provided for this change. Please visit the MR to learn more


0.0.1

Run this release with Docker: docker run ligolang/ligo:0.0.1

Added :

Details :

[added] Add changelog and versioning

No details provided for this change. Please visit the MR to learn more


0.0.0

Run this release with Docker: docker run ligolang/ligo:0.0.0

Details :