Skip to content

WAMR-2.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 23 Apr 06:14
7bdea3c

Breaking Changes

  • The AOT ABI was changed after GC and memory64 features were introduced:
    • Implement GC feature for interpreter, AOT and LLVM-JIT (#3125)
    • Implement memory64 for classic interpreter (#3266)
    • Always allocate linear memory using mmap (#3052)
    • Refactor APIs and data structures as preliminary work for Memory64 (#3209)
  • Remove unused argument in wasm_runtime_lookup_function (#3218)
  • Separate app-manager and app-framework from WAMR (#3129)

New Features

  • Implement GC feature for interpreter, AOT and LLVM-JIT (#3125)
  • Implement memory64 for classic interpreter (#3266)
  • Add wasi_ephemeral_nn module support (#3241)

Bug Fixes

  • EH: Fix broken stack usage calculation (#3121)
  • Fix loader check_wasi_abi_compatibility (#3126)
  • Fix possible integer overflow in loader target block check (#3133)
  • Fix locel.set in polymorphic stack (#3135)
  • Fix threads opcodes' boundary check in classic-interp and fast-interp (#3136)
  • fast-interp: Fix copy_stack_top_i64 overlap issue (#3146)
  • Fix a ubsan complaint "applying zero offset to null pointer" (#3160)
  • fast-interp: Fix GC opcode ref.as_non_null (#3156)
  • Fix llvm jit push funcref/externref result type issue (#3169)
  • Fix wasm loader handling opcode br_table (#3176)
  • Fix ref.func opcode check when GC is enabled (#3181)
  • lldb_function_to_function_dbi: Fix a null dereference (#3189)
  • Fix compilation errors on MinGW (#3217)
  • Fix compilation errors on esp-idf platform (#3224)
  • Fix aot relocation symbols not found on windows 32-bit (#3231)
  • posix_file.c: Correct the dirfd argument that passes to fstatat (#3244)
  • Fix compilation errors on zephyr platform (#3255)
  • Fix dynamic offset not updated in op_br for block with ret type (#3269)
  • aot debug: Fix a NULL dereference (#3274)
  • thread mgr: Free aux stack only when it was allocated (#3282)
  • interp: Restore context from prev_frame after tail calling a native function (#3283)
  • Sync simd opcode definitions spec (#3290)
  • Fix posix_fadvise error handling (#3323)
  • Fix windows relocation string parsing issue (#3333)

Enhancements

  • Zero the memory mapped from os_mmap in NuttX (#3132)
  • Use logger for runtime error/debug prints (#3097)
  • aot_compile_op_call: Stop setting calling convention explicitly (#3140)
  • aot compiler: Place precheck wrapper before the corresponding wrapped function (#3141)
  • Fix null pointer access in fast-interp when configurable soft bound check is enabled (#3150)
  • Clarify how to verify SGX evidence without an Intel SGX-enabled platform (#3158)
  • zephyr: Use zephyr sys_cache instead of CMSIS (#3162)
  • VSCode IDE enhancement and readme update (#3172)
  • Add vprintf override for android and esp-idf (#3174)
  • zephyr: Include math only with minimal libc (#3177)
  • zephyr: Implement Alloc_With_System_Allocator (#3179)
  • Use indirect call in pre-checker function to avoid relocation in XIP mode (#3142)
  • Implement the remaining Windows filesystem functions (#3166)
  • Fix LLVM assertion failure and update CONTRIBUTING.md (#3197)
  • Allow overriding max memory on module instantiation (#3198)
  • Get location info from function indexes in addr2line script (#3206)
  • Demangle function names in stack trace when using addr2line script (#3211)
  • Refactor APIs and data structures as preliminary work for Memory64 (#3209)
  • Allow converting the zero wasm address to native (#3215)
  • Small refactor on WASMModuleInstance and fix Go/Python language bindings (#3227)
  • Add esp32c6 support (#3234)
  • Make android platform's cmake flags configurable (#3239)
  • Go binding: Change C.long to C.int64_t when call wasm_runtime_set_wasi_args_ex (#3235)
  • Implement apis to set and get the name of a wasm module (#3254)
  • Append '\0' to every name string in aot name section (#3249)
  • Add cmake flag to control aot intrinsics (#3261)
  • Add lock and ref_count for runtime init (#3263)
  • nuttx: Migrate NuttX CMake build for WAMR (#3256)
  • LLVM 19: Switch to debug records (#3272)
  • aot debug: Process lldb_function_to_function_dbi only for C (#3278)
  • Fix warnings/issues reported in Windows and by CodeQL/Coverity (#3275)
  • Enhance wasm loading with LoadArgs and support module names (#3265)
  • Add wamr to esp-idf components registry (#3287)
  • zephyr: Add missing pthread library functions (#3291)
  • Add more checks in wasm loader (#3300)
  • Log warning if growing table failed (#3310)
  • Enhance GC subtyping checks (#3317)
  • User defined memory allocator for different purposes (#3316)
  • Add a comment on WASM_STACK_GUARD_SIZE (#3332)
  • Allow executing malloc/free from native in memory64 mode (#3315)
  • Add functions to expose module import/export info (#3330)

Others

  • Add ARM MacOS to the CI (#3120)
  • Download jetstream src from github instead of browserbench.org (#3196)
  • Update document to add wamr-rust-sdk introduction (#3204)
  • Fix nightly run tsan ASLR issue (#3233)
  • Add CodeQL Workflow for Code Security Analysis (#2812)
  • Add issue templates (#3248)
  • Fix CI error when install packages for macos-14 (#3270)
  • Update document for GC, exception handling and memory64 features (#3284)
  • Update release CI (#3295)
  • Add native-stack-overflow sample (#3321)