Skip to content

v0.24.0 - 2023-01-31

Compare
Choose a tag to compare
@Robbepop Robbepop released this 31 Jan 15:56
v0.24.0
044d726

Added

  • Added support for the bulk-memory Wasm proposal. (#628)
  • Added support for the reference-types Wasm proposal. (#635)
  • Added ValueType::{is_ref, is_num} methods. (#635)
  • Added Value::{i32, i64, f32, f64, externref, funcref} accessor methods to Value.

Fixed

  • Fix a bug with Table and Memory imports not respecting the current size. (#635)
    • This sometimes led to the problem that valid Table and Memory imports
      could incorrectly be rejected for having an invalid size for the subtype check.
    • This has been fixed as part of the reference-types Wasm proposal implementation.

Changed

  • Use more references in places to provide the compiler with more optimization opportunities. (#634)
    • This led to a speed-up across the board for Wasm targets of about 15-20%.
  • Move the Value type from wasmi_core to wasmi. (#636)
    • This change was necessary in order to support the reference-types Wasm proposal.
  • There has been some consequences from implementing the reference-types Wasm proposal which are listed below:
    • The Value type no longer implements Copy and PartialEq.
    • The From<&Value> for UntypedValue impl has been removed.
    • Remove some From impls for Value.
    • Moved some Display impls for types like FuncType and Value to the wasmi_cli crate.
    • Remove the try_into API from the Value type.
      • Users should use the new accessor methods as in the Wasmtime API.

Internal

  • Update wast dependency from version 0.44 to 0.52. (#632)
  • Update the Wasm spec testsuite to the most recent commit: 3a04b2cf9
  • Improve error reporting for the internal Wasm spec testsuite runner.
    • It will now show proper span information in many more cases.