forked from OCamlPro/liquidity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
101 lines (90 loc) · 3.55 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
0.32 2018-07-11
NEW FEATURES
* Compatibility with Tezos's Betanet
* New calling convention, Contract.transfer returns an operations
which has to be returned
* Current.failwith : 'a -> 'b, instead of fail
* Type bytes, and 0xab... bytes constants
* Bytes.pack, Bytes.unpack
* Type address
* Contract and address constants (KT1..., tz...)
* Type big_map, and constants BigMap [...], and BigMap.find,
BigMap.add, BigMap.remove, BigMap.update
* New compilation of Map/Set/List.map
* New instruction Map/Set/List.map_fold
* Current.self renamed to Contract.self
* New functions Crypto.blake2b/sha256/sha512 instead of Crypto.hash
* Current.sender
* Remove Contract.manager
* (Contract.at <addr> : p contract option)
IMPROVEMENTS
* Better locations reporting
* Show runtime failures source locations
* Light type inferrence in specific places
* Unary negation on int and tez
* Somewhat better error messages
* Compile with OCaml 4.06.1
* Better decompilation naming heuristic
BUG FIXES
* Fix issue with decompiling multiple nested failing branches
* Fix issue with decompilation of ITER
* Fix some incorrect peephole optimizations
* Reject maps and sets with non comparable keys
0.14 2018-01-23
NEW FEATURES
* Support for decompilation of ITER
* New instructions Map.iter, Set.iter, List.iter
* Storage initializer
* Run Liquidity contracts on Tezos node directly (--run)
* Deploy Liquidity contracts on Tezos node directly (--deploy)
* Call Liquidity contracts on Tezos node directly (--call)
* Retrieve Tezos contract storage in Liquidity syntax (--get-storage)
IMPROVEMENTS
* Define type abbreviations when decompiling
* Support timestamp date with Z timezone
* Encode reduce with closures using ITER
* Constant of type signature start with backquote and are hex encoded
* Ready for javascript compilation
BUG FIXES
* int and nat are not comparable
* bool is comparable
* Division on type tez
0.13 2017-11-30
NEW FEATURES
* match%nat construct for int -> nat coercion
* abs is now int -> int
* Command line options --parse-only, --type-only
* Command line options --single-line, --compact to output
Michelson on a single line
* Support &&, || Boolean connectors
* Support Map.add, Map.remove, Set.add, Set.remove
* Lambda types are now written as t1 -> t2 instead of
(t1, t2) lambda
* Constant amounts written as litterals: 1.00tz
* Constant keys and key_hashes as litterals: edpk... tz1...
* Timestamps as litterals in ISO-8601 format
IMPROVEMENTS
* Split typechecking and encoding phases
* Allow transfers in conditions (for if-then-else and match)
* Encode to constants when possible
* Better error messages
* Accept any name for result of Contract.call
* Recover variable names when decompiling
BUG FIXES
* Fix bug in encoding of closures
* Fix bug in compilation of branches with transfers
0.11 2017-10-16
NEW FEATURES
* Compilation of Liquidity contracts to OCaml bytecode
* Deconstruct tuples in let, fun and pattern matching
* Support _ for pattern
* OCaml syntax for return type of contract's entry point
* Support for type key_hash
IMPROVEMENTS
* Allow compilation without Tezos
* Better error messages
* Error location in Michelson source when decompiling
* Declare type storage when decompiling
* More efficient encoding of closures
0.1 2017-10-05
Initial release