Releases
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 (#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 )
You can’t perform that action at this time.