@@ -5,7 +5,82 @@ Documentation of all notable changes to the **Fizzy** project.
55The format is based on [ Keep a Changelog] ,
66and this project adheres to [ Semantic Versioning] .
77
8- ## [ 0.7.0] - unreleased
8+ ## [ 0.7.0] — unreleased
9+
10+ With this release we aim to provide a much improved C and Rust API, including a clear separation of i32 and i64 types.
11+
12+ Fizzy passes all of the official WebAssembly 1.0 tests. We are maintaining the WebAssembly 1.0 test suite
13+ with corrections and additions backported from the WebAssembly specification master branch. For this
14+ Fizzy release [ the snapshot from 2021-02-12] ( https://github.com/wasmx/wasm-spec/tree/w3c-1.0-tests-backported-20210212/test/core ) is used:
15+ - 19044 of 19044 binary parser and execution tests,
16+ - 1009 of 1009 validation tests,
17+ - 499 skipped due to testing text format parser.
18+
19+ There are no performance changes expected nor observed in this release.
20+ With one exception: the ` i32 ` member added to the ` Value ` union causes machine code being generated with different layout.
21+ This may impact the execution performance depending on the compiler and build configuration.
22+ In some isolated cases differences up to ±30% were observed.
23+
24+ ### Added
25+
26+ - ` Value ` union now has a separate ` i32 ` member instead of putting 32-bit integers into ` i64 ` .
27+ [ #517 ] ( https://github.com/wasmx/fizzy/pull/517 ) [ #702 ] ( https://github.com/wasmx/fizzy/pull/702 )
28+ - New function to resolve imported globals by name similar to ` resolve_imported_functions ` .
29+ [ #637 ] ( https://github.com/wasmx/fizzy/pull/637 ) [ #697 ] ( https://github.com/wasmx/fizzy/pull/697 )
30+ - Public C API:
31+ - Inspecting module's type and global definitions. [ #675 ] ( https://github.com/wasmx/fizzy/pull/675 )
32+ - Check if module has table, memory, or start function.
33+ [ #684 ] ( https://github.com/wasmx/fizzy/pull/684 ) [ #685 ] ( https://github.com/wasmx/fizzy/pull/685 )
34+ - Inspecting module's import definitions. [ #683 ] ( https://github.com/wasmx/fizzy/pull/683 )
35+ - Inspecting module's export definitions. [ #686 ] ( https://github.com/wasmx/fizzy/pull/686 )
36+ - ` fizzy_resolve_instantiate ` now resolves imported globals besides functions.
37+ [ #660 ] ( https://github.com/wasmx/fizzy/pull/660 )
38+ - Example of usage added to [ README.md] ( ./README.md#building-and-using ) .
39+ [ #682 ] ( https://github.com/wasmx/fizzy/pull/682 )
40+ - Rust bindings:
41+ - Memory manipulation functions added. [ #609 ] ( https://github.com/wasmx/fizzy/pull/609 )
42+ - Safe ` execute ` function with typed value and execution added. It performs type checking on function and passed arguments.
43+ [ #652 ] ( https://github.com/wasmx/fizzy/pull/652 ) [ #705 ] ( https://github.com/wasmx/fizzy/pull/705 )
44+ [ #725 ] ( https://github.com/wasmx/fizzy/pull/725 )
45+ - ` Module ` can be cloned. [ #719 ] ( https://github.com/wasmx/fizzy/pull/719 )
46+ - Example of usage added. [ #724 ] ( https://github.com/wasmx/fizzy/pull/724 )
47+ - Errors are returned as string error messages.[ #743 ] ( https://github.com/wasmx/fizzy/pull/743 )
48+ - Doxygen config added and documentation generated on CI. [ #692 ] ( https://github.com/wasmx/fizzy/pull/692 )
49+ [ #703 ] ( https://github.com/wasmx/fizzy/pull/703 )
50+
51+ ### Changed
52+
53+ - Changed maximum call depth level to 2047. [ #669 ] ( https://github.com/wasmx/fizzy/pull/669 )
54+ - ` fizzy::ExternalFunction ` now uses ` span ` type to represent input and output types of a function.
55+ [ #668 ] ( https://github.com/wasmx/fizzy/pull/668 )
56+ - C API minor optimizations. [ #699 ] ( https://github.com/wasmx/fizzy/pull/699 )
57+ - Rust bindings build and CI improvements. [ #706 ] ( https://github.com/wasmx/fizzy/pull/706 )
58+ [ #717 ] ( https://github.com/wasmx/fizzy/pull/717 ) [ #731 ] ( https://github.com/wasmx/fizzy/pull/731 )
59+ - Support building for ARM architecture and test it on CI. [ #714 ] ( https://github.com/wasmx/fizzy/pull/714 )
60+ - Unit tests are now checking the types of arguments passed to ` execute() ` and the type of returned result.
61+ [ #655 ] ( https://github.com/wasmx/fizzy/pull/655 ) [ #659 ] ( https://github.com/wasmx/fizzy/pull/659 )
62+ [ #687 ] ( https://github.com/wasmx/fizzy/pull/687 )
63+ - Other unit test additions and improvements. [ #648 ] ( https://github.com/wasmx/fizzy/pull/648 )
64+ [ #679 ] ( https://github.com/wasmx/fizzy/pull/679 ) [ #680 ] ( https://github.com/wasmx/fizzy/pull/680 )
65+ [ #688 ] ( https://github.com/wasmx/fizzy/pull/688 ) [ #701 ] ( https://github.com/wasmx/fizzy/pull/701 )
66+ [ #711 ] ( https://github.com/wasmx/fizzy/pull/711 ) [ #712 ] ( https://github.com/wasmx/fizzy/pull/712 )
67+ [ #732 ] ( https://github.com/wasmx/fizzy/pull/732 ) [ #733 ] ( https://github.com/wasmx/fizzy/pull/733 )
68+ [ #742 ] ( https://github.com/wasmx/fizzy/pull/742 )
69+ - Test utils improvements. [ #651 ] ( https://github.com/wasmx/fizzy/pull/651 )
70+ [ #691 ] ( https://github.com/wasmx/fizzy/pull/691 ) [ #695 ] ( https://github.com/wasmx/fizzy/pull/695 )
71+ [ #704 ] ( https://github.com/wasmx/fizzy/pull/704 ) [ #715 ] ( https://github.com/wasmx/fizzy/pull/715 )
72+ [ #718 ] ( https://github.com/wasmx/fizzy/pull/718 ) [ #721 ] ( https://github.com/wasmx/fizzy/pull/721 )
73+ [ #741 ] ( https://github.com/wasmx/fizzy/pull/741 )
74+ - Updated WebAssembly spec test suite. [ #690 ] ( https://github.com/wasmx/fizzy/pull/690 )
75+ - Documentation comments improvements. [ #681 ] ( https://github.com/wasmx/fizzy/pull/681 )
76+ [ #707 ] ( https://github.com/wasmx/fizzy/pull/707 )
77+ - Hunter dependencies updated. [ #736 ] ( https://github.com/wasmx/fizzy/pull/736 )
78+ - uvwasi library repository address updated. [ #693 ] ( https://github.com/wasmx/fizzy/pull/693 )
79+
80+ ### Fixed
81+
82+ - Potential undefined behaviour for functions without locals. [ #630 ] ( https://github.com/wasmx/fizzy/pull/630 )
83+ - Make sure that ` memory.grow ` implementation doesn't throw exceptions. [ #737 ] ( https://github.com/wasmx/fizzy/pull/737 )
984
1085## [ 0.6.0] — 2020-12-24
1186
0 commit comments