From 06e6138de1d34764d6bb5c5272ad25937a8dfc6a Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Mon, 25 Nov 2019 11:38:41 +0100 Subject: [PATCH 1/4] Merge release notes for 4.0.0 release candidates into 4.0.0 entry --- CHANGELOG.md | 48 ++++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f27a4a7..3730c99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,47 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - `Address.to_contract` - casts an address to a (any) contract type. - Pragma to check compiler version, e.g. `@compiler >= 4.0`. -### Changed -- Nice type error if contract function is called as from a namespace. -- Fail on function definitions in contracts other than the main contract. -- Bug fix in variable optimization - don't discard writes to the store/state. -### Removed - -## [4.0.0-rc5] - 2019-09-27 -### Added -### Changed -- Bug fixes in error reporting. -- Bug fix in variable liveness analysis for FATE. -### Removed - -## [4.0.0-rc4] - 2019-09-13 -### Added - Handle numeric escapes, i.e. `"\x19Ethereum Signed Message:\n"`, and similar strings. -### Changed -### Removed - -## [4.0.0-rc3] - 2019-09-12 -### Added - `Bytes.concat` and `Bytes.split` are added to be able to (de-)construct byte arrays. - `[a..b]` language construct, returning the list of numbers between `a` and `b` (inclusive). Returns the empty list if `a` > `b`. - [Standard libraries] (https://github.com/aeternity/protocol/blob/master/contracts/sophia_stdlib.md) - Checks that `init` is not called from other functions. -### Changed -- Error messages are changed into a uniform format, and more helpful - messages have been added. -- `Crypto.` and `String.` for byte arrays now only - hash the actual byte array - not the internal ABI format. -- More strict checks for polymorphic oracles and higher order oracles - and entrypoints. -- `AENS.claim` is updated with a `NameFee` field - to be able to do - name auctions within contracts. -- Fixed a bug in `Bytes.to_str` for AEVM. -### Removed - -## [4.0.0-rc1] - 2019-08-22 -### Added - FATE backend - the compiler is able to produce VM code for both `AEVM` and `FATE`. Many of the APIs now take `{backend, aevm | fate}` to decide wich backend to produce artifacts for. @@ -70,6 +36,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 that shall be able to receive funds should be marked as payable. `Address.is_payable(a)` can be used to check if an (contract) address is payable or not. ### Changed +- Nice type error if contract function is called as from a namespace. +- Fail on function definitions in contracts other than the main contract. +- Bug fix in variable optimization - don't discard writes to the store/state. +- Bug fixes in error reporting. +- Bug fix in variable liveness analysis for FATE. +- Error messages are changed into a uniform format, and more helpful + messages have been added. +- `Crypto.` and `String.` for byte arrays now only + hash the actual byte array - not the internal ABI format. +- More strict checks for polymorphic oracles and higher order oracles + and entrypoints. +- `AENS.claim` is updated with a `NameFee` field - to be able to do + name auctions within contracts. +- Fixed a bug in `Bytes.to_str` for AEVM. - New syntax for tuple types. Now 0-tuple type is encoded as `unit` instead of `()` and regular tuples are encoded by interspersing inner types with `*`, for instance `int * string`. Parens are not necessary. Note it only affects the types, values remain as their were before, From 025c83788605ea14ec64d0092472817ee56ce47c Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Mon, 25 Nov 2019 11:52:42 +0100 Subject: [PATCH 2/4] 4.1.0-rc1 change log --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3730c99..8220282 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed ### Removed +## [4.1.0-rc1] - 2019-11-25 +### Added +- Add functionality to check if bytecode from the chain was compiled from given + source code. In `aesophia_cli`: + ``` + aesophia_cli --validate cb_... MyContract.aes + ``` + In `aesophia_http`: `validate-byte-code` entrypoint. +- Support encoding and decoding bit fields in call arguments and results. +### Changed +- Fix bug with standard library includes in `aesophia_cli`. +- Various improvements to FATE code generator. +### Removed + ## [4.0.0] - 2019-10-11 ### Added - `Address.to_contract` - casts an address to a (any) contract type. From 8984ecc32d9c0b30252e74a0075fbf1eb4491fd8 Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Mon, 25 Nov 2019 11:55:31 +0100 Subject: [PATCH 3/4] Bump version numbers --- rebar.config | 2 +- src/aesophia.app.src | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rebar.config b/rebar.config index e5ca552..194fe6f 100644 --- a/rebar.config +++ b/rebar.config @@ -15,7 +15,7 @@ {base_plt_apps, [erts, kernel, stdlib, crypto, mnesia]} ]}. -{relx, [{release, {aesophia, "4.0.0"}, +{relx, [{release, {aesophia, "4.1.0-rc1"}, [aesophia, aebytecode, getopt]}, {dev_mode, true}, diff --git a/src/aesophia.app.src b/src/aesophia.app.src index d22866c..7efc2aa 100644 --- a/src/aesophia.app.src +++ b/src/aesophia.app.src @@ -1,6 +1,6 @@ {application, aesophia, [{description, "Contract Language for aeternity"}, - {vsn, "4.0.0"}, + {vsn, "4.1.0-rc1"}, {registered, []}, {applications, [kernel, From d4c9d369b1972628ffb4c765a86ddd9a70e54637 Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Mon, 25 Nov 2019 12:07:05 +0100 Subject: [PATCH 4/4] Remove aesophia_cli and aesophia_http stuff from change log --- CHANGELOG.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8220282..7b4b022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,15 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [4.1.0-rc1] - 2019-11-25 ### Added -- Add functionality to check if bytecode from the chain was compiled from given - source code. In `aesophia_cli`: - ``` - aesophia_cli --validate cb_... MyContract.aes - ``` - In `aesophia_http`: `validate-byte-code` entrypoint. - Support encoding and decoding bit fields in call arguments and results. ### Changed -- Fix bug with standard library includes in `aesophia_cli`. - Various improvements to FATE code generator. ### Removed