Changelog of @hackage/indigo 0.6.0

Unreleased

  • !43 Add emit instruction
    • New user-facing function Indigo.Frontend.Language.emit to emit contract events.
    • annQ and FieldAnn are re-exported from Indigo.Frontend.Language and consequently Indigo.
  • !42 Updates for kathmandu
    • Bump dependencies
    • Fix typo in "division by zero" error text (was "devision by zero") in the expression code generator.
  • !41 Updates for jakarta and GHC-9
    • Bump dependencies
    • Bump compiler/stack resolver
    • Bump docker base image
    • Note that due to Jakarta changes, some functions may need IsNotInView constraint now, exported from Indigo.Lorentz and Indigo.
  • !35 Add upgrade command; generate indigo-dependency-snapshot.yaml on demand
    • Add an indigo upgrade command, building the latest indigo version
    • Also update project generator for latest indigo/morley
  • !36 Reorganize Indigo modules
    • Get rid of Indigo.Internal and Indigo.Internal.Expr "god modules"
    • Several moves:
      • Indigo.Internal.Lookup, Indigo.Internal.Expr.Compilation, Indigo.Internal.Expr.Decompose to Indigo.Backend.*
      • Indigo.Internal.Expr.Symbolic to Indigo.Frontend.Expr
      • Indigo.Frontend.Statement to Indigo.Frontend.Internal.Statement (it's not reexported)
      • Indigo.Common.Expr.Types to Indigo.Common.Expr
    • Do not re-export backend parts from Indigo, specifically, Indigo.Backend.Expr.* and Indigo.Backend.Lookup
    • Rename Indigo.Internal.* to Indigo.Common.* (not really internal, since it's exported from Indigo)
    • Rename Indigo.Rebinded to Indigo.Rebound
    • Split type definitions from Indigo.Compilation.Sequential into Indigo.Compilation.Sequential.Types
  • !34 Replace dip dip with dip 2 in the code generator
  • !24 Bump Morley/Lorentz and comply with the changes in them.
  • !15 Add failCustomNoArg which allows failing with just a string instead of pair string <arg>.
  • !18 Bump over Morley/Lorentz with all the edo functionality (but tickets are not yet supported).

0.5.0

  • !12 Refactor some general documentation-related methods, see deprecation notes for migration instructions.

0.4

  • !8 Comply with the recent changes in Lorentz. Namely, pack, unpack, checkSignature and hashing instructions now operate not with ByteStrings and Signatures, rather with type-safe newtypes over them. Added packRaw and unpackRaw with the old behaviour of pack and unpack.
  • !5 Replaced indigo-trial name with indigo via docker instead.
  • !630 Use : in all library instructions instead of &.
  • !639 Update the tutorial on how to install indigo-trial which is a wrapper around docker image that contains indigo binary and cached Haskell dependencies.
  • !596 Add ability to generate debug comments for Indigo statements:
    • Added several levels of verbosity
    • Added possibility to print full stack trace among with a statement call
    • Buildable Expr defined

0.3.1

  • Update indigo executable:
    • Make it usable inside docker environment.
    • Avoid usage of mixin in generated project since this feature is not properly handled by stack.
  • !629 Generalize functions working on UStore to anything satisfying classes from Lorentz.StoreClass.

0.3.0

  • !583 Add an intermediate compilation representation for optimization.

    • fail-like statements return RetVars r instead of r.
  • !534 Add a tutorial on how to setup an Indigo project using Indigo CLI.

    • Bump the dependencies version of the boilerplate generated by indigo new to the latest.
  • !566 Add Indigo CLI installation script.

    • Mention how Indigo CLI can be installed in the Indigo documentation.

0.2.2

  • !544 Add indigo executable which improves the development of Indigo projects.
    • Create boilerplate project via new.
    • Wrap around stack commands: build, test, and repl.
    • Run ContractRegistry commands via run.

0.2.1

  • !570 Added coerce and forcedCoerce to convert between expressions of types that have the same Michelson representation.
  • !558 Added wrap and unwrap, to generate from and extract to, values given a constructor with a single fields for a sum type.
  • !538 Add the showcase section presenting a list of public smart contracts written in Indigo.
  • !533 Add a tutorial on how to add documentation to a contract.
    • Create helper functions: saveDocumentation and printDocumentation which can generate the documentation via the REPL.
    • Add short-handed doc item statements such as: anchor, description, and example.

0.2.0

  • !542 Use #= as a synonym for //->.

0.1.0.0

Initial release.