Skip to content

WAMR-2.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 14 May 09:34
c7b2db1

Breaking changes

New features

  • simd for fast-interp (#4131)
  • copy call-stack (#4033)

Bug fixes

  • fix(ios): Remove float-abi flag (#3889)
  • Fix out of bounds issues after memory.grow on non-aot non-threads builds (#3872)
  • Fix out of bounds issue in is_native_addr_in_shared_heap function (#3886)
  • Fix mmap flags for AOT loader on non-Linux SGX platforms (#3890)
  • fix(uwp): Gate NTSTATUS definition behind WINAPI_PARTITION_DESKTOP for UWP builds (#3897)
  • Fix linked global initialization in multimodule (#3905)
  • Correct the table index calculation in aot_instantiation (#3903)
  • Fix a leak in wasm_loader_emit_br_info (#3900)
  • Check possible integer overflow in aot memory boundary check (#3920)
  • Fix CI wamr-ide error (#3913)
  • Fix WASI Path Mapping Processing (#3923)
  • Use plain assignment rather than bh_memcpy_s (#3924)
  • Fix loader small bug (#3928)
  • don't return an uninitialized trap if argv_to_results fails (#3935)
  • support WASM_FUNCREF return type in argv_to_results (#3936)
  • Fix incorrect assignment in win_file.c (#3939)
  • Fix aot table instantiate (#3946)
  • set alignment 4 when loading multi return value (#3955)
  • Only access Zephyr thread stats info when it's available (#3962)
  • top-level cmakefile: fix macOS build (#3968)
  • Handle a new scenario where an item is both exported and imported. (#3984)
  • platform/nuttx: Flush icache/dcache properly (#4147)
  • fix(runtest.py): A workaround to bypass errors that occur when deleting temporary files (#4093)
  • Fix build issues when compiling WAMRC as a cross-compiler (#4112)
  • include bh_platform.h (#4135)
  • Fix iwasm build error when WAMR_BUILD_WASI_NN enabled (#4138)
  • avoid Windows perform newline translation (#4128)
  • fix: correct typos and improve comments across multiple files by codespell (#4116)
  • fix: fix load aarch64 aot failed (#4114)
  • wasm_loader allocates more spaces for elements (#4099)
  • fix: add dispose of the debug information builder when destroying compilation context (#4105)
  • prevent mmap size overflow on 32 bit platform for memory.grow (#4071)
  • fix: when load aot init expr,no type_idx set. (#4094)
  • fix(aot_emit_aot_file): prevent buffer emission for zero byte_count (#4095)
  • fix(build_llvm_libraries.yml): Correct script path for build_llvm.py (#4089)
  • fix(unit-test): libc_builtin_test issues (#4073)
  • [gc] Subtyping fix (#4075)
  • fix(build_llvm.py): clean up whitespace and formatting in build script (#4087)
  • Unit test:type matching issue and code redundancy (#4079)
  • fix(aot): ensure value_cmp does not exceed br_count in branch table compilation (#4065)
  • In wasm32, fix potential conversion overflow when enlarging 65536 pages (#4064)
  • Use wasm32-wasip1 instead of wasm32-wasi target for rust code (#4057)
  • Update Rust target from 'wasm32-wasi' to 'wasm32-wasip1' in CI (#4050)
  • Fix wasm loader check data segment count (#4039)
  • Fix table index calculations in wasm_loader and wasm_mini_loader (#4004)
  • Ensure **heap_base and **data_end global indices are validated against import count (#3996)
  • fix format specifier warning on 32bit builds (#4177)
  • Remove indirect-load for constants on Xtensa Target to improve performance (#4162)
  • cmake: Enhance target selection for ARM architectures with FPU (#4185)
  • Add import memory/table flag assert check for miniloader (#4179)
  • Fix few integer overflowing (#4161)
  • prevent frame_offset underflow in wasm_loader (#4165)
  • fix: Remove unused variables in SIMD_v128_const case (#4197)
  • fix false native stack overflow detections with HW_BOUND_CHECK (#4196)
  • Keep fix the CMake compatibility issue (#4180)
  • Fix the error of AOT mode on the "i386-windows-msvc" platform (#4183)
  • debug-engine: fix a few type mismatches (#4189)
  • Replace CMAKE_CURRENT_FUNCTION_LIST_DIR (#4200)
  • fix potential memory leak (#4205)
  • Add missing V128 handling in WASM_OP_BR (#4203)
  • fix print_help when libc wasi is enabled (#4218)
  • LLVM: don't verify instcombine fixpoint (#4219)
  • LLVMCreateTargetMachineWithOpts: disable large data (#4220)
  • set default value of WAMR_BUILD_REF_TYPES to 1 in standalone cases (#4227)
  • platform/nuttx: Fix dcache operation in os_dcache_flush (#4225)
  • fix return types of our 64-bit clz/ctz/popcount intrinsics (#4238)
  • riscv: avoid llvm.cttz.i32/i64 for xip (#4248)
  • Add overflow check for preserved local offset in preserve_referenced_local (#4211)
  • aot_resolve_object_relocation_group: adapt to LLVM 16 (#4250)
  • initialize WASI stdio handles to invalid for better error handling (#4092)
  • Modifying build flags to ensure libiwasm.so is built (#4255)
  • Stop pretending to support extended-const proposal (#4258)
  • Improve readlinkat_dup() to handle symlink size correctly (#4229)
  • fix: improve error handling of snprintf() in send_thread_stop_status() (#4234)
  • Don't call os_thread_get_stack_boundary unless we actually use it (#4264)
  • avoid access null pointer (#4262)
  • disable compiler to prevent get_current_target() crash (#4251)
  • product-mini/platforms/windows: set C++17 explicitly (#4269)
  • fix buf checking in load_table_section (#4276)
  • Set CMAKE_OSX_SYSROOT when building lldb (#4274)
  • Add select 128 (#4236)

Enhancements

  • Refine looking up aot function with index (#3882)
  • Wasm loader enhancement: check code size in code entry (#3892)
  • Refactor AOT loader to support compatible versions (#3891)
  • GlobalValueSet was moved to IRPartitionLayer recently, but we have a local definition anyway (#3899)
  • Support external toolchain on Windows for aot compiler (#3911)
  • Drop declarative elements on module instantiation (#3922)
  • add testcases for shared heap and fix POP_MEM_OFFSET of memory64 (#3916)
  • Enable ref types by default (#3894)
  • Update README.md to clarify Windows toolchain support and ESP-IDF reference (#3917)
  • add thread cpu time for zephyr (#3937)
  • Improvements for platform thread APIs on Windows and Zephyr (#3941)
  • Refactor SConscript and add file checks in iwasm.c (#3945)
  • Consume the placeholders that were put when emitting table info (#3940)
  • wasm_export.h: Use "default" visibility for gcc and clang (#3957)
  • [fuzzing] Enable instantiation (#3958)
  • use a random secret key (#3971)
  • CMakeLists.txt: Do not require C++ (#3956)
  • add reference type support by default for darwin to support WASI-SDK-25 (#3978)
  • top-level cmake: link llvm libraries to our shared library (#3973)
  • Set thread information earlier in exec_env creation (#3967)
  • Break aot_create_comp_data into small functions (#3987)
  • Optimize memory initialization handling in AOT loader (#3983)
  • nuttx: remove the up_x API for kernel build (#4154)
  • Expose WAMR_BUILD_GC_HEAP_SIZE_DEFAULT as a CMake option (#4124)
  • Use log instead of using assertion in aot loader (#4119)
  • feat: use C linkage in aot_comp_option.h for C++ embeding (#4106)
  • Cmake improvements (#4076)
  • feat: add support for EXTERNREF value type and enable AOT validator in fuzz tests (#4083)
  • build_llvm.py: Allow to build xtensa target on non-xtensa host (#4086)
  • Add a conditional check for the macro STDC_VERSION (#4080)
  • [fuzzing] execute every exported function (#3959)
  • Update memory allocation functions to use allocator user data (#4043)
  • Add versioning support and update CMake configuration (#3933)
  • Show wasm proposals status during compilation and execution (#3989)
  • add a validator for aot module (#3995)
  • Synchronize the GC spec tests to the commit from December 9. 2024. (#4022)
  • Refine getting const offsets in wasm loader of fast-interp (#4012)
  • fixes for compiling on windows (#4026)
  • .github: Add shared lib builds (#3975)
  • Error message improvement (#4000)
  • Refine read leb int wasm loader of fast interpreter (#4017)
  • Enable shrunk memory by default and add related configurations (#4008)
  • Add documentation regarding security issues and the status of Wasm proposals (#3972)
  • Improve stack consistency by ensuring sufficient space for dummy offsets (#4011)
  • Check whether related table has funcref elem in opcode call_indirect (#3999)
  • [fuzzing] Use software bound-check during fuzzing (#4003)
  • Add an example of how to embed WAMR in Zephyr user mode (#3998)
  • Update cmake min to 3.14 (#4175)
  • aot: add new u64 intrinsics (#4168)
  • Refactor Dockerfile and update .dockerignore for wasi-nn tests; adjust map-dir parameters in smoke test script (#4158)
  • improve variable naming and code clarity in SIMD operations (#4157)
  • Raise CI runner to ubuntu 22.04 (#4191)
  • Remove the dlen to optimize it. (#4193)
  • Add missing casts and improve error handling in performance map functions (#4202)
  • Raise wasi-sdk to 25 and wabt to 1.0.37 (#4187)
  • wamrc: add --disable-llvm-jump-tables option (#4224)
  • feat(fuzz): add a new fuzzing target about aot compiler (#4121)
  • bypass vptr santizier (#4231)
  • use a selected llvm libs list to replace the full list (#4232)
  • teach aot emitter/loader about .srodata and .srodata.cst* sections (#4240)
  • run_clang_format_diff: mention homebrew for clang-format installation (#4237)
  • Use --target to pass a triple in wamrc (#4199)
  • samples/wasm-c-api: skip aot compilation unless necessary (#4239)
  • samples/wasm-c-api: remove unused valgrind detection (#4249)
  • More detail to python setup, and fixed small typo (#4247)
  • JIT: don't join worker threads twice (#4252)
  • aot_resolve_object_relocation_group: adapt to LLVM 19 (#4254)
  • build-scripts/build_llvm.py: bump to llvm 18 (#4259)
  • CI: make macos' build_samples_wasm_c_api similar to ubuntu (#4253)
  • Refactor fast-interpreter SIMD compilation flags (#4261)
  • Bypass wamr_ide-related components from the release process. (#4268)
  • Check for WASM_ENABLE_SIMDE in a couple more places (#4266)
  • Add error handling for sgx ci (#4222)

Security Issues

  • Add validation for old_path in wasi_path_symlink (# CVE-2025-43853)

Others

  • Exclude fuzz test python and npm packages in scoreboard scan (#3871)
  • Bump AOT_CURRENT_VERSION for WAMR 2.x (gc, memory64) (#3880)
  • Add Tianlong into code owners (#3970)
  • build(deps): Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#3981)
  • docs: Update build instructions suggestions for using Valgrind (#4164)
  • test: temporarily skip 'skip-stack-guard-page' test case (#4163)
  • build(deps): Bump actions/upload-artifact from 4.6.1 to 4.6.2 (#4159)
  • Update NuttX and NuttX Apps references to releases/12.9 in workflow files (#4148)
  • build(deps): Bump esbuild, @vitejs/plugin-react and vite (#4149)
  • build(deps): Bump ossf/scorecard-action from 2.4.0 to 2.4.1 (#4109)
  • build(deps): bump github/codeql-action from 3.26.13 to 3.28.1 (#3888) (#3902)
  • build(deps): Bump github/codeql-action from 3.28.10 to 3.28.11 (#4132)
  • build(deps): Bump github/codeql-action from 3.28.9 to 3.28.10 (#4108)
  • build(deps): Bump actions/upload-artifact from 4.6.0 to 4.6.1 (#4107)

Full Changelog: WAMR-2.2.0...WAMR-2.3.0