Skip to content

Releases: bytecodealliance/wasm-micro-runtime

WAMR-2.2.0

22 Oct 06:37
217ba3b
Compare
Choose a tag to compare

Breaking changes

New features

  • Add support for multi-memory proposal in classic interpreter (#3742)
  • wasi-nn: Add a new target for llama.cpp as a wasi-nn backend (#3709)
  • Add memory instance support apis (#3786)
  • Implement a first version of shared heap feature (#3789)
  • Support dynamic aot debug (#3788)
  • Implement shared heap for AOT (#3815)
  • Support table64 extension in classic-interp and AOT running modes (#3811)

Bug fixes

  • Enable merged os_mmap for aot data sections (#3681)
  • Fix arm64 issues on mac (#3688)
  • aot loader: Call os_mmap with MMAP_MAP_32BIT only when target is x86-64 or riscv64 (#3755)
  • Fix building iwasm_shared and iwasm_static libs on win32 (#3762)
  • Fix compile error when multi-module and tags are enabled (#3781)
  • Fix aot multi export memory support (#3791)
  • Fix Windows compile error when uvwasi is enabled (#3810)
  • Fix missing symbols when using aot mode on riscv platforms (#3812)
  • Fix mac build of libc_emcc_wrapper.c (#3836)
  • aot_comp_option.h: Add missing stdint.h header (#3834)
  • Fix compilation error found in tflite test (#3820)
  • Fix exec_env_tls assertion in module instantiation (#3844)
  • Fix issues of destroy_shared_heaps (#3847)

Enhancements

  • aot loader: Refine os_mmap related code (#3711)
  • Enable merged os_mmap for aot data sections and aot text (#3743)
  • Improve posix mmap retry logic (#3714)
  • Remove unnecessary code duplication in aot runtime (#3767)
  • Add wamrc parameter to configure stack frame features (#3763)
  • refactoring: Re-use commit IP functionality between exception handling and other cases (#3768)
  • AOT call stack optimizations (#3773)
  • Appease GCC strict prototypes warning (#3775)
  • Appease GCC -Wformat (#3783)
  • Fix compiler warnings (#3784)
  • Implement option for skipping function index in the callstack (#3785)
  • Fix a compile warning in aot_emit_function.c (#3793)
  • Restore cmake hidden compile symbol visibility (#3796)
  • Refactor shared heap feature for interpreter mode (#3794)
  • Add no_resolve to LoadArgs and wasm_runtime_resolve_symbols (#3790)
  • shared heap: Fix some issues and add basic unit test case (#3801)
  • Add shared heap sample (#3806)
  • Fix unused param warning when GC is enabled (#3814)
  • Add scoreboard CI for supply-chain security (#3819)
  • Emit load_addr and load_size if WAMR_ENABLE_COMPILER is set (#3835)
  • libc-emcc: Use alternate method to check getrandom support (#3848)
  • Enable libc-wasi for windows msvc build (#3852)
  • Remove unused folder samples/gui and samples/littlevgl (#3853)
  • Fix some compile warnings and typos (#3854)
  • Allow to set native stack boundary to exec_env (#3862)
  • Refine wasm/aot function instance lookup (#3865)
  • Fix quadratic runtime for duplicate export name detection (#3861)

Others

  • Add a comment on AOT_SECTION_TYPE_SIGNATURE (#3746)
  • CI: Freeze version of bloaty for NuttX compilation (#3756)
  • aot compiler: Allow to control stack boundary check when boundary check is enabled (#3754)
  • Update ref to the multi-memory tests (#3764)
  • compilation_on_nuttx.yml: Update checkout action to suppress warnings (#3765)
  • CI: Disable parallel test in spectest for NuttX (#3780)
  • spec_test_on_nuttx.yml: Disable riscv32_ilp32f for now (#3777)
  • Ignore temporary file from aider (#3787)
  • Add CODEOWNERS (#3822)
  • build(deps): bump github/codeql-action from 2.2.4 to 3.26.9 (#3826)
  • build(deps): bump actions/upload-artifact from 3.1.0 to 4.4.0 (#3827)
  • build(deps): bump ossf/scorecard-action from 2.3.1 to 2.4.0 (#3828)
  • build(deps): bump github/codeql-action from 3.26.9 to 3.26.11 (#3843)
  • build(deps): bump actions/upload-artifact from 4.4.0 to 4.4.3 (#3855)
  • build(deps): bump github/codeql-action from 3.26.11 to 3.26.12 (#3856)
  • Add Windows wamrc and iwasm build in release CI (#3857)
  • Fix syntax error in codeql_buildscript.sh (#3864)
  • release CI: Add another iwasm binary that supports Garbage Collection and Exception Handling (#3866)
  • Fix lookup function issue reported in nightly run (#3868)

WAMR-2.1.2

20 Aug 09:05
f4383a9
Compare
Choose a tag to compare

Breaking Changes

  • wasi-nn: Apply new architecture (#3692)

New Features

  • [wasi-nn] Add a new wasi-nn backend openvino (#3603)
  • Add APIs into wasm_c_api.h to summary wasm function execution duration (#3639)
  • Add support for RISCV32 ILP32F (#3708)

Bug Fixes

  • libc-builtin: Fix function prototype for wasm_runtime_module_realloc (#3702)
  • Fix potential memory leak in insert_native_symbol (#3712)
  • aot compiler: Fix NaN handling for opcode f32/f64.const in XIP mode (#3721)
  • Fix table idx resolving in op call_indirect/return_call_indirect (#3726)

Enhancements

  • Remove a few hardcoded spec test knowledge from the core library (#3648)
  • Change log of import function to be consistent (#3656)
  • libc-builtin: Fix a printf format (#3652)
  • Set compile symbol visibility to hidden in cmake (#3655)
  • wamrc: Add --mllvm= option (#3658)
  • wamr-compiler: Avoid size-level tweak if target is specified (#3659)
  • aot runtime: Add missing arm/thumb relocations (#3660)
  • aot compiler: Enlarge AOTNativeSymbol->symbol (#3662)
  • aot compiler: Bail out on too long native symbol names (#3663)
  • Support more features for rt-thread (#3661)
  • Zephyr User Mode Support (#3650)
  • Set posix thread name for debug build (#3657)
  • Add emscripten_sleep() wrapper to libc-emcc (#3669)
  • Fix a compilation warning (#3682)
  • wamrc: Add some help text for --size-level (#3689)
  • Restore linux iwasm default visibility (#3691)
  • posix_thread.c: Restore old signal alternate stack before thread exit (#3693)
  • libc-wasi: Make rights of STDIN/STDOUT/STDERR fixed and overlook their access modes (#3694)
  • [refactoring] Extract read leb to a separate file, share the code between loader and mini loader (#3701)
  • debug-interp: Only add lock when signal_flag is SIG_SINGSTEP (#3704)
  • Fix compilation warnings (#3707)
  • Add missing headers in bh_atomic.h and aot_llvm_extra.cpp (#3715)
  • Update std atomic check and simd compatibility check for arc compiler (#3716)
  • aot compiler: Track non-0x00 tableindex as ref types use (#3695)
  • compilation: Use the dedicated stack-sizes section only for AOT (#3732)
  • riscv: Add missing relocation intrinsics for __fixdfsi/__ltdf2 (#3733)

Others

  • Fix night run CI (#3640)
  • spec-test-script/runtest.py: Don't assume the tmp dir path (#3632)
  • wamr-test-suites: Remove dead code (wasi_test) (#3634)
  • wamr-test-suites/test_wamr.sh: Add an option to specify wamrc binary (#3635)
  • CI: Build llvm for xtensa (#3637)
  • spec-test-script/runtest.py: Avoid specifying -v=0 unnecessarily (#3642)
  • spec-test-script: Add xtensa case (#3643)
  • spec-test-script/runtest.py: Move "--size-level=1" to common place for RISCV64 (#3644)
  • spec-test-script/runtest.py: Use a shorter timeout when expected to fail (#3647)
  • spec-test-script: Make case_last_words larger (#3651)
  • spec-test-script/runtest.py: Reduce stack size for aot w/o gc (#3653)
  • spec-test-script: Skip a few tests for xtensa qemu (#3664)
  • spec-test-script: Use -mtext-section-literals for xtensa xip (#3666)
  • spec_test_on_nuttx.yml: Add xtensa (#3665)
  • spec_test_on_nuttx.yml: Enable xip (#3671)
  • spec_test_on_nuttx.yml: Record more logs (#3670)
  • spec_test_on_nuttx.yml: Replace sed with kconfig-tweak (#3672)
  • spec_test_on_nuttx.yml: Retire CONFIG_EOL_IS_LF (#3676)
  • spec-test-script/runtest.py: Use wamrc --xip option for xip (#3683)
  • CI: Bump NuttX version to 12.6 (#3684)
  • wamr-test-suites: Clean up generated tmp files after spec test (#3700)
  • test_wamr.sh: Fix build wabt tool (#3703)
  • NuttX: Retire CONFIG_ARCH_RV32IM and CONFIG_ARCH_RV64GC (#3717)
  • runtest.py: Normallize option handling for XIP mode (#3722)
  • CI: Enable XIP spectest for RISCV32 ILP32F (#3727)
  • CI: Unify configuration stage for NuttX (#3725)

WAMR-2.1.1

16 Jul 02:42
8af1550
Compare
Choose a tag to compare

Breaking Changes

  • Sync up with latest wasi-nn spec (#3530)

New Features

  • Add APIs to get package version (#3601)
  • Export API wasm_runtime_enlarge_memory (#3569)
  • Add table type API support (#3515)
  • Add wasm_runtime_get_module_package_type() and wasm_runtime_get_file_package_type() (#3600)

Bug Fixes

  • wasm_application.c: Avoid null pointer dereference (#3620)
  • EH: Use the consistent type for EH handlers (#3619)
  • wasm loader: Fix several issues in GC and exception handling (#3586)
  • wasm loader: Fix push_frame_offset when pushing v128 type (#3588)
  • Add integer overflow check for some indices in wasm/aot loader (#3579)
  • aot-analyzer: Fix a few printf formats (#3590)
  • aot-analyzer: Fix macos build (#3589)
  • Fix compilation errors in aot-analyzer tool (#3584)
  • interp debugger: Fix setting invalid value to step_count (#3583)
  • aot loader: Check import global value type before using (#3571)
  • Fix missing stack frame alloc/free in AOT multi-module invoke (#3562)
  • aot loader: Verify global value type (#3560)
  • aot loader: Add more checks in load_native_symbol_section() (#3559)
  • core/shared/platform: Zero memory returned by os_mmap in some platforms (#3551)
  • dwarf_extractor.cpp: Fix buffer overruns (#3541)
  • aot loader: Prevent loading multiple native symbol sections (#3538)
  • Validate func type in aot loader (#3535)
  • wamrc: Fix truncated DW_AT_producer (#3537)
  • wasm loader: Fix pop invalid offset count when stack top is ANY (#3516)
  • Fix two fuzz issues (#3529)
  • Fix several issues reported by oss-fuzz (#3526)

Enhancements

  • Fix compile warnings/error reported in Windows (#3616)
  • wasm loader: Reject v128 for interpreters (#3611)
  • Fix typos in wamrc and wasm_export.h (#3609)
  • Bump ocaml/setup-ocaml from 2 to 3 (#3604)
  • CMakeLists.txt: Fix Android pthread linkage (#3591)
  • Add more arm AOT reloc entries (#3587)
  • wasi-nn: Use numpy v1 in wasi-nn test requirements.txt (#3582)
  • Optimize for multi-module support in AOT mode (#3563)
  • aot compiler: Propagate const-ness by ourselves (#3567)
  • aot_resolve_target_info: Avoid in-place modification of e_type (#3564)
  • Allow missing imports in wasm loader and report error in wasm instantiation instead (#3539)
  • aot compiler: Use larger alignment for load/store when possible (#3552)
  • Consistent const keyword position in wasm_export.h (#3558)
  • wasm_memory.c: Fix typo: hasn't been initialize -> hasn't been initialized (#3547)
  • dwarf_extractor.cpp: Try to preserve link name (#3542)
  • dwarf_extractor.cpp: Enable limited support for C++ (#3540)
  • Sync up with latest wasi-nn spec (#3530)
  • Expose more functions related to emitting AOT files (#3520)
  • Make wasi-nn backends as separated shared libraries (#3509)
  • build_llvm.py: Speed up llvm build with multi procs on windows (#3512)
  • Fix compilation warnings of wasi-nn (#3497)
  • Add missing functions to make RIOT work with the 2.x.x version (#3508)

Others

  • Update devcontainer.md (#3628)
  • Fix compile errors on workload bwa and benchmark jetstream (#3617)
  • wasm-mutator-fuzz: Set compilers earlier (#3585)
  • wasm-mutator-fuzz: Make compilers overridable (#3578)
  • wasi-nn: Add wasmedge-wasinn-example as smoke test (#3554)
  • Add standalone cases (#3536)
  • wasm-mutator-fuzz: Fix build errors and warnings for macOS (#3519)
  • wasm-mutator-fuzz: Use another variable to check if in oss-fuzz environment (#3518)
  • Add wasi-nn example as smoke test case (#3501)

WAMR-2.1.0

06 Jun 02:47
8f86b37
Compare
Choose a tag to compare

Breaking Changes

New Features

  • Add wasm_export.h APIs to expose memory type (#3496)
  • Add api to get export global instance (#3452)
  • Add wasm-mutator-fuzz test (#3420)
  • Implement Memory64 support for AOT (#3362)
  • Add wasm module global type information APIs (#3406)
  • Add aot binary analysis tool aot-analyzer (#3379)
  • Expose API to get import/export function's param/result valkind (#3363)
  • Add WASI support for esp-idf platform (#3348)

Bug Fixes

  • Fix posix build when libc wasi is disabled and debug interp is enabled (#3503)
  • Fix wasm_mini_loader.c build when jit or multi-module is enabled (#3502)
  • Fix wasm loader check data segment count (#3492)
  • Fix loader parse block type and calculate dynamic offset for loop args (#3482)
  • Fix memory64 handling find_block_addr and execute_main (#3480)
  • Fix two issues to make fuzzing test quit earlier (#3471)
  • Fix test-wamr-ide CI failure (#3485)
  • NuttX: Fix a dbus-related crash on esp32s3 (#3470)
  • Clone data segments when specified with load args (#3463)
  • Fix codeql compilation error (#3461)
  • Fix several typos and fix bh_log calculate mills (#3441)
  • ssp_config.h: Fix ifdef for android random api (#3444)
  • libc-wasi: Fix a locking botch (#3437)
  • Fix fast interp RECOVER_BR_INFO and local set/tee (#3434)
  • aot compiler: Fix a type mismatch in compile_op_float_min_max (#3423)
  • Correct Exception Handling tag type when GC is enabled (#3413)
  • wasm loader: Fix handling if block without op else (#3404)
  • ref-types: Correct default value for function local variables (#3397)
  • aot compiler: Fix the length type passed to aot_memmove/aot_memset (#3378)
  • Fix loader and mini-loader select potiential error (#3374)
  • Fix aot debugger compilation error on windows (#3370)
  • A few native stack detection fixes for macOS/arm64 (#3368)
  • Fix ESP32-S3 compiling error (#3359)
  • Fix a few native stack address calculations (#3351)

Enhancements

  • Modify logging for windows exception handler and remove unused function (#3489)
  • posix iwasm: Make the timeout logic a bit more robust (#3478)
  • libc-builtin: Enhance buffered print for printf_wrapper (#3460)
  • Enhance GC const initializer expression to support nested struct/array new (#3447)
  • wasi: Tweak the configuration for nuttx and explain why (#3451)
  • NuttX: Replace esp32s3 bits with the OS-provided APIs (#3439)
  • Allow not copying the wasm binary in wasm-c-api and not referring to the binary in wasm/aot loader (#3389)
  • aot: Make precheck functions use short-call for xtensa (#3418)
  • Add wasm_runtime_detect_native_stack_overflow_size (#3355)
  • Enhance wasm loader checks for opcode br_table (#3352)

Others

  • Bump requests from 2.32.2 to 2.32.3 in /build-scripts (#3494)
  • Enable building static library on Android platform (#3488)
  • wasm-mutator-fuzz: Generate more kinds of corpus (#3487)
  • Correct nuttx repo names (#3484)
  • Bump requests from 2.31.0 to 2.32.2 in /build-scripts (#3474)
  • wasm-mutator-fuzz: Adapt to oss-fuzz compilation (#3464)
  • Add regression tests of BA issue cases (#3462)
  • Add malformed test cases (#3459)
  • NuttX: Rename a few recently-added nuttx options (#3449)
  • wamr-test-suites: Enable AOT multi-module spec tests (#3450)
  • Remove install_wasi_sdk from workload preparation script (#3445)
  • Add cmake static/shared library build settings (#3443)
  • Update spec test to latest commit (#3293)
  • Fix typo of WAMR_CONFIGUABLE_BOUNDS_CHECKS (#3424)
  • ci/coding_guidelines_check.py: Allow some well-known file names to contain '-' (#3428)
  • product-mini/platforms/posix/main.c: Adapt to WASM_MEM_DUAL_BUS_MIRROR (#3427)
  • Add comments to global type function declarations (#3431)
  • nuttx/esp32s3: Apply ibus/dbus adjustment to internal ram 1 as well (#3421)
  • Change WASM_ANYREF to WASM_EXTERNREF (#3426)
  • Remove unused macros which were moved to wamr-app-framework (#3425)
  • Add WASM_V128 in wasm_valkind_enum (#3412)
  • Fix basic example, parameter missmatch between host and wasm (#3415)
  • Fix workspaces path in build_wamr.sh (#3414)
  • core/iwasm/compilation: Remove stale function prototypes (#3408)
  • Add test cases for the requirements of "gc-aot" feature (#3399)
  • append_aot_to_wasm.py: Add --ver-str option to emit more info in custom section name (#3398)
  • Fix clang compile warnings (#3396)
  • Fix some more spelling issues (#3393)
  • Fix some spelling issues (#3385)
  • samples/native-stack-overflow: Examine native functions with signature (#3382)
  • Add some more comments on WASM_STACK_GUARD_SIZE (#3380)
  • Fix typo for 'native' in wasm_export.h (#3376)
  • CI: Use macos-13 instead of macos-latest (#3366)
  • Test more samples in nightly-run CI (#3358)
  • Random improvements to samples/native-stack-overflow (#3353)
  • Reduce WASM_STACK_GUARD_SIZE a bit for posix-like platforms (#3350)
  • doc: Add ADOPTERS.md (#3324)
  • Update binary size info in README.md (#3030)
  • core/config.h: Bump the default WASM_STACK_GUARD_SIZE (#3344)
  • Add unit test suites (#3490)
  • Fix internal global getter types (#3495)
  • Fix CI build and run unit tests (#3499)

WAMR-1.3.3

29 Apr 03:39
3f5e2bd
Compare
Choose a tag to compare

Breaking Changes

New Features

Bug Fixes

  • Cumulative fixes for release/1.3.x (#3155)
    Apply patches in branch main for branch release/1.3.x:
    • Fix loader check_wasi_abi_compatibility (#3126)
    • Zero the memory mapped from os_mmap in NuttX (#3132)
    • 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)
    • aot_compile_op_call: Stop setting calling convention explicitly (#3140)
    • aot compiler: Place precheck wrapper before the corresponding wrapped function (#3141)
    • fast-interp: Fix copy_stack_top_i64 overlap issue (#3146)
    • fast-interp: Fix frame_offset overflow issue (#3149)
    • Fix null pointer access in fast-interp when configurable soft bound check is enabled (#3150)
  • Cumulative fixes for release/1.3.x (#3268)
    Apply patches which were fixed branch main to branch release/1.3.x:
    • zephyr: Use zephyr sys_cache instead of CMSIS (#3162)
    • Fix llvm jit push funcref/externref result type issue (#3169)
    • Fix inconsistent coding convention (#3171)
    • VSCode IDE enhancement and readme update (#3172)
    • zephyr: include math only with minimal libc (#3177)
    • Fix wasm loader handling opcode br_table (#3176)
    • Specify language in the wasi socket ext project (#3183)
    • lldb_function_to_function_dbi: Fix a null dereference (#3189)
    • Fix LLVM assertion failure and update CONTRIBUTING.md (#3197)
    • lldb_function_to_function_dbi: A hack to avoid crashing on C++ methods (#3190)
    • 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)
    • Fix nightly run tsan ASLR issue (#3233)
    • Go binding: Change C.long to C.int64_t when call wasm_runtime_set_wasi_args_ex (#3235)
    • 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)
    • Fix CI error when install packages for macos-14 (#3270)
  • Fix ESP-IDF platform mmap data size error (#3288)
  • Fix ESP32-S3 compiling error (#3360)
  • release/1.3.x: Cumulative fixes for release/1.3.x (#3342)
    Apply patches which were fixed in branch main to branch release/1.3.x:
    • aot debug: Fix a few NULL dereferences on errors (#3273)
    • aot debug: Fix a NULL dereference (#3274)
    • aot debug: Process lldb_function_to_function_dbi only for C (#3278)
    • Revert "lldb_function_to_function_dbi: A hack to avoid crashing on C++ methods (#3190)" (#3281)
    • Fix warnings/issues reported in Windows and by CodeQL/Coverity (#3275)
    • 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)
    • Add more checks in wasm loader (#3300)
    • Fix posix_fadvise error handling (#3323)
    • Fix readdir for posix (#3339)
    • wasm loader: Fix checks for opcode ref.func and opcode else (#3340)
    • Enhance wasm loader checks for opcode br_table (#3352)
    • CI: Use macos-13 instead of macos-latest (#3366)

Enhancements

  • Add wamr to esp-idf components registry (#3264)
  • Update esp-idf platform support in release/v1.3.x (#3296)
  • Add WASI support for esp-idf platform in release/1.3.x (#3334)

Others

  • Update release CI (#3294)

WAMR-2.0.0

23 Apr 06:14
7bdea3c
Compare
Choose a tag to compare

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)

WAMR-1.3.2

02 Feb 04:48
2eb6006
Compare
Choose a tag to compare

Breaking Changes

New Features

  • Implement Exception Handling for classic interpreter (#3096)
    • Use cmake -DWAMR_BUILD_EXCE_HANDLING=1/0 option to enable/disable
      the feature, and by default it is disabled
    • It is still in highly experimental stage

Bug Fixes

  • Fix build errors when initializing wasm_val_t values with macros (#3007)
  • fix(wasm-c-api): Do not clone stack frames if there's no trap (#3008)
  • classic-interp: Handle SIMD opcode when JIT is enabled (#3046)
  • fast-interp: Fix dynamic offset error issue in else branch (#3058)
  • wasm_cluster_destroy_spawned_exec_env: Avoid "invalid exec env" trap (#3068)
  • thread-mgr: Fix locking problems around aux stack allocation (#3073)
  • cosmopolitan: Update compiler and update platform_internal.h (#3079)
  • wasi: Apply wasm_runtime_begin_blocking_op to poll as well (#3080)
  • Fix memory/table segment checks in memory.init/table.init (#3081)
  • perf profiling: Adjust the calculation of execution time (#3089)
  • aot: Fix LLVMSetTailCallKind check (#3099)
  • fast-interp: Fix stack recovery for else branch (#3100)
  • fast-interp: Fix frame_offset pop order (#3101)
  • Fix AOT compilation on MacOS (#3102)
  • fast-interp: Fix block with parameter in polymorphic stack issue (#3112)
  • Fix read and validation of misc/simd/atomic sub opcodes (#3115)

Enhancements

  • Clear compilation warning and dead code (#3002)
  • aot debug: Try to use a bit more appropriate file names (#3000)
  • Increase default app thread stack size (#3010)
  • Rename rwlock_init to avoid conflict (#3016)
  • nuttx: Use larger alignment for os_mmap and comment why (#3017)
  • Allow using mmap for shared memory if hw bound check is disabled (#3029)
  • Don't redefine D_INO if already defined (#3036)
  • Enhancements on wasm function execution time statistic (#2985)
  • wamr-compiler: Fix non-x86{_64} host builds (#3037)
  • Disable quick aot entry for interp and fast-jit (#3039)
  • nuttx: Add option to enable quick aot entry (#3040)
  • Set CONFIG_HAS_CAP_ENTER to support posix file api for freertos (#3041)
  • Revert "Enable MAP_32BIT for macOS (#2992)" (#3032)
  • Enable quick aot entry when hw bound check is disabled (#3044)
  • Do not inherit WASM_SUSPEND_FLAG_BLOCKING from the parent thread (#3051)
  • wasm_runtime_begin_blocking_op: A comment about usage expectation (#3056)
  • Check arguments before calling bh_hash_map_find (#3055)
  • Fix aot large model (--size-level=0) with LLVM 18 (#3057)
  • Add flag to control Winsocket initialization (#3060)
  • nuttx: If STACK_GUARD_SIZE is not set, leave it to config.h (#2927)
  • Enhance setting write gs base with cmake variable (#3066)
  • aot_reloc_x86_64.c: Suggest to try --size-level=0 as well (#3067)
  • Fix some issues reported by CodeQL (#3064)
  • Remove a lot of "unused parameter" warnings (#3075)
  • Forward log and log level to custom bh_log callback (#3070)
  • Fix inconsistent code style in aot_loader.c (#3082)
  • freertos: Thread exit more common (#3094)
  • Fix windows build error and compilation warnings (#3095)

Others

  • Fix nightly-run CI failure (#3014)
  • Build samples in debug mode (#3019)
  • Remove deprecated tests in language-bindings python (#3018)
  • Avoid unused thread_id warning and recompile multi-module sample (#3033)
  • samples/terminate: Add a sample to demonstrate wasm_runtime_terminate (#3043)
  • Bump NuttX version to 12.4.x in CI (#3047)
  • perf_tune.md: Add refine the calling processes between host and wasm (#3065)
  • build_wamr.md: Update the document (#3074)
  • Fix download link for wasi-sdk (#3077)
  • README.md: Fix typo tunning to tuning (#3078)
  • Update outdated reference link in multi_module.md (#3092)
  • Add comments to suppress warning from clang-tidy (#3088)
  • CI: Update version of checkout to suppress warnings (#3093)
  • test_wamr.sh: Allow using test script on different platforms (#3098)

WAMR-1.3.1

12 Jan 05:45
0844245
Compare
Choose a tag to compare

Breaking Changes

  • In multi-threading, when an exception was thrown in wasm_func_call(),
    the trap returned contains the stack frames of the thread where the
    exception occurs, but not the stack frames of the main thread.
  • Disable emitting custom name section to AOT file with
    wamrc --enable-dump-call-stack option, instead, use
    wamrc --emit-custom-sections=name to emit it and make it clear.

New Features

  • Enable AOT linux perf support (#2930)

Bug Fixes

  • Corrects Zephyr include files for current versions of Zephyr (#2881)
  • Fix possible dead lock in wasm_cluster_spawn_exec_env (#2882)
  • Handle ambiguous fstflags on fd_filestat_set_times (#2892)
  • Fix memory size not updating after growing in interpreter (#2898)
  • fixed(freertos): Fix crash when wasm app call pthread_exit(NULL) (#2970)
  • fast-jit: Fix const shift and const i64 compare issues (#2969)
  • Fix ref.is_null processing in fast-interp loader (#2971)
  • simd-128: The input lanes of integer-to-integer narrowing ops should be interpreted as signed (#2850)
  • Fix ref.func function declared check in wasm loader (#2972)
  • Fix fast-interp polymorphic stack processing (#2974)
  • Fix potential recursive lock in pthread_create_wrapper (#2980)
  • Fix build failure on esp-idf platform (#2991)
  • Return stack frames of crashed thread when using wasm-c-api (#2908)
  • Fix compilation error on iOS due to macOS-specific API (#2995)
  • Fix a bug when emit the custom name section to aot file (#2987)
  • Fix linux-sgx build error when libc-wasi is disabled (#2997)

Enhancements

  • fix command-reactor: Look for _initialize only if _start not found (#2891)
  • Refactor reloc symbols for riscv (#2894)
  • Avoid memory import failure when wasi-threads is enabled (#2893)
  • interpreter: Simplify memory.grow a bit (#2899)
  • Avoid reporting timestamp if custom logger is used (#2905)
  • Expose API to set log level in embedder (#2907)
  • Add a script to translate jitted function names in flamegraph (#2906)
  • Refine wasm-c-api wasm_func_call (#2922)
  • Add VectorCombine pass for JIT and AOT (#2923)
  • Enable wasm_runtime_terminate for single-threading (#2924)
  • nuttx: Add CONFIG_INTERPRETERS_WAMR_DEBUG_AOT (#2929)
  • Allow to control built-in libraries for wamrc from command line options (#2928)
  • Fix a bug that appends '_precheck' to aot_func (#2936)
  • freertos: Add os_cond_broadcast for pthread wrapper (#2937)
  • Append .aot to .wasm as a custom section named "aot" (#2933)
  • fix(sgx-ra): Fix building when enclave is built without librats ahead (#2968)
  • Refine LLVM JIT function call process (#2925)
  • Refine AOT function call process (#2940)
  • Allow to set segue flags for wasm-c-api JIT (#2926)
  • freertos: Minor changes for freertos libc_wasi build adaption (#2973)
  • freertos: Change ssp_config.h due to clock_nanosleep() not supported in freertos (#2979)
  • aot compiler: Some updates for LLVM 18 (#2981)
  • Enable MAP_32BIT for macOS (#2992)
  • Register quick call entries to speedup the aot/jit func call process (#2978)
  • Refine AOT/JIT code call wasm-c-api import process (#2982)

Others

  • compilation_on_nuttx.yml: Use docker image to simplify env setup (#2878)
  • samples/spawn-thread: Disable libc and pthread (#2883)
  • Add arm64 to nuttx compilation test (#2886)
  • samples/spawn-thread: Tweak to expose a bug (#2888)
  • Fix typo in CI config and suppress STORE_U8 in TSAN (#2802)
  • Using docker image for nuttx spectest (#2887)
  • doc: Separate source_debugging.md into two files (#2932)
  • doc/build_wasm_app.md: Add a note about aot abi compatibility (#2993)

WAMR-1.3.0

07 Dec 03:28
78be221
Compare
Choose a tag to compare

Breaking Changes

  • Abstract POSIX filesystem functions (#2585)
    • Change API wasm_runtime_set_wasi_args_ex's arguments
      int stdinfd/stdoutfd/stderrfd to int64_t stdinfd/stdoutfd/stderrfd
  • core/iwasm: Support mapped file system access on non-libuv WASI (#2628)
    • Enable mapping host directories to guest directories by parsing
      the map_dir_list argument in API wasm_runtime_init_wasi for libc-wasi
  • Support muti-module for AOT mode (#2482)
    • Add argument package_type_t module_type for module_reader callback
  • Generate jitdump to support linux perf for LLVM JIT (#2788)
    • Add a field bool linux_perf_support in RuntimeInitArgs
  • Remove provision of unnecessary fd rights (#2579)
  • libc-wasi: Conditionally support SYNC flags (#2581)

New Features

  • Support muti-module for AOT mode (#2482)
  • Implement libc-wasi for Windows platform (#2740)
  • Implement module instance context APIs (#2436)
  • Implement async termination of blocking thread (#2516)
  • Generate jitdump to support linux perf for LLVM JIT (#2788)
  • Add Cosmopolitan Libc Platform (#2598)

Bug Fixes

  • sgx-ra: Disable the building of samples (#2507)
  • Handle a return from wasi _start function correctly (#2529)
  • fd_object_release: Preserve errno (#2535)
  • Fix build error with ancient GCC (4.8) (#2553)
  • Fix compiling error for RT-Thread (#2569)
  • Fix potential unaligned store issue when extra return value is v128 (#2583)
  • Fix loader push_pop_frame_ref_offset (#2590)
  • Fix compilation error on Android platform (#2594)
  • Ignore handling SIG_DFL/SIG_IGN for previous sig action (#2589)
  • Fix nightly run sanitizer error in Fast JIT (#2601)
  • Check ValueKind before extracting a constant int value (#2595)
  • Patch implementations of vfbinop(min,max,pmin,pax) (#2584)
  • Improve stack trace dump and fix coding guideline CI (#2599)
  • aot_resolve_stack_sizes: Disable the size check for now (#2608)
  • Remove module instance from hashmap in wasi_nn_destroy (#2613)
  • Fix label index out-of-range references in op_br_table_cache (#2615)
  • Fix compilation of shift opcodes on x86_64 and i386 architectures (#2619)
  • Fix potential issue in aot compiler when translating block opcodes (#2622)
  • Use another default pipeline when opt-level is 0 (#2624)
  • Fix AOT shift operations for indirect constants (#2627)
  • Fix fast-interp "pre-compiled label offset out of range" issue (#2659)
  • Revert "Strip static and shared libraries of iwasm to reduce the binary size (#2431)" (#2669)
  • Fix windows compilation on C++20 (#2670)
  • Fix fast-jit f32/f64 truncate to i32/i64 (#2671)
  • Fix use getrandom on cosmopolitan libc (#2674)
  • Fix repeatedly initialize shared memory data and protect the memory's fields (#2673)
  • Minor fixes for Go bindings (#2676)
  • Fix issues reported by Coverity (#2681)
  • Add more buffer boundary checks in wasm loader (#2734)
  • Grab cluster->lock when modifying exec_env->module_inst (#2685)
  • Fix CMSIS import with Zephyr 3.4+ (#2744)
  • Fix log messages in Zephyr example (#2761)
  • Fix fast-jit callnative translation (#2765)
  • aot compiler: Disable musttail for thumb (#2771)
  • Fix data/elem drop (#2747)
  • Fix formatting in aot_dump_perf_profiling (#2796)
  • Fix formatting in wasm_dump_perf_profiling (#2799)
  • Fix memory.init opcode issue in fast-interp (#2798)
  • aot compiler: Fix handle next reachable if block (#2793)
  • Fix configurable bounds checks typo (#2809)
  • Attestation: Free JSON from the Wasm module heap (#2803)
  • Update Zephyr support to v3.5.0 and make instructions generic to boards (#2805)
  • Return error when shutdown() fails (#2801)
  • iwasm: Print help when meeting unknown cmd options (#2824)
  • Fix fast-jit accessing shared memory's fields issue (#2841)
  • Fix wasm loader handle op_br_table and op_drop (#2864)
  • Fix block with type issue in fast interp (#2866)
  • Fix float argument handling for riscv32 ilp32d (#2871)
  • Portably handle fd_advise on directory fd (#2875)
  • Fix sample basic intToStr was called with wrong length (#2876)

Enhancements

  • Implement strict validation of thread IDs according to the specification (#2521)
  • Stop abusing shared memory lock to protect exception (#2509)
  • Implement os_usleep for posix (#2517)
  • set_exception_visitor: Remove the special case for wasi proc exit (#2525)
  • Revert "Return error when exception was raised after main thread finishes" (#2524)
  • libc-wasi: Remove unused code (#2528)
  • Add callback to handle memory.grow failures (#2522)
  • Add context to enlarge memory error callback (#2546)
  • Add ARM aeabi symbol for clearing memory content in a specific range (#2531)
  • Unifdef -U WASMTIME_SSP_STATIC_CURFDS (#2533)
  • Fix typo for IP address buffer (#2532)
  • Add an API to terminate instance (#2538)
  • Add user to enlarge memory error callback (#2546)
  • runtest.py: Show accurate case amount in summary (#2549)
  • Allow using custom signal handler from non-main thread (#2551)
  • Return __WASI_EINVAL from fd_prestat_dir_name (#2580)
  • Support AOT compiler with LLVM 17 (#2567)
  • Add support for closing/renumbering preopen fds (#2578)
  • Enable AOT usage on M1 mac (#2618)
  • core/iwasm: Support mapped file system access on non-libuv WASI (#2628)
  • Enable MASM automatically in runtime_lib.cmake (#2634)
  • Abstract POSIX filesystem functions (#2585)
  • Implement wasi clock_time/clock_res get (#2637)
  • Fix several typo/warning/unused-code issues (#2655)
  • Partial windows filesystem implementation (#2657)
  • Apply no_sanitize_address for clang compiler in several places (#2663)
  • Refactor clock functions to use WASI types (#2666)
  • Refine lock/unlock shared memory (#2682)
  • Fix several AOT compiler issues (#2697)
  • Fix AOT compiler simd shift opcodes (#2715)
  • Fix invalid use of jit_reg_is_const_val in fast-jit (#2718)
  • Use user defined malloc/free functions for user defined memory allocator (#2717)
  • Move WASI types into separate header (#2724)
  • Provide default vprintf on UWP (#2725)
  • Fix typo in Zephyr simple example (#2738)
  • Fix switch-case fallthrough compilation warning (#2753)
  • Add eabihf ABI support and set vendor-sys of bare-metal targets (#2745)
  • Return uint32 from WASI functions (#2749)
  • Add compilation flag to enable/disable heap corruption check (#2766)
  • Extend os_mmap to support map file from fd (#2763)
  • Fix printing ref.extern addresses in wasm_application.c (#2774)
  • Remove unused JitBitmap (#2775)
  • Use next generation crypto API on Windows (#2769)
  • More precise help info of enabled targets for wamrc (#2783)
  • Refine atomic operation flags in bh_atomic.h (#2780)
  • Fix comment in WAMR_MEM_DUAL_BUS_MIRROR (#2791)
  • Fix return type in wasm_loader_get_custom_section (#2794)
  • Add support for custom sections in nuttx (#2795)
  • Change is_shared_memory type from bool to uint8 (#2800)
  • Fix typos in zephyr platform struct descriptions (#2818)
  • Access linear memory size atomically (#2834)
  • Output warning and quit if import/export name contains '\00' (#2806)
  • Use wasm_config_t to pass private configuration to wasm_engine_new (#2837)
  • core/iwasm/interpreter/wasm_loader.c: remove an extra validation (#2845)
  • Don't add "+d" to riscv cpu features if already given (#2855)
  • Fix compilation warnings on Windows (#2868)

Others

  • Add mutex stress test (#2472)
  • Add unit tests for the tid allocator (#2519)
  • Add support for running tests on apple M1 macs (#2554)
  • export_native_api.md: Add a note about thread termination (#2572)
  • test_wamr.sh: Print a bit more meaningful message (#2574)
  • run_wasi_tests.sh: Provide stdin by ourselves (#2576)
  • Fix a few issues in "run_wasi_tests.sh: provide stdin by ourselves" (#2582)
  • Fix compile error of tsf benchmark (#2588)
  • test_wamr.sh: Bump wasi-testsuite version (#2568)
  • samples/inst-context-threads: Add a brief explanation (#2592)
  • doc/memory_tune.md: "remove malloc" hack is not relevant to wasi-threads (#2603)
  • Refactor stress tests to make them runnable in reactor mode (#2614)
  • Run rust tests from wasi-testsuite (#2484)
  • spec-test-script: Fix NaN comparision between v128 values (#2605)
  • CI: Enable testing AOT multi-module feature (#2621)
  • Vote for nomination of Woods, Chris and Trenner, Thomas as TSC members (#2638)
  • Add tsan for fast interp and aot (#2679)
  • Enable WASI tests on Windows CI (#2699)
  • docs: Fix typo in export native APIs doc (#2750)
  • Update RISC-V compilers in Nuttx compilation CI and spec test CI (#2756)
  • Enable more LLVM backends for the release wamrc binary (#2778)
  • Disable FPU in NuttX spec test (#2781)
  • Fix broken links in app-mgr README.md (#2786)
  • Fix build error of libsodium benchmark (#2792)
  • Fix wamr-test-suites script for macos (#2819)
  • Run spec test for classic/fast-interp in NuttX CI (#2817)
  • test_wamr.sh: Don't bother to build shared library (#2844)
  • doc/build_wamr.md: Fix links to RISC-V named ABIs (#2852)
  • Fix typos of CIDR in docs and help text (#2851)
  • Enable spectest on riscv64 (#2843)
  • Update FPU configuration in spec_test_on_nuttx.yml (#2856)

WAMR-1.2.3

23 Aug 05:36
fa2f29f
Compare
Choose a tag to compare

Breaking Changes

  • Increase default native stack size (#2332)

New Features

  • Implement the segue optimization for LLVM AOT/JIT (#2230)
  • Implement AOT static PGO (#2243)
  • Enable static PGO for Linux SGX (#2270)
  • Add Rust Formatters to Debugger (Vector, Map etc.) (#2219)

Bug Fixes

  • The Python language-binding needs python>=3.9 (#2228)
  • aot_compile_op_call: Remove a wrong optimization (#2233)
  • Fix typo in samples/ref-types (#2236)
  • Update thread proposal ignore cases (#2246)
  • Disable writting GS register on linux-sgx platform (#2255)
  • Fix compile error of wamrc with llvm-13/llvm-14 (#2261)
  • aot/jit: Set module layout (#2260)
  • Fix build error with LLVM 16 (#2259)
  • spec-test-script: Disable conversions.wast on i386 (#2269)
  • Fix a heap corruption bug in ems realloc (#2279)
  • Fix fast-interp issue of LAST_OP_OUTPUT_I32/64 check (#2295)
  • Fix wamrc build issues with LLVM 13 and LLVM 16 (#2313)
  • aot: Move stack_sizes table to a dedicated section (#2317)
  • product-mini/platforms/linux: Mark vmlib POSITION_INDEPENDENT_CODE (#2323)
  • aot: Avoid possible relocations around "stack_sizes" for XIP mode (#2322)
  • Avoid switch lowering to lookup tables for XIP (#2339)
  • Fix typo in zephyr's Dockerfile.old (#2354)
  • Fix typo (dwarf) in the codebase (#2367)
  • Implement suspend flags as atomic variable (#2361)
  • Fix llvm jit failed to lookup aot_stack_sizes symbol issue (#2384)
  • Fix some check issues on table operations (#2392)
  • Fix ExpandMemoryOpPass doesn't work properly (#2399)
  • Fix non-builtin BH_ATOMIC_32_FETCH_OR and BH_ATOMIC_32_FETCH_AND (#2400)
  • Fix wasi-sockets tests (#2389)
  • Fix result arity check on select_t opcode (#2406)
  • Re-organize intrinsics in aot_reloc_riscv.c to fix some FPU issues (#2414)
  • Fix lib-pthread issues (#2410)
  • Fix typo in test_wamr.sh (#2421)
  • Fix memory sharing (#2415)
  • wasm_export.h: Fix struct wasm_val_t (#2435)
  • Fix typos in wamrc print_help() (#2442)
  • iwasm: Fix native lib cleanup after error occurs (#2443)
  • Correct --heap-size option in messages (#2458)
  • wasm_instantiate: Fix a potential integer overflow issue (#2459)
  • Fix windows link error and clear windows warnings (#2463)
  • aot: Disable musttail for mips (#2457)
  • Fix opcode overwrite issue in fast interp (#2476)
  • wamrc: Fix windows relocation to aot_func_internal#n (#2474)
  • Fix windows AOT hw bound check (#2475)
  • Fix typo in aot_emit_aot_file.c (#2478)

Enhancements

  • A few changes related to WAMRC_LLC_COMPILER (#2218)
  • Enhance linux-sgx CI (#2102)
  • Add asan and ubsan to WAMR CI (#2161)
  • Update doc on WAMR_DISABLE_HW_BOUND_CHECK 32-bit (#2262)
  • wamrc: Add an incompatibility note in the help message (#2276)
  • Add cmake variable to disable writing gs register (#2284)
  • Make hmu_tree_node 4 byte aligned to reduce compiler warning (#2268)
  • Appease unused warning on min_uint64 (#2277)
  • Fix format warning by PRIu32 in [wasm|aot] dump call stack (#2251)
  • Fix a compile warning due to missing include (#2293)
  • Fix dockerfile linter warnings (#2291)
  • Enable windows x86-32 AOT relocations (#2285)
  • wamr-ide: Add vscode extension tests (#2292)
  • AOT/JIT native stack bound check improvement (#2244)
  • Add retries to flaky step in nightly run CI (#2306)
  • Use system libuv if available (#1861)
  • wasi-nn: Simplify cmake and headers' location (#2308)
  • wasi-nn: Improve tests paths for local dev (#2309)
  • aot: Implement a few more relocation types for riscv (#2318)
  • wasi-nn: Add support of wasi-nn as shared lib (#2310)
  • Add a few more assertions on structures to which aot abi is sensitive (#2326)
  • Fix sanitizer errors in posix socket (#2331)
  • Add "--xip" option for wamrc (#2336)
  • Add "--enable-llvm-passes=" option to wamrc (#2335)
  • Make memory access boundary check behavior configurable (#2289)
  • Migrate ExpandMemoryOpPass to llvm new pass manager (#2334)
  • Allow defining hints without exact socket type or address family (#2337)
  • wamrc: Warn on text relocations for XIP (#2340)
  • Add scripts to validate lldb source debugger (#2150)
  • Add docker file to fix Zephy ESP32 linking issue (#2314)
  • Add "--native-lib=" option to wamrc (#2342)
  • Fix unused warnings on disable_bounds_checks (#2347)
  • Add "--enable-builtin-intrinsics=" option to wamrc (#2341)
  • nuttx: Add a kconfig for wasi-threads (#2343)
  • iwasm: Disable app heap by default if wasi is enabled (#2346)
  • Fix some static scan issues (#2362)
  • Bring up WAMR on esp32-s3 device (#2348)
  • ESP-IDF platform supports to load AOT to PSRAM and run it (#2385)
  • Add hadolint CI for Dockerfile linting (#2387)
  • Move generic parts of wasm_suspend_flags.h to bh_atomic.h (#2393)
  • bh_atomic.h: Add comments (#2398)
  • bh_atomic.h: Add BH_ATOMIC_32_FETCH_ADD/BH_ATOMIC_32_FETCH_SUB (#2408)
  • Update libuv version to v1.46.0 (#2405)
  • Remove a few unused functions (#2409)
  • Add initial stress test (#2364)
  • Move wasm_runtime_destroy_wasi and wasi_nn_destroy calls together (#2418)
  • embed_wamr.md: Improvements about threads (#2420)
  • Add runtime inited checks in Enclave command handlings to improve security (#2416)
  • Add some relocation symbols for xtensa target (#2422)
  • Remove unnecessary and extra zero length check in mem functions' macro (#2428)
  • Introduce WASMModuleInstanceExtraCommon (#2429)
  • Strip static and shared libraries of iwasm to reduce the binary size (#2431)
  • Auto-check wrgsbase in cmake script (#2437)
  • iwasm: call native lib init/deinit if exists (#2439)
  • wasi-nn: Support uint8 quantized networks (#2433)
  • Implement wasm_externref_objdel and wasm_externref_set_cleanup (#2455)
  • wasi-nn: Improve TPU support (#2447)
  • wamr-python: Enable debugging WASM and grant dir access (#2449)
  • Build wasi-libc from source in WAMR CI (#2465)
  • wamrc: More friendly to print help info (#2451)
  • Add another wamr test (#2411)
  • Fix issues reported by Coverity and clear windows warnings (#2467)
  • Clone the input binary during wasm_module_validate (#2483)

Others

  • Nuttx CI: Ignore the expired certificate for riscv gcc toolchain (#2222)
  • core/iwasm/compilation: constify a bit (#2223)
  • Bump requests from 2.28.2 to 2.31.0 in /build-scripts (#2229)
  • dwarf_extractor: Constify a bit (#2278)
  • AOTFuncContext: Remove a stale comment (#2283)
  • Add performance tunning document (#2286)
  • Reduce CI jobs number (#2296)
  • CI: Update used node version to 16 (#2303)
  • Update Docker image for latest version of external libraries & tools (#2374)
  • Upgrade cJSON version to v1.7.16 (#2404)
  • Upgrade XNNPACK workload (#2394)
  • Build more benchmarks in workload XNNPACK (#2417)
  • Upgrade SGX-RA integration for 0.1.2 and Ubuntu 20.04 (#2454)
  • Add sample pre-commit hook (#2470)