diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b15fa7..df448ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed ### Removed +## [3.2.0] - 2019-06-28 +### 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 ### Added ### Changed @@ -71,7 +103,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Simplify calldata creation - instead of passing a compiled contract, simply pass a (stubbed) contract string. -[Unreleased]: https://github.com/aeternity/aesophia/compare/v3.1.0...HEAD +[Unreleased]: https://github.com/aeternity/aesophia/compare/v3.2.0...HEAD +[3.2.0]: https://github.com/aeternity/aesophia/compare/v3.1.0...v3.2.0 [3.1.0]: https://github.com/aeternity/aesophia/compare/v3.0.0...v3.1.0 [3.0.0]: https://github.com/aeternity/aesophia/compare/v2.1.0...v3.0.0 [2.1.0]: https://github.com/aeternity/aesophia/compare/v2.0.0...v2.1.0 diff --git a/rebar.config b/rebar.config index aba57e9..e407694 100644 --- a/rebar.config +++ b/rebar.config @@ -15,7 +15,7 @@ {base_plt_apps, [erts, kernel, stdlib, crypto, mnesia]} ]}. -{relx, [{release, {aesophia, "3.1.0"}, +{relx, [{release, {aesophia, "3.2.0"}, [aesophia, aebytecode, getopt]}, {dev_mode, true}, diff --git a/src/aesophia.app.src b/src/aesophia.app.src index 6b16408..f5606a7 100644 --- a/src/aesophia.app.src +++ b/src/aesophia.app.src @@ -1,6 +1,6 @@ {application, aesophia, [{description, "Contract Language for aeternity"}, - {vsn, "3.1.0"}, + {vsn, "3.2.0"}, {registered, []}, {applications, [kernel,