Skip to content

WAMR-1.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 07 Dec 03:28
78be221

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)