mirror of
https://github.com/fluencelabs/aquavm
synced 2024-12-04 23:20:18 +00:00
4a4fc0889b
Co-authored-by: folex <0xdxdy@gmail.com> Co-authored-by: Pavel Murygin <pavel.murygin@gmail.com>
4.6 KiB
4.6 KiB
Version 0.15.0 (2021-09-30)
- the interpreter become async, now it's a pure function without any imports from a peer. Instead of calling import
call_service
from a peer, it now returns call results in the outcome structure, and receives their result in theinvoke
export. - data structure now includes a new field to track last call request id to give peer more freedom.
- AVM server was completely refactored to support the new interpreter model and to expose a new trait storing data for a node.
PR 144
The interpreter changed to be built with unwind
panic handler and some other debug options were turned on.
PR 139
Senders in RequestSentBy
could be different now.
PR 138
The computation algo for subtrace_len
was completely refactored.
PR 136
serde
and serde_json
crates were used without locking their version
PR 133
fixed bug with applying json path to an empty stream
PR 132
fix bug with json flattening
Version 0.14.0 (2021-08-24)
- introduced a new CRDT-like data format for streams:
- call results contains different values for streams and scalars
- introduced a new state for fold whose iterables are streams
- merging scheme was rewritten, and became lazy
- refactor the internal value mechanism
- introduced a new instruction
(ap
responsible for applying json path to scalars and save results as a new scalar or add it to a stream. In the second case it'll produce a new state in a data. - introduced a new string literal
[]
represents empty array
Version 0.10.8 (2021-07-06)
- improve the error message of the invalid executed state error (PR 121)
Version 0.10.7 (2021-07-01)
- add support of a particle file vault (PR 120)
Version 0.10.6 (2021-06-10)
- fixed the error message for incorrect json path in
%last_error%
(PR 119)
Version 0.10.5 (2021-06-10)
- json path applied to scalar values becomes non-joinable (PR 118)
Version 0.10.4 (2021-06-09)
%last_error%
includespeer_id
now, that contains id of a peer where an error occurred (PR 117).
Version 0.10.3-0.10.1 (2021-06-04)
Version 0.10.0 (2021-06-09)
%last_error%
becomes an object of type
pub struct LastError {
/// text representation of an instruction that caused the last error
pub instruction: String,
/// text representation of an error message
pub msg: String,
}
and it's possible to address its fields separately: %last_error%.$.instruction
, %last_error%.$.msg
(PR 112).
Version 0.1.3 (2020-11-11)
-
Switched to the new LALRPOP parser (PR 13):
- arguments should be wrapped with square braces []
- empty results in call allowed and lead to forget a call result
-
Added a few benchmarks
-
Fixed behaviour of the Xor instruction with inner Par instructions (PR 19)
-
Iterator in the Fold becomes resolvable (PR 23)
Version 0.1.2 (2020-10-29)
- Added new data format (PR 12):
- previously data was a hashmap with variable names to values, and now it is call evidence path that contains call and par evidence states
- logger is refactored and supports now several log targets
- interpreter decoupled into two crates:
interpreter-lib
andinterpreter
. To build it for the FCE target thefce
feature should be specified (fce build --features fce
)
Version 0.1.1 (2020-10-23)
- Added join behaviour (PR 11):
- if
call
uses non existing variable, it is just being passed and isn't executed without any error par
becomes completed when at least one of its subtree is completed
- if