3.4 KiB
3.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
Changed
Removed
3.1.0 - 2019-06-03
Added
Changed
- Keyword
indexed
is now optional for word typed (bool
,int
,address
, ...) event arguments. - State variable pretty printing now produce
'a, 'b, ...
instead of'1, '2, ...
. - ACI is restructured and improved:
state
andevent
types (if present) now appear at the top level.- Namespaces and remote interfaces are no longer ignored.
- All type definitions are included in the interface rendering.
- API functions are renamed, new functions are
contract_interface
andrender_aci_json
.
- Fixed a bug in
create_calldata
/to_sophia_value
- it can now handle negative literals.
Removed
3.0.0 - 2019-05-21
Added
stateful
annotations are now properly enforced. Functions must be marked stateful in order to update the state or spend tokens.- Primitives
Contract.creator
,Address.is_contract
,Address.is_oracle
,Oracle.check
andOracle.check_query
has been added to Sophia. - A byte array type
bytes(N)
has been added to generalizehash (== bytes(32))
andsignature (== bytes(64))
and allow for byte arrays of arbitrary fixed length. Crypto.ecverify_secp256k1
has been added.
Changed
- Address literals (+ Oracle, Oracle query and remote contracts) have been changed
from
#<hex>
to address asak_<base58check>
, oracleok_<base58check>
, oracle queryoq_<base58check>
and remote contractct_<base58check>
. - The compilation and typechecking of
letfun
(e.g.let m(f, xs) = map(f, xs)
) was not working properly and has been fixed.
Removed
let rec
has been removed from the language, it has never worked.- The standalone CLI compiler is served in the repo
aeternity/aesophia_cli
and has been completely removed fromaesophia
.
2.1.0 - 2019-04-11
Added
- Stubs (not yet wired up) for compilation to FATE
- Add functions specific for Calldata decoding
- Support for
Auth.tx_hash
, not available in AEVM until Fortuna release
Changed
- Improvements to the ACI generator
2.0.0 - 2019-03-11
Added
- Add
Crypto.ecverify
to the compiler. - Add
Crypto.sha3
,Crypto.blake2
,Crypto.sha256
,String.blake2
andString.sha256
to the compiler. - Add the
bits
type for working with bit fields in Sophia. - Add Namespaces to Sophia in order to simplify using library contracts, etc.
- Add a missig type check on the
init
function - detects programmer errors earlier. - Add the ACI (Aeternity Contract Interface) generator.
Changed
- Use native bit shift operations in builtin functions, reducing gas cost.
- Improve type checking of
record
fields - generates more understandable error messages. - Improved, more coherent, error messages.
- Simplify calldata creation - instead of passing a compiled contract, simply pass a (stubbed) contract string.