packages feed

cleveland-0.2.1: CHANGES.md

<!-- Unreleased: append new entries here -->


0.2.1
=====
* [!1199](https://gitlab.com/morley-framework/morley/-/merge_requests/1199)
  Replace removed HasTezosClient actions with TezosClient.Impl version.
* [!1212](https://gitlab.com/morley-framework/morley/-/merge_requests/1212)
  Support contract events
  + Untie cleveland operation results from morley-client.
  + Introduce `ContractEvent` type for contract events.
  + Introduce new `WithContractEvents` flag for `transfer`, which tells it to
    return `[ContractEvent]`.
* [!1191](https://gitlab.com/morley-framework/morley/-/merge_requests/1191)
  General cleanup
  + Display contract's aliases in error messages when a transfer fails (emulator-mode only).
* [!1177](https://gitlab.com/morley-framework/morley/-/merge_requests/1177)
  Distinguish implicit/contract aliases and addresses on the type level
* [!1187](https://gitlab.com/morley-framework/morley/-/merge_requests/1187)
  Access MorleyClientEnv in network tests
  + Add `NetworkCaps` carrying `NetworkEnv`.
  + Replace `ScenarioCleveland` with `ScenarioNetwork`.
  + Reimplement `scenario` as a function in `MonadScenario` typeclass.
  + Rename `Scenario` to `Scenario'`, add `Scenario` synonym that bakes in
    `MonadScenario` constraint.
  + Allow `ifEmulation` to access `NetworkCaps` in the on-network branch.
* [!1168](https://gitlab.com/morley-framework/morley/-/merge_requests/1168)
  Support a mix of RPC and non-RPC representations in `runCode`
* [!1137](https://gitlab.com/morley-framework/morley/-/merge_requests/1137)
  Refactor Cleveland's originate\* and `transfer`/`transferMoney`/`call`
  functions
  + All 9 `originate*` functions are replaced with single `originate`,
    optionally accepting initial balance (as `Mutez`) and whether it's a large
    origination (using `Large` argument).
  + `transfer`, `transferMoney` and `call` functions replaced by `transfer` and
    two helpers, `calling` and `unsafeCalling`.

0.2.0
=====
* [!1172](https://gitlab.com/morley-framework/morley/-/merge_requests/1172)
  Add `withChainId` and `withMinBlockTime` functions to set emulator constants.
* [!1123](https://gitlab.com/morley-framework/morley/-/merge_requests/1123)
  Remove deprecated exports
* [!1161](https://gitlab.com/morley-framework/morley/-/merge_requests/1161)
  Remove support for `AliasHint`
* [!1169](https://gitlab.com/morley-framework/morley/-/merge_requests/1169)
  Support MIN_BLOCK_TIME instruction
  + Add `getMinBlockTime` utility to get minimal block delay in seconds as
    `Natural`
* [!1164](https://gitlab.com/morley-framework/morley/-/merge_requests/1164)
  Add `now` and `level` params to the `/run_code`
* [!1162](https://gitlab.com/morley-framework/morley/-/merge_requests/1162)
  Implement instruction to batch-create accounts
* [!1114](https://gitlab.com/morley-framework/morley/-/merge_requests/1114)
  Update to ghc-9.0.2
* [!1108](https://gitlab.com/morley-framework/morley/-/merge_requests/1108)
  Remove support for the deprecated morley extensions
* [!1127](https://gitlab.com/morley-framework/morley/-/merge_requests/1127)
  Create tempdir in Cleveland if datadir is unspecified
  + Instead of mangling user's default tezos-client data directory, when
    a Cleveland test-suite invocation doesn't specify a datadir, use a
    new temporary directory by default.

0.1.2
=====
* [!1050](https://gitlab.com/morley-framework/morley/-/merge_requests/1050)
  Modify resolveAddress to accept AliasHints
* [!1039](https://gitlab.com/morley-framework/morley/-/merge_requests/1039)
  Parameterize generators with a Range
  + `minTimestamp`, `maxTimestamp` and `midTimestamp` are moved to `Hedgehog.Range.Tezos.Core.Timestamp`.
* [!1017](https://gitlab.com/morley-framework/morley/-/merge_requests/1017)
  Resolve some TODOs and link TODOs without issue id to the corresponding gitlab tickets.
* [!1082](https://gitlab.com/morley-framework/morley/-/merge_requests/1082)
  Fix/drop/comment noncanonical Show instances

0.1.1
=====
* [!1113](https://gitlab.com/morley-framework/morley/-/merge_requests/1113)
  Remove uses of `Parser LetEnv` due to redundant constraint.
* [!1094](https://gitlab.com/morley-framework/morley/-/merge_requests/1094)
  Deprecate morley language extensions
  + Functions for importing and testing Morley contracts are added: `Test.Cleveland.Michelson.Import.testTreesWithUntypedContractExt`, `Test.Cleveland.Michelson.Import.testTreesWithTypedContractExt`, `Test.Cleveland.Lorentz.Import.importContractExt`. All these functions are considered deprecated.
* [!965](https://gitlab.com/morley-framework/morley/-/merge_requests/965)
  Use Morley's fixed-size lists
  + Add Hedgehog generators for sized lists.
  + Introduce `enumAliasHints` for generating a sized list of similarly named alias hints.
* [!1072](https://gitlab.com/morley-framework/morley/-/merge_requests/1072)
  Add `runCode` to Cleveland
* [!1070](https://gitlab.com/morley-framework/morley/-/merge_requests/1070)
  Simplify cleveland's internals & public api
  + Relaced the `NiceUnpackedValue (AsRPC st)` constraint in `getStorage`
  + Removed the `NicePackedValue k` constraint from `getAllBigMapValuesMaybe`,
    `getAllBigMapValues`, `getBigMapSizeMaybe`, and `getBigMapSize`.
* [!1025](https://gitlab.com/morley-framework/morley/-/merge_requests/1025)
  Reduce the number of unsafe functions at the call site
  + Remove `unsafeFromHex` converter that is used as counter-part of safe `fromHex` and replaced with `unsafe . fromHex`.
  + Refactor `fromHex` to return `Either` instead of `Maybe`.
  + Add `parseAddressFromHex` helper to get rid of duplicated usages of `parseAddressRaw . unsafe . fromHex`.
* [!978](https://gitlab.com/morley-framework/morley/-/merge_requests/978)
  Make it difficult to misuse 'Show'
  + Use `Buildable` and `pretty` preferrentially.
  + Add `Buildable` instances for `FaluireReason`, `Either a b`.
  + Add `PrettyShow` instances for `TypeSpec` (in lorentz-test) and `Time _` (in cleveland itself)./
  + Avoid using `(+||)` and `(||+)`.
  + Use `Debug.show` when defining `Show` instances.
* [!1058](https://gitlab.com/morley-framework/morley/-/merge_requests/1058)
  Add `Buildable` instances for Unit, tuples up to 8 elements & bytestrings
* [!1057](https://gitlab.com/morley-framework/morley/-/merge_requests/1057)
  Test `Show` and `RenderDoc` instances of `Annotation t`, `AnnotationSet`, `Notes t`, `InstrAbstract op`
* [!997](https://gitlab.com/morley-framework/morley/-/merge_requests/997)
  Check necessity in initial `cast` automatically in Lorentz contracts
* [!1044](https://gitlab.com/morley-framework/morley/-/merge_requests/1044)
  Fix `getRunMode` and `whenEmulated`
  + `getRunMode` is replaced by `ifEmulation` helper.
  + A new helper `whenNetwork` is added.
  + One caveat is that functions passed to `ifEmulation` are universally quantified over the outer monad, so if additional constraints are required beyond `MonadCleveland` or `MonadEmulated`, those constraints have to go on the base monad, e.g. `(MonadCleveland caps m, MonadFail (ClevelandBaseMonad caps)) => m ()`.
ifEmulation.
* [!1043](https://gitlab.com/morley-framework/morley/-/merge_requests/1043)
  Extract actual + expected pattern into a datatype and show diff in type mismatch
* [!1037](https://gitlab.com/morley-framework/morley/-/merge_requests/1037)
  Add synonyms for `SomeConstrainedValue`
  + Reimplement `SomeConstant`, `SomeValue`, `SomeStorage` via `SomeConstrainedValue`.

0.1.0
=====
Initial release extracted from the [morley](https://hackage.haskell.org/package/morley)
and [lorentz](https://hackage.haskell.org/package/lorentz) packages.
Tezos testing framework for contract developed with Michelson, Morley or Lorentz.