Fizzy 0.7.0
With this release we aim to provide a much improved C and Rust API, including a clear separation of i32 and i64 types.
Fizzy passes all of the official WebAssembly 1.0 tests. We are maintaining the WebAssembly 1.0 test suite
with corrections and additions backported from the WebAssembly specification master branch. For this
Fizzy release the snapshot from 2021-02-12 is used:
- 19044 of 19044 binary parser and execution tests,
- 1009 of 1009 validation tests,
- 499 skipped due to testing text format parser.
There are no performance changes expected nor observed in this release.
With one exception: the i32
member added to the Value
union causes machine code being generated with different layout.
This may impact the execution performance depending on the compiler and build configuration.
In some isolated cases differences up to ±30% were observed.
Added
Value
union now has a separatei32
member instead of putting 32-bit integers intoi64
. #517 #702- New function to resolve imported globals by name similar to
resolve_imported_functions
. #637 #697 - Public C API:
- Inspecting module's type and global definitions. #675
- Check if module has table, memory, or start function. #684 #685
- Inspecting module's import definitions. #683
- Inspecting module's export definitions. #686
fizzy_resolve_instantiate
now resolves imported globals besides functions. #660- Example of usage added to README.md. #682
- Rust bindings:
- Doxygen config added and documentation generated on CI. #692 #703
Changed
- Changed maximum call depth level to 2047. #669
fizzy::ExternalFunction
now usesspan
type to represent input and output types of a function. #668- C API minor optimizations. #699
- Rust bindings build and CI improvements. #706 #717 #731
- Support building for ARM architecture and test it on CI. #714
- Unit tests are now checking the types of arguments passed to
execute()
and the type of returned result. #655 #659 #687 - Other unit test additions and improvements. #648 #679 #680 #688 #701 #711 #712 #732 #733 #742
- Test utils improvements. #651 #691 #695 #704 #715 #718 #721 #741
- Updated WebAssembly spec test suite. #690
- Documentation comments improvements. #681 #707
- Hunter dependencies updated. #736
- uvwasi library repository address updated. #693