diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b15fa7..d96b23f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added +- New builtin function `require : (bool, string) => ()`. Defined as + ``` + function require(b, err) = if(!b) abort(err) + ``` +- New builtin functions + ``` + Bytes.to_str : bytes(_) => string + Bytes.to_int : bytes(_) => int + ``` + for converting a byte array to a hex string and interpreting it as a + big-endian encoded integer respectively. ### Changed +- Public contract functions must now be declared as *entrypoints*: + ``` + contract Example = + // Exported + entrypoint exported_fun(x) = local_fun(x) + // Not exported + function local_fun(x) = x + ``` + Functions in namespaces still use `function` (and `private function` for + private functions). +- The return type of `Chain.block_hash(height)` has changed, it used to + be `int`, where `0` denoted an incorrect height. New return type is + `option(hash)`, where `None` represents an incorrect height. +- Event name hashes now use BLAKE2b instead of Keccak256. +- Fixed bugs when defining record types in namespaces. +- Fixed a bug in include path handling when passing options to the compiler. ### Removed ## [3.1.0] - 2019-06-03