github WasmEdge/WasmEdge 0.7.3
SSVM 0.7.3

latest releases: 0.14.0, 0.14.0-rc.5, 0.14.0-alpha.4...
3 years ago

0.7.3 (2021-01-22)

Features:

  • Updated the easylogging++ to v9.97.0.
    • Disabled the file logging.
  • Initial supported the WASI host functions for old system (CentOS 6).
    • Updated the WASI subscription insterface.
    • Used pipe for old GLIBC.
  • Added supporting of subcommand in PO.
  • Provided options to toggle white lists of ssvm_process in ssvm tool.
    • --allow-command COMMAND to add a command into white list in ssvm_process host functions.
    • --allow-command-all to allow all commands in ssvm_process host functions.
  • Added the documentation of SSVM ecosystem.

Fixed issues:

  • Fixed the loading issues in file manager.
    • Refined performance and added error handling in readBytes.
    • Fixed LEB128 and ULEB128 decoding and error codes.
  • Fixed security issues of executing commands in ssvm_process host functions.
    • Managed a white list for command execution.

Refactor:

  • Used vector of instance instead of std::unique_ptr in AST nodes.
  • Merged all instruction node classes.
    • Added OpCode::Else instruction.
    • Serialized the instruction sequences. Move out the block body of If, Block, and Loop instructions.
  • Applied the proposal configuration checking in the loader phase.
    • Moved the OpCode and value type validation of proposal configuration checking to loader phase.
    • Fixed the logging message.
    • Added helper functions to clean codes of logging.
  • Refactored the validator for instruction serialization.
    • Removed the duplicated proposal configuration checking done at the loader phase.
    • Serialized the instruction iterating when validating.
  • Refactored the Label in stack manager.
    • Label will record the from instruction iterator that causes entering this label.
    • Removed the next instruction getter in stack manager.
  • Refactored the instruction iterating mechanism in interpreter.
    • Used the program counter to iterate and execute the instructions.
    • Merged all switch cases of OpCode.
  • Moved out AOT related proxy codes and helper functions in interpreter to dependent files.

Tools:

  • Added binfmt supporting for WASM interpreter.
    • Please use the tool tools/ssvm/ssvm-static with the same arguments as ssvm.
  • Provided manylinux* support for legacy operatoring systems
    • manylinux1 is based on CentOS 5.9
    • manylinux2010 is based on CentOS 6
    • manylinux2014 is based on CentOS 7

Tests:

  • Updated file manager tests for LEB128 and ULEB128 decoding.
  • Updated AST tests for refactored AST nodes.
  • Updated instruction tests for refactored instruction nodes.
  • Added PO tests.
  • Added ssvm_process tests.

Don't miss a new WasmEdge release

NewReleases is sending notifications on new releases.