Skip to content

Releases: wasm3/wasm3

v0.5.0

02 Jun 10:58
Compare
Choose a tag to compare

Awesome updates

New in Wasm3 v0.5.0

  • Multi-Value support ( #23 by @soundandform, @vshymanskyy )
    • Switched to WebAssembly opam-1.1.1 spec tests by default
    • General interpreter refinement and bugfix
  • Bulk memory ops: mem.copy & mem.fill
  • Support Apple M1
  • Continuous fuzzing via OSS-Fuzz
    • Improved security
    • Fixed memory leaks, parse errors, etc.
    • Stack overflow detection in EvaluateExpression
  • Extended API:
    • Globals access: m3_FindGlobal, m3_SetGlobal, m3_GetGlobal, m3_GetGlobalType
    • m3_InjectFunction for dynamic wasm interpretation
  • Option to limit accessible memory: d_m3MaxLinearMemoryPages
  • WASI:
    • Improved wasi_snapshot_preview1 support + wasi_unstable compatibility layer
    • Fixed memory layout of several structures, improved security, etc.
  • Added wasm3-strace prebuilt binary for Win64

Python integration

  • PyWasm3 moved to a separate repo
    • Added a lot of shiny, PyGame-based examples 😁
    • Gas Metering support
    • Multi-Value support, see example usage

New and updated docs

SWUbanner


👉 If you like Wasm3, please give us a GitHub star! 🌟

v0.4.9

12 Mar 00:25
Compare
Choose a tag to compare
  • Structured WebAssembly/WASI tracing.
  • Backtrace recording on traps (by @t-veor).
  • Support exported functions with multiple names (by @atdrendel)
  • Support recursive m3_Call invocation. I.e. calling exported function from within imported function callback.
  • pywasm3 Python module is released. See some colorful examples 😎
  • New API:
    • Exported function signature introspection: m3_GetArgCount, m3_GetRetCount, m3_GetArgType, m3_GetRetType
    • Introspection of imported functions (see IM3ImportContext _ctx argument)
    • Calls with raw arguments, instead of strings: m3_CallV, m3_CallVL, m3_Call
    • Warning: m3_CallWithArgs renamed to m3_CallArgv
    • Get return values: m3_GetResultsV, m3_GetResultsVL, m3_GetResults
    • Get backtrace: m3_GetBacktrace
    • Helpers: m3_GetFunctionName, m3_GetModuleName, m3_GetFunctionModule, m3_GetModuleRuntime
    • m3_RunStart can (optionally) be used to force the dynamic module initialization.
  • Build system:
    • Add BUILD_NATIVE flag (ON by default).
    • Remove d_m3LogOutput, USE_HUMAN_FRIENDLY_ARGS, and other misleading flags.
    • ESP32-C3 support
    • Raspberry Pi Pico (RP2040) support
  • WASI:
    • Improved security via m3ApiCheckMem
    • Whence fixes (by @sinkingsugar)
    • Cosmopolitan Libc support (by @jart)
  • Fix some memory leaks, parse errors, etc.
  • Updated docs

👉 If you like Wasm3, please give us a GitHub star! 🌟

v0.4.8

28 Dec 20:16
Compare
Choose a tag to compare
  • Cosmopolitan build, single file that supports 6 operating systems!
    Download wasm3-cosmopolitan.com below.
  • Static/dynamic NoFloat modes (integer-only wasm subset)
  • "strace" mode (see d_m3EnableStrace)
  • Update uvwasi to version 0.0.11
  • RawFunction unified/extended with RawFunctionEx
  • Multi-value module parsing
  • MinGW support
  • Python bindings
  • Lots of bugfixes, memory usage improvements, infrastructure updates

v0.4.7

27 Apr 20:52
Compare
Choose a tag to compare

v0.4.6

30 Jan 21:38
Compare
Choose a tag to compare
  • ⚠️ Critical interpreter bugfixes 🪲 - thanks @kgdev and @soundandform
  • Make the source directory usable as a CMake library - @igrr
  • Make headers compatible with C++
  • Post-MVP feature: Sign-extension opcodes - by @abalkin
  • Add support for Teensy devices
  • Remove arduino_blink example (now has a separate repo)
  • Restructure docs
  • Update benchmark results

v0.4.5

23 Jan 14:15
e3bc938
Compare
Choose a tag to compare
  • iOS support 📱 - @vshymanskyy
  • ESP32: Add AssemblyScript, Rust and TinyGo blink examples - @vshymanskyy
  • m3.h now deprecated, please use wasm3.h
  • m3_GetMemory API
  • WASI: return exit code on proc_exit call (#59) - @kanaka
  • Increased d_m3MaxNumFunctionArgs to 31
  • Many bugfixes 🪲

Wasm3 can now be used as a library for:

C/C++ GoLang Rust Arduino, PlatformIO, Particle

Cheers 😄

Initial release

09 Jan 16:47
Compare
Choose a tag to compare

This is the initial version of wasm3 - by @soundandform and @vshymanskyy