aquavm/CHANGELOG.md

97 lines
4.6 KiB
Markdown
Raw Normal View History

## Version 0.15.0 (2021-09-30)
[PR 140](https://github.com/fluencelabs/aquavm/pull/130):
- 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 the `invoke` 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](https://github.com/fluencelabs/aquavm/pull/144)
The interpreter changed to be built with `unwind` panic handler and some other debug options were turned on.
[PR 139](https://github.com/fluencelabs/aquavm/pull/139)
Senders in `RequestSentBy` could be different now.
[PR 138](https://github.com/fluencelabs/aquavm/pull/138)
The computation algo for `subtrace_len` was completely refactored.
[PR 136](https://github.com/fluencelabs/aquavm/pull/136)
`serde` and `serde_json` crates were used without locking their version
[PR 133](https://github.com/fluencelabs/aquavm/pull/133)
fixed bug with applying json path to an empty stream
[PR 132](https://github.com/fluencelabs/aquavm/pull/132)
fix bug with json flattening
2021-08-24 16:14:15 +03:00
## Version 0.14.0 (2021-08-24)
[PR 74](https://github.com/fluencelabs/aquavm/pull/74):
2021-08-24 16:14:15 +03:00
- 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](https://github.com/fluencelabs/aquavm/pull/121))
## Version 0.10.7 (2021-07-01)
- add support of a particle file vault ([PR 120](https://github.com/fluencelabs/aquavm/pull/120))
## Version 0.10.6 (2021-06-10)
- fixed the error message for incorrect json path in `%last_error%` ([PR 119](https://github.com/fluencelabs/aquavm/pull/119))
## Version 0.10.5 (2021-06-10)
- json path applied to scalar values becomes non-joinable ([PR 118](https://github.com/fluencelabs/aquavm/pull/118))
## Version 0.10.4 (2021-06-09)
- `%last_error%` includes `peer_id` now, that contains id of a peer where an error occurred ([PR 117](https://github.com/fluencelabs/aquavm/pull/117)).
## Version 0.10.3-0.10.1 (2021-06-04)
- improved logger initialization and interface for wasm-bindgen target ([PR 116](https://github.com/fluencelabs/aquavm/pull/116), [PR 115](https://github.com/fluencelabs/aquavm/pull/115)).
## Version 0.10.0 (2021-06-09)
- `%last_error%` becomes an object of type
```rust
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](https://github.com/fluencelabs/aquavm/pull/112)).
2020-11-11 14:43:26 +03:00
## Version 0.1.3 (2020-11-11)
2021-10-05 20:08:10 +03:00
- Switched to the new LALRPOP parser ([PR 13](https://github.com/fluencelabs/aquavm/pull/13)):
- arguments should be wrapped with square braces []
2020-11-11 14:43:26 +03:00
- empty results in call allowed and lead to forget a call result
- Added a few benchmarks
2021-10-05 20:08:10 +03:00
- Fixed behaviour of the Xor instruction with inner Par instructions ([PR 19](https://github.com/fluencelabs/aquavm/pull/19))
- Iterator in the Fold becomes resolvable ([PR 23](https://github.com/fluencelabs/aquavm/pull/23))
2020-11-11 14:43:26 +03:00
2020-10-30 20:29:05 +03:00
## Version 0.1.2 (2020-10-29)
2021-10-05 20:08:10 +03:00
- Added new data format ([PR 12](https://github.com/fluencelabs/aquavm/pull/12)):
2020-10-30 20:29:05 +03:00
- 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
2021-02-17 23:36:36 +03:00
- interpreter decoupled into two crates: `interpreter-lib` and `interpreter`. To build it for the FCE target the `fce` feature should be specified (`fce build --features fce`)
2020-10-30 20:29:05 +03:00
## Version 0.1.1 (2020-10-23)
2021-10-05 20:08:10 +03:00
- Added join behaviour ([PR 11](https://github.com/fluencelabs/aquavm/pull/11)):
2020-10-30 20:29:05 +03:00
- 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