From 89971fb275ad8ed1da236b837777d80a6cae764c Mon Sep 17 00:00:00 2001 From: Hans Svensson Date: Tue, 5 Mar 2019 11:01:43 +0100 Subject: [PATCH] Release notes + note on versioning --- README.md | 8 ++++++++ docs/RELEASE-NOTES-2.0.0.md | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 docs/RELEASE-NOTES-2.0.0.md diff --git a/README.md b/README.md index ce08545..2f8bf0c 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ It is an OTP application written in Erlang and is by default included in also be included in other systems to compile contracts coded in sophia which can then be loaded into the æternity system. +## Versioning + +`aesophia` has a version that is only loosely connected to the version of the +Aeternity node - in principle they will share the major version but not +minor/patch version. The `aesophia` compiler version MUST be bumped whenever +there is a change in how byte code is generated, but it MAY also be bumped upon +API changes etc. + ## Interface Modules The basic modules for interfacing the compiler: diff --git a/docs/RELEASE-NOTES-2.0.0.md b/docs/RELEASE-NOTES-2.0.0.md new file mode 100644 index 0000000..ea0f5e3 --- /dev/null +++ b/docs/RELEASE-NOTES-2.0.0.md @@ -0,0 +1,16 @@ +# About this release + +This is the `aesophia` compiler version 2.0.0. The main changes compared to version 1.2.0 are: + +* Add `Crypto.ecverify` to the compiler. +* Add `Crypto.sha3`, `Crypto.blake2`, `Crypto.sha256`, `String.blake2` and + `String.sha256` to the compiler. +* Add the `bits` type for working with bit fields in Sophia. +* Use native bit shift operations in builtin functions, reducing gas cost. +* Add Namespaces to Sophia in order to simplify using library contracts, etc. +* Simplify calldata creation - instead of passing a compiled contract, simply + pass a (stubbed) contract string. +* Add a missig type check on the `init` function - detects programmer errors earlier. +* Improve type checking of `record` fields - generates more understandable error messages. +* Improved, more coherent, error messages. +* Add the ACI (Aeternity Contract Interface) generator.