Unreleased ========== 0.6.0 ===== * [!127](https://gitlab.com/morley-framework/morley/merge_requests/127) Limit annotations' allowed characters * [!184](https://gitlab.com/morley-framework/morley/merge_requests/184) Fix `LAMBDA` instruction type converter bug * [!173](https://gitlab.com/morley-framework/morley/merge_requests/173) [!197](https://gitlab.com/morley-framework/morley/merge_requests/197) Add support for lightweight entrypoints in Lorentz, as well as in the interpreter runner and morley executable. Support entrypoint references in `SELF` instruction. Minor refactorings related to entrypoints. * [!201](https://gitlab.com/morley-framework/morley/merge_requests/201) + Add entrypoint argument to methods in testing eDSL. Preserve the existing type of `lCall` and deprecate it. + Deprecate `Lorentz.TestScenario`. * [!208](https://gitlab.com/morley-framework/morley/merge_requests/208) Resolve an ambiguity within integrational and unit interpreters by renaming interpreter in `Michelson.Runtime` to `executor`. * [!180](https://gitlab.com/morley-framework/morley/merge_requests/180) Remove `coerce_` in favor of more safe variants. Migration guide: pick one of the functions from 'Lorentz.Coercions' module. In most cases you need one of the following ones: * `checkedCoerce_` * `coerceWrap` / `coerceUnwrap` * `forcedCoerce_` (aka old `coerce_` - this variant provides the least safety). * [!180](https://gitlab.com/morley-framework/morley/merge_requests/180) Type arguments of `coerceWrap` and `coerceUnwrap` are flipped. This change concerns you if you used type application on these functions. 0.5.0 ===== * Require `morley-prelude` to be ≥ 0.3.0 to make Hackage happy. * [!156](https://gitlab.com/morley-framework/morley/merge_requests/156) Consider annotations in PACK and UNPACK. 0.4.0 ===== * Implemented most of Babylon changes: new instructions, elimination of `big_map` restructions, new restrictions for the `contract` type, partial support for entrypoints. Some instructions have been removed/deprecated. * Many updates of helper data types for upgradeable contracts: `UParam` and `UStore`. * Michelson printer can produce pretty output, not just one line. * Added utilities for contract processing and analysis: optimizer, string transformer, errors transformer, analyzer. * Added `tasty` helpers to the testing engine. * Added annotations to typed representation and Lorentz. * Added automatic documentation generator. * Modified standard errors in Lorentz: now they are based on `CustomError`. * Added unpacking from readable representation. * Removed `parameter` and `storage` aliases, they were not very useful and complicated the code. * Extended cryptographic types and `Address` to work with other curves (tz2 and tz3 addresses). * Made it nearly impossible to generate dead code (which is illegal in Michelson) using Lorentz. * Various bug fixes. 0.3.0.1 ======= * Update maintainer. 0.3.0 ===== * [TM-68](https://issues.serokell.io/issue/TM-68) Lorentz DSL which allows one to write contracts directly in Haskell. May be moved to a separate package later. * [TM-132](https://issues.serokell.io/issue/TM-132) Names for contracts in integrational tests. * [TM-35](https://issues.serokell.io/issue/TM-35) `PACK` and `UNPACK` instructions. * [TM-27](https://issues.serokell.io/issue/TM-27) Proper handling of `FAILWITH`. * [TM-44](https://issues.serokell.io/issue/TM-44) [TM-124](https://issues.serokell.io/issue/TM-124) Reorganization of modules. * Bug fixes. 0.2.0.1 ======= * Update documentation and metadata. 0.2.0 ===== Initial release. * Typechecker and interpreter for Michelson. * Morley extensions: - syntax sugar - let-blocks - inline assertions * EDSL for unit testing and integrational testing