Releases: TianlongLiang/wasm-micro-runtime
Releases · TianlongLiang/wasm-micro-runtime
WAMR-2.1.2
Breaking Changes
- wasi-nn: Apply new architecture (bytecodealliance#3692)
New Features
- [wasi-nn] Add a new wasi-nn backend openvino (bytecodealliance#3603)
- Add APIs into wasm_c_api.h to summary wasm function execution duration (bytecodealliance#3639)
- Add support for RISCV32 ILP32F (bytecodealliance#3708)
Bug Fixes
- libc-builtin: Fix function prototype for wasm_runtime_module_realloc (bytecodealliance#3702)
- Fix potential memory leak in insert_native_symbol (bytecodealliance#3712)
- aot compiler: Fix NaN handling for opcode f32/f64.const in XIP mode (bytecodealliance#3721)
- Fix table idx resolving in op call_indirect/return_call_indirect (bytecodealliance#3726)
Enhancements
- Remove a few hardcoded spec test knowledge from the core library (bytecodealliance#3648)
- Change log of import function to be consistent (bytecodealliance#3656)
- libc-builtin: Fix a printf format (bytecodealliance#3652)
- Set compile symbol visibility to hidden in cmake (bytecodealliance#3655)
- wamrc: Add --mllvm= option (bytecodealliance#3658)
- wamr-compiler: Avoid size-level tweak if target is specified (bytecodealliance#3659)
- aot runtime: Add missing arm/thumb relocations (bytecodealliance#3660)
- aot compiler: Enlarge AOTNativeSymbol->symbol (bytecodealliance#3662)
- aot compiler: Bail out on too long native symbol names (bytecodealliance#3663)
- Support more features for rt-thread (bytecodealliance#3661)
- Zephyr User Mode Support (bytecodealliance#3650)
- Set posix thread name for debug build (bytecodealliance#3657)
- Add emscripten_sleep() wrapper to libc-emcc (bytecodealliance#3669)
- Fix a compilation warning (bytecodealliance#3682)
- wamrc: Add some help text for --size-level (bytecodealliance#3689)
- Restore linux iwasm default visibility (bytecodealliance#3691)
- posix_thread.c: Restore old signal alternate stack before thread exit (bytecodealliance#3693)
- libc-wasi: Make rights of STDIN/STDOUT/STDERR fixed and overlook their access modes (bytecodealliance#3694)
- [refactoring] Extract read leb to a separate file, share the code between loader and mini loader (bytecodealliance#3701)
- debug-interp: Only add lock when signal_flag is SIG_SINGSTEP (bytecodealliance#3704)
- Fix compilation warnings (bytecodealliance#3707)
- Add missing headers in bh_atomic.h and aot_llvm_extra.cpp (bytecodealliance#3715)
- Update std atomic check and simd compatibility check for arc compiler (bytecodealliance#3716)
- aot compiler: Track non-0x00 tableindex as ref types use (bytecodealliance#3695)
- compilation: Use the dedicated stack-sizes section only for AOT (bytecodealliance#3732)
- riscv: Add missing relocation intrinsics for __fixdfsi/__ltdf2 (bytecodealliance#3733)
Others
- Fix night run CI (bytecodealliance#3640)
- spec-test-script/runtest.py: Don't assume the tmp dir path (bytecodealliance#3632)
- wamr-test-suites: Remove dead code (wasi_test) (bytecodealliance#3634)
- wamr-test-suites/test_wamr.sh: Add an option to specify wamrc binary (bytecodealliance#3635)
- CI: Build llvm for xtensa (bytecodealliance#3637)
- spec-test-script/runtest.py: Avoid specifying -v=0 unnecessarily (bytecodealliance#3642)
- spec-test-script: Add xtensa case (bytecodealliance#3643)
- spec-test-script/runtest.py: Move "--size-level=1" to common place for RISCV64 (bytecodealliance#3644)
- spec-test-script/runtest.py: Use a shorter timeout when expected to fail (bytecodealliance#3647)
- spec-test-script: Make case_last_words larger (bytecodealliance#3651)
- spec-test-script/runtest.py: Reduce stack size for aot w/o gc (bytecodealliance#3653)
- spec-test-script: Skip a few tests for xtensa qemu (bytecodealliance#3664)
- spec-test-script: Use -mtext-section-literals for xtensa xip (bytecodealliance#3666)
- spec_test_on_nuttx.yml: Add xtensa (bytecodealliance#3665)
- spec_test_on_nuttx.yml: Enable xip (bytecodealliance#3671)
- spec_test_on_nuttx.yml: Record more logs (bytecodealliance#3670)
- spec_test_on_nuttx.yml: Replace sed with kconfig-tweak (bytecodealliance#3672)
- spec_test_on_nuttx.yml: Retire CONFIG_EOL_IS_LF (bytecodealliance#3676)
- spec-test-script/runtest.py: Use wamrc --xip option for xip (bytecodealliance#3683)
- CI: Bump NuttX version to 12.6 (bytecodealliance#3684)
- wamr-test-suites: Clean up generated tmp files after spec test (bytecodealliance#3700)
- test_wamr.sh: Fix build wabt tool (bytecodealliance#3703)
- NuttX: Retire CONFIG_ARCH_RV32IM and CONFIG_ARCH_RV64GC (bytecodealliance#3717)
- runtest.py: Normallize option handling for XIP mode (bytecodealliance#3722)
- CI: Enable XIP spectest for RISCV32 ILP32F (bytecodealliance#3727)
- CI: Unify configuration stage for NuttX (bytecodealliance#3725)
WAMR-2.0.0
Breaking Changes
- The AOT ABI was changed after GC and memory64 features were introduced:
- Implement GC feature for interpreter, AOT and LLVM-JIT (bytecodealliance#3125)
- Implement memory64 for classic interpreter (bytecodealliance#3266)
- Always allocate linear memory using mmap (bytecodealliance#3052)
- Refactor APIs and data structures as preliminary work for Memory64 (bytecodealliance#3209)
- Remove unused argument in wasm_runtime_lookup_function (bytecodealliance#3218)
- Separate app-manager and app-framework from WAMR (bytecodealliance#3129)
New Features
- Implement GC feature for interpreter, AOT and LLVM-JIT (bytecodealliance#3125)
- Implement memory64 for classic interpreter (bytecodealliance#3266)
- Add wasi_ephemeral_nn module support (bytecodealliance#3241)
Bug Fixes
- EH: Fix broken stack usage calculation (bytecodealliance#3121)
- Fix loader check_wasi_abi_compatibility (bytecodealliance#3126)
- Fix possible integer overflow in loader target block check (bytecodealliance#3133)
- Fix locel.set in polymorphic stack (bytecodealliance#3135)
- Fix threads opcodes' boundary check in classic-interp and fast-interp (bytecodealliance#3136)
- fast-interp: Fix copy_stack_top_i64 overlap issue (bytecodealliance#3146)
- Fix a ubsan complaint "applying zero offset to null pointer" (bytecodealliance#3160)
- fast-interp: Fix GC opcode ref.as_non_null (bytecodealliance#3156)
- Fix llvm jit push funcref/externref result type issue (bytecodealliance#3169)
- Fix wasm loader handling opcode br_table (bytecodealliance#3176)
- Fix ref.func opcode check when GC is enabled (bytecodealliance#3181)
- lldb_function_to_function_dbi: Fix a null dereference (bytecodealliance#3189)
- Fix compilation errors on MinGW (bytecodealliance#3217)
- Fix compilation errors on esp-idf platform (bytecodealliance#3224)
- Fix aot relocation symbols not found on windows 32-bit (bytecodealliance#3231)
- posix_file.c: Correct the dirfd argument that passes to fstatat (bytecodealliance#3244)
- Fix compilation errors on zephyr platform (bytecodealliance#3255)
- Fix dynamic offset not updated in op_br for block with ret type (bytecodealliance#3269)
- aot debug: Fix a NULL dereference (bytecodealliance#3274)
- thread mgr: Free aux stack only when it was allocated (bytecodealliance#3282)
- interp: Restore context from prev_frame after tail calling a native function (bytecodealliance#3283)
- Sync simd opcode definitions spec (bytecodealliance#3290)
- Fix posix_fadvise error handling (bytecodealliance#3323)
- Fix windows relocation string parsing issue (bytecodealliance#3333)
Enhancements
- Zero the memory mapped from os_mmap in NuttX (bytecodealliance#3132)
- Use logger for runtime error/debug prints (bytecodealliance#3097)
- aot_compile_op_call: Stop setting calling convention explicitly (bytecodealliance#3140)
- aot compiler: Place precheck wrapper before the corresponding wrapped function (bytecodealliance#3141)
- Fix null pointer access in fast-interp when configurable soft bound check is enabled (bytecodealliance#3150)
- Clarify how to verify SGX evidence without an Intel SGX-enabled platform (bytecodealliance#3158)
- zephyr: Use zephyr sys_cache instead of CMSIS (bytecodealliance#3162)
- VSCode IDE enhancement and readme update (bytecodealliance#3172)
- Add vprintf override for android and esp-idf (bytecodealliance#3174)
- zephyr: Include math only with minimal libc (bytecodealliance#3177)
- zephyr: Implement Alloc_With_System_Allocator (bytecodealliance#3179)
- Use indirect call in pre-checker function to avoid relocation in XIP mode (bytecodealliance#3142)
- Implement the remaining Windows filesystem functions (bytecodealliance#3166)
- Fix LLVM assertion failure and update CONTRIBUTING.md (bytecodealliance#3197)
- Allow overriding max memory on module instantiation (bytecodealliance#3198)
- Get location info from function indexes in addr2line script (bytecodealliance#3206)
- Demangle function names in stack trace when using addr2line script (bytecodealliance#3211)
- Refactor APIs and data structures as preliminary work for Memory64 (bytecodealliance#3209)
- Allow converting the zero wasm address to native (bytecodealliance#3215)
- Small refactor on WASMModuleInstance and fix Go/Python language bindings (bytecodealliance#3227)
- Add esp32c6 support (bytecodealliance#3234)
- Make android platform's cmake flags configurable (bytecodealliance#3239)
- Go binding: Change C.long to C.int64_t when call wasm_runtime_set_wasi_args_ex (bytecodealliance#3235)
- Implement apis to set and get the name of a wasm module (bytecodealliance#3254)
- Append '\0' to every name string in aot name section (bytecodealliance#3249)
- Add cmake flag to control aot intrinsics (bytecodealliance#3261)
- Add lock and ref_count for runtime init (bytecodealliance#3263)
- nuttx: Migrate NuttX CMake build for WAMR (bytecodealliance#3256)
- LLVM 19: Switch to debug records (bytecodealliance#3272)
- aot debug: Process lldb_function_to_function_dbi only for C (bytecodealliance#3278)
- Fix warnings/issues reported in Windows and by CodeQL/Coverity (bytecodealliance#3275)
- Enhance wasm loading with LoadArgs and support module names (bytecodealliance#3265)
- Add wamr to esp-idf components registry (bytecodealliance#3287)
- zephyr: Add missing pthread library functions (bytecodealliance#3291)
- Add more checks in wasm loader (bytecodealliance#3300)
- Log warning if growing table failed (bytecodealliance#3310)
- Enhance GC subtyping checks (bytecodealliance#3317)
- User defined memory allocator for different purposes (bytecodealliance#3316)
- Add a comment on WASM_STACK_GUARD_SIZE (bytecodealliance#3332)
- Allow executing malloc/free from native in memory64 mode (bytecodealliance#3315)
- Add functions to expose module import/export info (bytecodealliance#3330)
Others
- Add ARM MacOS to the CI (bytecodealliance#3120)
- Download jetstream src from github instead of browserbench.org (bytecodealliance#3196)
- Update document to add wamr-rust-sdk introduction (bytecodealliance#3204)
- Fix nightly run tsan ASLR issue (bytecodealliance#3233)
- Add CodeQL Workflow for Code Security Analysis (bytecodealliance#2812)
- Add issue templates (bytecodealliance#3248)
- Fix CI error when install packages for macos-14 (bytecodealliance#3270)
- Update document for GC, exception handling and memory64 features (bytecodealliance#3284)
- Update release CI (bytecodealliance#3295)
- Add native-stack-overflow sample (bytecodealliance#3321)