Wasm Micro Runtime Versions Save

WebAssembly Micro Runtime (WAMR)

WAMR-1.1.1

1 year ago

Implement Linux SGX socket API getpeername, recvfrom and sendto Implement Linux SGX POSIX calls based on getsockname and set/getbool Integrate WASI-NN into WAMR: support TensorFlow/CPU/F32 in the first stage Add timeout send/recv and multicast client/server socket examples Support cross building and linking LLVM shared libs for wamrc Add darwin support for app_framework Add ios support for product-mini Update export_native_api.md: Relax the "ground rule" wasm_export.h: Add comments on wasm_runtime_register_natives Remove unused wasm_runtime_is_module_registered samples/multi-module: Examine module registration a bit samples/native-lib: Fix exec_env type Fix Linux SGX directional OCALL parameter for getsockname Fix threads issue to enable running threads spec proposal test cases Fix the "register native with iwasm" stuff for macOS Fix issues in assemblyscript lib Wrap wasi_socket_ext api with extern "C" to fix link failure with cxx project Fix invalid size of memory allocated in wasi init posix_thread.c: Avoid sem_getvalue deprecation warning on macOS

WAMR-1.1.0

1 year ago

Extend support for Socket API:

  • Implement IPv6 (along with IPv4) for all the socket-related operations
  • Enable resolving host name IP address by adding a host call to WASI Implement a security feature for controlling what domains are allowed to be resolved
  • Allow configuring socket options by adding host calls to WASI for setting and reading the options
  • Enable connection-less communication between hosts by adding host calls to WASI for sending data directly to a given address and receiving messages from a specific address
  • Fix verification of the address in the address pool
  • Add more samples and update the documents

Implement SGX IPFS as POSIX backend for file interaction for linux-sgx

  • Integrates the Intel SGX feature called Intel Protection File System Library (IPFS) into the runtime to create, operate and delete files inside the enclave, while guaranteeing the confidentiality and integrity of the data persisted

Make libc-builtin buffered printf be a common feature Enable passing through arguments for build_llvm.sh Update __wasi_sock_accept signature to match wasi_snapshot_preview1 Enable build wasi_socket_ext.c with both clang and clang++ Add check for code section size, fix interpreter float operations Prevent an already detached thread from being detached again for thread manager Fix several issues related to AOT debug and update source_debugging.md Fix Windows/MSVC build issues and compile warnings Fix wasm loader: function sub local count can be 0 Fix crash in dumping call stack when the AOT file doesn't contain custom name section Fix Dockerfile lint errors and suppress hadolint warnings for pinning versions part Fix Fast JIT issues reported by instrument test Fix link error for ESP-IDF 4.4.2 Fix syntax errors and undefined names in Python code Fix issues reported by Coverity Fix Go binding build error Fix a wrongly named parameter and enhance the docs in bh_hashmap.h

WAMR-1.0.0

1 year ago

Implement Python language binding Implement Go language binding Implement Fast JIT engine Implement hw bound check for interpreter and Fast JIT Enable the semantic version mechanism for WAMR Implement POSIX semaphore support for linux platform Implement SGX getrandom/getentropy without ocall Enable remote attestation by librats in SGX mode Upgrade WAMR-IDE and source debugging Support print exception info in source debugger Support emit specified custom sections into AoT file Refactor spec test script and CI workflows Support integrate 3rd-party toolchains into wamrc Enable dump call stack to a buffer Enable aot compiler with llvm-14/15 Don't suppress prev signal handler in hw bound check Remove unnecessary memset after mmap Refine wasm_runtime_call_wasm_a/v Enable app management and thread support for esp32 arch Enable libc-wasi support for esp-idf arch Implement xtensa XIP Enable memory leak check Introduce basic CI for nuttx Update documents Fix module_realloc with NULL ptr issue Fix a typo of macro in wasm_application.c nuttx: add CONFIG_INTERPRETERS_WAMR_PERF_PROFILING aot_reloc_xtensa.c: define __packed if not available Fix bh_vector extend_vector not locked issue Enable build libc-wasi for nuttx Fix typo in embed_wamr.md Fix drop opcode issue in fast interpreter Fix typos in wasm_mini_loader.c Fix issues reported by Coverity and Klocwork Add missing aot relocation symbols for xtensa target Add arc compiler-rt functions and reloc type for mwdt Fix get invokeNative float ret value issue with clang compiler Make robust on choosing target assumption for X86_32 support Fix an issue of wasm_cluster_spread_custom_data when called before exec Fix socket api verification of addresses in the address pool Add API wasm_runtime_set_module_inst Set noexecstack CXX link flags for wamrc Add import subtyping validation Fix libc-wasi/uvwasi poll/environ_get issues Add missing symbol for aot_reloc_arc.c Add a dev docker container for WAMR repo Fix dump call stack issue in interpreter Fix windows thread data issue and enhance windows os_mmap Support custom stack guard size Implement i64.div and i64.rem intrinsics Let iwasm return non-zero value when running failed Reserve one pointer size for fast-interp code_compiled_size Enable libc-wasi support for esp-idf Expose wasm_runtime_get_exec_env_singleton to the API users Normalize wasm types to refine interpreter call_indirect Remove unused wasm_runtime_create_exec_env_and_call_wasm Fix linear memory page count issues debug: Retire wasm_debug_(get|set)_engine_active mechanism wasm_application.c: Do not start debug instance automatically Fix typo in simd_conversions.c nuttx: Add CONFIG_INTERPRETERS_WAMR_DEBUG_INTERP Add a new API to get free memory in memory pool Fix multi-module and some other issues Fix build issue of the meshoptimizer workload Fix build error on alios platform

fast-jit-06-29-2022

1 year ago

The first version of WAMR fast jit, which implements most wasm opcodes like the AOT except threads and simd related opcodes.

WAMR-05-18-2022

2 years ago

Refactor Orc JIT to enable lazy compilation Use LLVM new pass manager for wamrc Implement WAMR-IDE with vscode extension Implement Berkeley Socket API based on libc-wasi for Posix platforms Implement Berkeley Socket API for Intel SGX Refactor externref related APIs of reference types feature Implement pthread_cond_broadcast wrapper for lib-pthread Enable Windows MinGW support Refine call native function from AOT code Refine opcode br_table for classic interpreter Enable register native shared library with iwasm Add benchmark coremark, polybench, sightglass and jetstream2 Add log info for heap and stack like wasm loader in aot loader Fix debug thread not created issue Improve riscv target option compatibility for NuttX Fix win_thread.c timed wait always return 0 issue Fix attr_container forward declaration issue Fix pthread_getspecific return value issue Correct RIOT os_mmap size type to size_t Fix native stack overflow check failed in interpreter Fix wasm_runtime_call_wasm_a issue Fix build jit error when interp is disabled [debugger enhance] don't block gdbserver thread while executing Fix ‘MADV_HUGEPAGE’ undeclared compilation error Fix wasm-c-api wasm_module_imports issues Correct DPFPU and FPU handling for NuttX Use nanosecond for atomic wait Fix Windows failed to relocate __ymm symbol error Fix classic interpreter handling BLOCK/IF/LOOP issue Fix libc-wasi not working in spawned exec_env Update document of embed wamr and code format check Enable lock for Vector to protect wasm-c-api read/write/extend operations Fix wasm_runtime_load argument type invalid issue Fix issues found by GC and Fast JIT, and refine some codes Fix issues reported by klocwork and Coverity Fix fast interpreter constant space overflow issue Preserve execution memory for debug instance source debugging: Fix step over was treated as step in issue Fix wasi implementation issues Enhance printf_wrapper in libc-builtin Add aot relocation for ".rodata.str" symbol to support more cases Fix aot compiler block/value stack destroy issue aot_loader.c: Fix issues in "Refine interp/aot string storage" aot_get_module_mem_consumption: Fix const strings size wamr-compiler: Fix ubsan on macOS core/iwasm/aot/aot_loader.c: Fix a zero-sized malloc warning wasm_runtime.c: Fix fault modification on data segment Fix build wamrc for xtensa failure Support va_args in libc-builtin Fix ref-types sample invalid externref signature sandboxed-system-primitives: make CPT/TCT clock ids optional sandboxed-system-primitives: Use d_ino=0 for NuttX Store import function pointer in module instance product-mini/platforms/nuttx/wamr.mk: Provide BH_MALLOC/BH_FREE Fix execute_main not wait for other threads Fix wamrc build error with llvm-14 Fix atomic wait not thread safe issue aot_emit_aot_file.c: Convert switch lookup table relocation aot_reloc_arm.c: Implement R_ARM_MOVW_ABS_NC and R_ARM_MOVT_ABS Enlarge max pool size and fix bh_memcpy_s dest max size check Auto dump mem/perf profiling in execute_main/execute_func doc/wasm_c_api.md: Mention relationship with wasm_export.h Add check for stack_min_addr in bound check with hardware trap

WAMR-01-18-2022

2 years ago

Fix some ESP-IDF issues, enable AOT and native stack overflow check Automatically detect the host platform in CMakeLists.txt Update document of multi-module Remove hardcoded stack size in thread_manager.c Upgrade uvwasi to 1.42.0 and fix Android link issues Fix some issues on MacOS platform Enable XIP on Windows platform GetCurrentThreadStackLimits dynamically for Windows platform Use clang+llvm released binaries instead of "apt install" in Dockerfile Update document about building wasm app with wasi-sdk Fix pointer unchecked issue in thread-mgr.c Correct stack base calculation on MacOS and NuttX Fix __wasi_subscription_t inconsistent with wasi-libc issue Fix aarch64 build support Refine llvm pass order Fix thread manager issues Refine is_xip_file and pointer range check Specify a commit ID for XNNPACK workload

WAMR-12-30-2021

2 years ago

Implement XIP feature and Implement float and integer conversion intrinsics Enable ARC target support Fix bug of invokeNative assembly on target arm_vfp/thumb/thumb_vfp Fix pthread_create callback arg issue Add missing aot relocation symbols for arm/thumb/riscv/xtensa Implement float and integer conversion intrinsics Appease some UBSan complaints Add ia32 support and fix compiling issue for RT-Thread Enable lazy Orc JIT Import test suites to test spec cases Enable wamr-test-suites on MacOS Allocate correct space for results before native callback is run Fix calling multi-module import func issue Implement missing wasm-c-api APIs and align to latest spec proposal Implement SIMD latest opcodes and update LLVM to 13.0 Implement source debugging for interpreter and AOT Customize clang-format coding styles based on Mozilla template Apply clang-format for C/C++ source files Refactor CI rules Set APP_THREAD_STACK_SIZE_DEFAULT/MIN for POSIX platforms Fix WASI type/macro misalignments Update wabt to latest version Simplify build setup for zephyr Fix app heap corrupted unchecked issue Fix a wrong alignment assumption when emitting aot file Enable emitting custom name section to aot file Enable source debugging for windows platform Remove duplicated wasi_dircookie_t typedef in libc_wasi_wrapper.h Support random debug port by assigning port = 0 Simplify some string size calculation when emitting AOT file Implement os_time_get_boot_microsecond() for sgx platform Refine interp/aot string storage and emitting to reduce footprint Fix some potential pointer overflow issues Enable huge page memory map for posix platforms Enable LLVM link time optimization (LTO) for AOT Enable ref types and bulk memory by default for wamrc Fix Win32 build error, endian, machine type, bit-width check errors Fix duplicated debug instance id in multiple native thread issue Implement atomic and memset/memmove/memcpy intrinsic for riscv Fix issue of wasm/aot file malformed format Refine code when aux stack global isn't found Don't throw exception while module_malloc failed Implement relocation R_AARCH64_JUMP26 for aarch64 Update IoT cloud demo Add new E_TYPE_XIP to indicate XIP mode Remove hardcoded stack size while creating pthread Add mipsel to wamrc supported target list libc-builtin: Fix the signature of strncasecmp native function Fix definition of int64_t in libc-builtin-sysroot Clear compile warnings reported by -Wshadow flag Port WAMR to ESP-IDF platform xip: Lookup float constants from table to reduce relocations Fix sensor framework timer issue and update sensor sample Implement GetCurrentThreadStackLimits() for Windows 7 Add WASI ABI compatibility check for multi-module Fix XNNPACK workload build error Update Zephyr document, add esp32c3 and particle_argon support Fix compile warning on non-x86 targets, fix alios build error

WAMR-08-10-2021

2 years ago

Implement post-MVP reference-types feature Implement most missing wasm-c-api APIs and enable Envoy integration Implement RISCV AOT support Implement boundary check with hardware trap feature on Windows platform Implement Windows thread/mutex/cond related APIs to support multi-thread Implement wasm_runtime_init_thread_env for Windows platform Refine AOT call function process Refine wasm-c-api call native function process Fix timer integer overflow issue on Zephyr platform Fix os_cond_timedwait and other issues for NuttX sim/macOS Fix build warnings on Linux, SGX and Windows Move wasm_application entry APIs out of wasm_runtime_common.c Enable multi-thread for tensorflow sample Enable populate file descriptors into WASM application in WASI mode Enable mpu stack for latest zephyr to enable app manager Enable spread module custom data to all threads Unify product-mini main.c implementation for POSIX compatible system Fix issues reported by gcc -fsanitize flag Implement clock()/clock_gettime() wrapper function for libc built-in Enable print float/double value in libc-builtin printf() wrapper Fix compile issues of samples Create TSC_Charter.md and add TSC members

WAMR-04-15-2021

3 years ago

Re-org fast-interpreter to support unaligned address access for some CPUs Implement auxiliary stack overflow/underflow check for AOT/JIT/interpreter Enable SIMD128 feature for AARCH64 target Implement realloc wrapper in builtin libc Update sample workload's scripts to align with latest emcc Fix aot code failed to run on darwin/android issue Fix aux stack overwritten issue when lib-pthread is enabled Fix pthread_join overwrite issue when lib-pthread is enabled Fix compile warnings on windows platform: dll linkage and others Fix llvm target vendor-sys-abi not correctly set issue on windows platform

WAMR-03-25-2021

3 years ago

Enable SIMD by default for wamrc and iwasm Upgrade llvm version from 10.x to 11.x for wamrc and iwasm JIT Enable libc-wasi support for Windows platform based on uvwasi Enable Windows platform JIT and SIMD support Enable Android libc-wasi support Enable to use BH_VPRINTF macro to redirect stdout output Fix windows AOT resolve symbol issues and relocation issues Fix wasm loader fail to lookup registered native symbol issue Set AOT code and data read-only after relocation Update global initialization process for latest spec cases Fix app manager fail to install large app file issue Remove unnecessary heap size check when creating wasi ctx Fix interpreter not update memory size after call native func Fix sample littlevgl/gui build issues on zephyr platform Fix some compilation warnings and enable Windows JIT