The format is based on Keep a Changelog.
- #1985 Bump minimum supported Rust version to 1.48
- #1969 Added D integration to the README
- #1979
WasmPtr::get_utf8_stringwas renamed toWasmPtr::get_utf8_strand madeunsafe.
- #1979
WasmPtr::get_utf8_stringnow returns aString, fixing a soundness issue in certain circumstances. The old functionality is available under a newunsafefunction,WasmPtr::get_utf8_str.
- #1894 Added exports
wasmer::{CraneliftOptLevel, LLVMOptLevel}to allow usingCranelift::opt_levelandLLVM::opt_leveldirectly via thewasmercrate
- #1941 Turn
get_remaining_points/set_remaining_pointsof theMeteringmiddleware into free functions to allow using them in an ahead-of-time compilation setup - #1955 Set
jitas a default feature of thewasmer-wasm-c-apicrate - #1944 Require
WasmerEnvto beSend + Synceven in dynamic functions. - #1963 Removed
to_wasm_errorin favour ofimpl From<BinaryReaderError> for WasmError - #1962 Replace
wasmparser::Result<()>withResult<(), MiddlewareError>in middleware, allowing implementors to return errors inFunctionMiddleware::feed
- #1949
wasm_<type>_vec_deletefunctions no longer crash when the given vector is uninitialized, in the Wasmer C API - #1949 The
wasm_frame_vec_t,wasm_functype_vec_t,wasm_globaltype_vec_t,wasm_memorytype_vec_t, andwasm_tabletype_vec_tare now boxed vectors in the Wasmer C API
- #1916 Add the
WASMER_VERSION*constants with thewasmer_version*functions in the Wasmer C API - #1867 Added
Metering::get_remaining_pointsandMetering::set_remaining_points - #1881 Added
UnsupportedTargeterror toCompileError - #1908 Implemented
TryFrom<Value<T>>fori32/u32/i64/u64/f32/f64 - #1927 Added mmap support in
Engine::deserialize_from_fileto speed up artifact loading - #1911 Generalized signature type in
Function::newandFunction::new_with_envto accept owned and referenceFunctionTypeas well as array pairs. This allows users to define signatures as constants. ImplementedFrom<([Type; $N], [Type; $M])>forFunctionTypeto support this.
- #1865 Require that implementors of
WasmerEnvalso implementSend,Sync, andClone. - #1851 Improve test suite and documentation of the Wasmer C API
- #1874 Set
CompilerConfigto be owned (following wasm-c-api) - #1880 Remove cmake dependency for tests
- #1924 Rename reference implementation
wasmer::Tunablestowasmer::BaseTunables. Export traitwasmer_engine::Tunablesaswasmer::Tunables.
- #1865 Fix memory leaks with host function environments.
- #1870 Fixed Trap instruction address maps in Singlepass
- #1914 Implemented
TryFrom<Bytes> for Pagesinstead ofFrom<Bytes> for Pagesto properly handle overflow errors
- #1839 Added support for Metering Middleware
- #1837 It is now possible to use exports of an
Instanceeven after theInstancehas been freed - #1831 Added support for Apple Silicon chips (
arm64-apple-darwin) - #1739 Improved function environment setup via
WasmerEnvproc macro. - #1649 Add outline of migration to 1.0.0 docs.
- #1739 Environments passed to host function- must now implement the
WasmerEnvtrait. You can implement it on your existing type with#[derive(WasmerEnv)]. - #1838 Deprecate
WasiEnv::state_mut: preferWasiEnv::stateinstead. - #1663 Function environments passed to host functions now must be passed by
&instead of&mut. This is a breaking change. This change fixes a race condition when a host function is called from multiple threads. If you need mutability in your environment, consider usingstd::sync::Mutexor other synchronization primitives. - #1830 Minimum supported Rust version bumped to 1.47.0
- #1810 Make the
statefield ofWasiEnvpublic
- #1857 Fix dynamic function with new Environment API
- #1855 Fix memory leak when using
wat2wasmin the C API, the function now takes its output parameter by pointer rather than returning an allocatedwasm_byte_vec_t. - #1841 We will now panic when attempting to use a native function with a captured env as a host function. Previously this would silently do the wrong thing. See #1840 for info about Wasmer's support of closures as host functions.
- #1764 Fix bug in WASI
path_renameallowing renamed files to be 1 directory below a preopened directory.
- #1761 Implement the
wasm_trap_t**argument ofwasm_instance_newin the Wasm C API. - #1687 Add basic table example; fix ownership of local memory and local table metadata in the VM.
- #1751 Implement
wasm_trap_tinside a function declared withwasm_func_new_with_envin the Wasm C API. - #1741 Implement
wasm_memory_typein the Wasm C API. - #1736 Implement
wasm_global_typein the Wasm C API. - #1699 Update
wasm.hto its latest version. - #1685 Implement
wasm_exporttype_deletein the Wasm C API. - #1725 Implement
wasm_func_typein the Wasm C API. - #1715 Register errors from
wasm_module_serializein the Wasm C API. - #1709 Implement
wasm_module_nameandwasm_module_set_namein the Wasm(er) C API. - #1700 Implement
wasm_externtype_copyin the Wasm C API. - #1785 Add more examples on the Rust API.
- #1783 Handle initialized but empty results in
wasm_func_callin the Wasm C API. - #1780 Implement new SIMD zero-extend loads in compiler-llvm.
- #1754 Implement aarch64 ABI for compiler-llvm.
- #1693 Add
wasmer create-exesubcommand.
- #1772 Remove lifetime parameter from
NativeFunc. - #1762 Allow the
=sign in a WASI environment variable value. - #1710 Memory for function call trampolines is now owned by the Artifact.
- #1781 Cranelift upgrade to 0.67.
- #1777 Wasmparser update to 0.65.
- #1775 Improve LimitingTunables implementation.
- #1720 Autodetect llvm regardless of architecture.
- #1718 Fix panic in the API in some situations when the memory's min bound was greater than the memory's max bound.
- #1731 In compiler-llvm always load before store, to trigger any traps before any bytes are written.
- #1635 Implement
wat2wasmin the Wasm C API. - #1636 Implement
wasm_module_validatein the Wasm C API. - #1657 Implement
wasm_trap_tandwasm_frame_tfor Wasm C API; add examples in Rust and C of exiting early with a host function.
- #1690 Fix
wasm_memorytype_limitswhereminandmaxrepresents pages, not bytes. Additionally, fixes the max limit sentinel value. - #1671 Fix probestack firing inappropriately, and sometimes over/under allocating stack.
- #1660 Fix issue preventing map-dir aliases starting with
/from working properly. - #1624 Add Value::I32/Value::I64 converters from unsigned ints.
- #1682 Improve error reporting when making a memory with invalid settings.
- #1691 Bump minimum supported Rust version to 1.46.0
- #1645 Move the install script to https://github.com/wasmerio/wasmer-install
- #1620 Fix bug causing the Wapm binary to not be packaged with the release
- #1619 Improve error message in engine-native when C compiler is missing
- #1566 Add support for opening special Unix files to the WASI FS
- #1602 Fix panic when calling host functions with negative numbers in certain situations
- #1590 Fix soundness issue in API of vm::Global
- Wasmer refactor lands
- #1439 Move
wasmer-interface-typesinto its own repository
- #1331 Implement the
recordtype and instrutions for WIT - #1345 Adding ARM testing in Azure Pipelines
- #1329 New numbers and strings instructions for WIT
- #1285 Greatly improve errors in
wasmer-interface-types - #1303 NaN canonicalization for singlepass backend.
- #1313 Add new high-level public API through
wasmercrate. Includes many updates including:- Minor improvement:
imports!macro now handles no trailing comma as well as a trailing comma in namespaces and between namespaces. - New methods on
Module:exports,imports, andcustom_sections. - New way to get exports from an instance with
let func_name: Func<i32, i64> = instance.exports.get("func_name");. - Improved
TableAPIs includingsetwhich now allows setting functions directly. TODO: update this more ifTable::getgets made public in this PR - TODO: finish the list of changes here
- Minor improvement:
- #1305 Handle panics from DynamicFunc.
- #1300 Add support for multiple versions of WASI tests: wasitests now test all versions of WASI.
- #1292 Experimental Support for Android (x86_64 and AArch64)
- #1283 Workaround for floating point arguments and return values in
DynamicFuncs.
- #1401 Make breaking change to
RuntimeError:RuntimeErroris now more explicit about its possible error values allowing for better insight into why a call into Wasm failed. - #1382 Refactored test infranstructure (part 2)
- #1380 Refactored test infranstructure (part 1)
- #1357 Refactored bin commands into separate files
- #1335 Change mutability of
memorytoconstinwasmer_memory_data_lengthin the C API - #1332 Add option to
CompilerConfigto force compiler IR verification off even whendebug_assertionsare enabled. This can be used to make debug builds faster, which may be important if you're creating a library that wraps Wasmer and depend on the speed of debug builds. - #1320 Change
custom_sectionsfield inModuleInfoto be more standards compliant by allowing multiple custom sections with the same name. To get the old behavior with the new API, you can add.last().unwrap()to accesses. For example,module_info.custom_sections["custom_section_name"].last().unwrap(). - #1301 Update supported stable Rust version to 1.41.1.
- #1294 Fix bug related to system calls in WASI that rely on reading from WasmPtrs as arrays of length 0.
WasmPtrwill now succeed on length 0 arrays again.
- #1291 Fix installation packaging script to package the
waxcommand.
- #1286 Updated Windows Wasmer icons. Add wax
- #1284 Implement string and memory instructions in
wasmer-interface-types
- #1272 Fix off-by-one error bug when accessing memory with a
WasmPtrthat contains the last valid byte of memory. Also changes the behavior ofWasmPtr<T, Array>with a length of 0 andWasmPtr<T>wherestd::mem::size_of::<T>()is 0 to always returnNone
- #1263 Changed the behavior of some WASI syscalls to now handle preopened directories more properly. Changed default
--debuglogging to only show Wasmer-related messages. - #1217 Polymorphic host functions based on dynamic trampoline generation.
- #1252 Allow
/in wasi--mapdirwasm path. - #1212 Add support for GDB JIT debugging:
- Add
--generate-debug-infoand-gflags towasmer runto generate debug information during compilation. The debug info is passed via the GDB JIT interface to a debugger to allow source-level debugging of Wasm files. Currently only available on clif-backend. - Break public middleware APIs: there is now a
source_locparameter that should be passed through if applicable. - Break compiler trait methods such as
feed_local,feed_eventas well asModuleCodeGenerator::finalize.
- Add
- #1245 Use Ubuntu 16.04 in CI so that we use an earlier version of GLIBC.
- #1234 Check for unused excluded spectest failures.
- #1232
wasmer-interface-typeshas a WAT decoder.
- #1233 Improved Wasmer C API release artifacts.
- #1216
wasmer-interface-typesreceives a binary encoder. - #1228 Singlepass cleanup: Resolve several FIXMEs and remove protect_unix.
- #1218 Enable Cranelift verifier in debug mode. Fix bug with table indices being the wrong type.
- #787 New crate
wasmer-interface-typesto implement WebAssembly Interface Types. - #1213 Fixed WASI
fdstatto detectisattyproperly. - #1192 Use
ExceptionCodefor error representation. - #1191 Fix singlepass miscompilation on
Operator::CallIndirect. - #1180 Fix compilation for target
x86_64-unknown-linux-musl. - #1170 Improve the WasiFs builder API with convenience methods for overriding stdin, stdout, and stderr as well as a new sub-builder for controlling the permissions and properties of preopened directories. Also breaks that implementations of
WasiFilemust beSend-- please file an issue if this change causes you any issues. - #1161 Require imported functions to be
Send. This is a breaking change that fixes a soundness issue in the API. - #1140 Use
blake3as default hashing algorithm for caching. - #1129 Standard exception types for singlepass backend.
- Fix bug in wapm related to the
package.wasmer_extra_flagsentry in the manifest
Special thanks to @repi and @srenatus for their contributions!
- #1153 Added Wasmex, an Elixir language integration, to the README
- #1133 New
wasmer_trapfunction in the C API, to properly error from within a host function - #1147 Remove
logandtracemacros fromwasmer-runtime-core, removedebugandtracefeatures fromwasmer-*crates, use thelogcrate for logging and usefernin the Wasmer CLI binary to output log messages. Colorized output will be enabled automatically if printing to a terminal, to force colorization on or off, set theWASMER_COLORenvironment variable totrueorfalse. - #1128 Fix a crash when a host function is missing and the
allow_missing_functionsflag is enabled - #1099 Remove
backend::Backendfromwasmer_runtime_core - #1097 Move inline breakpoint outside of runtime backend
- #1095 Update to cranelift 0.52.
- #1092 Add
get_utf8_string_with_nultoWasmPtrto read nul-terminated strings from memory. - #1071 Add support for non-trapping float-to-int conversions, enabled by default.
Special thanks to @ethanfrey, @AdamSLevy, @Jasper-Bekkers, @srenatus for their contributions!
- #1078 Increase the maximum number of parameters
Funccan take - #1062 Expose some opt-in Emscripten functions to the C API
- #1032 Change the signature of the Emscripten
abortfunction to work with Emscripten 1.38.30 - #1060 Test the capi with all the backends
- #1069 Add function
get_memory_and_datatoCtxto help prevent undefined behavior and mutable aliasing. It allows accessing memory while borrowing data mutably for theCtxlifetime. This new function is now being used inwasmer-wasi. - #1058 Fix minor panic issue when
wasmer::compile_withcalled with llvm backend. - #858 Minor panic fix when wasmer binary with
loaderoption run a module without exported_startfunction. - #1056 Improved
--invokeargs parsing (supportingi32,i64,f32andf32) in Wasmer CLI - #1054 Improve
--invokeoutput in Wasmer CLI - #1053 For RuntimeError and breakpoints, use Box<Any + Send> instead of Box.
- #1052 Fix minor panic and improve Error handling in singlepass backend.
- #1050 Attach C & C++ headers to releases.
- #1033 Set cranelift backend as default compiler backend again, require at least one backend to be enabled for Wasmer CLI
- #1044 Enable AArch64 support in the LLVM backend.
- #1030 Ability to generate
ImportObjectfor a specific version WASI version with the C API. - #1028 Introduce strict/non-strict modes for
get_wasi_version - #1029 Add the “floating”
WasiVersion::Latestversion. - #1006 Fix minor panic issue when
wasmer::compile_withcalled with llvm backend - #1009 Enable LLVM verifier for all tests, add new llvm-backend-tests crate.
- #1022 Add caching support for Singlepass backend.
- #1004 Add the Auto backend to enable to adapt backend usage depending on wasm file executed.
- #1068 Various cleanups for the singlepass backend on AArch64.
- #713 Add AArch64 support for singlepass.
- #995 Detect when a global is read without being initialized (emit a proper error instead of panicking)
- #996 Refactored spectests, emtests and wasitests to use default compiler logic
- #992 Updates WAPM version to 0.4.1, fix arguments issue introduced in #990
- #990 Default wasmer CLI to
run. Wasmer will now attempt to parse unrecognized command line options as if they were applied to the run command:wasmer mywasm.wasm --dir=.now works! - #987 Fix
runtime-c-apiheader files when compiled by gnuc. - #957 Change the meaning of
wasmer_wasi::is_wasi_moduleto detect any type of WASI module, add support for new wasi snapshot_preview1 - #934 Simplify float expressions in the LLVM backend.
- #968 Added
--invokeoption to the command - #964 Enable cross-compilation for specific target
- #971 In LLVM backend, use unaligned loads and stores for non-atomic accesses to wasmer memory.
- #960 Fix
runtime-c-apiheader files when compiled by clang. - #925 Host functions can be closures with a captured environment.
- #917 Host functions (aka imported functions) may not have
&mut vm::Ctxas first argument, i.e. the presence of the&mut vm::Ctxargument is optional. - #915 All backends share the same definition of
Trampoline(defined inwasmer-runtime-core).
- #952 Use C preprocessor to properly hide trampoline functions on Windows and non-x86_64 targets.
Special thanks to @newpavlov and @Maxgy for their contributions!
- #942 Deny missing docs in runtime core and add missing docs
- #939 Fix bug causing attempts to append to files with WASI to delete the contents of the file
- #940 Update supported Rust version to 1.38+
- #923 Fix memory leak in the C API caused by an incorrect cast in
wasmer_trampoline_buffer_destroy - #921 In LLVM backend, annotate all memory accesses with TBAA metadata.
- #883 Allow floating point operations to have arbitrary inputs, even including SNaNs.
- #856 Expose methods in the runtime C API to get a WASI import object
Special thanks to @alocquet for their contributions!
- #898 State tracking is now disabled by default in the LLVM backend. It can be enabled with
--track-state. - #861 Add descriptions to
unimplemented!macro in various places - #897 Removes special casing of stdin, stdout, and stderr in WASI. Closing these files now works. Removes
stdin,stdout, andstderrfromWasiFS, replaced by the methodsstdout,stdout_mut, and so on. - #863 Fix min and max for cases involving NaN and negative zero when using the LLVM backend.
Special thanks to @jdanford for their contributions!
- #850 New
WasiStateBuilderAPI. small, add misc. breaking changes to existing API (for example, changing the preopen dirs arg onwasi::generate_import_objectfromVec<String>toVec<Pathbuf>) - #852 Make minor grammar/capitalization fixes to README.md
- #841 Slightly improve rustdoc documentation and small updates to outdated info in readme files
- #836 Update Cranelift fork version to
0.44.0 - #839 Change supported version to stable Rust 1.37+
- #834 Fix panic when unwraping
wasmerarguments - #835 Add parallel execution example (independent instances created from the same
ImportObjectandModulerun with rayon) - #834 Fix panic when parsing numerical arguments for no-ABI targets run with the wasmer binary
- #833 Add doc example of using ImportObject's new
maybe_with_namespacemethod - #832 Delete unused runtime ABI
- #809 Fix bugs leading to panics in
LocalBacking. - #831 Add support for atomic operations, excluding wait and notify, to singlepass.
- #822 Update Cranelift fork version to
0.43.1 - #829 Fix deps on
make bench-*commands; benchmarks don't compile other backends now - #807 Implement Send for
Instance, breaking change onImportObject, remove methodget_namespacereplaced withwith_namespaceandmaybe_with_namespace - #817 Add document for tracking features across backends and language integrations, [docs/feature_matrix.md]
- #823 Improved Emscripten / WASI integration
- #821 Remove patch version on most deps Cargo manifests. This gives Wasmer library users more control over which versions of the deps they use.
- #820 Remove null-pointer checks in
WasmPtrfrom runtime-core, re-add them in Emscripten - #803 Add method to
Ctxto invoke functions by theirTableIndex - #790 Fix flaky test failure with LLVM, switch to large code model.
- #788 Use union merge on the changelog file.
- #785 Include Apache license file for spectests.
- #786 In the LLVM backend, lower atomic wasm operations to atomic machine instructions.
- #784 Fix help string for wasmer run.
Special thanks to @YaronWittenstein @penberg for their contributions.
- #776 Allow WASI preopened fds to be closed
- #774 Add more methods to the
WasiFiletrait - #772 #770 Handle more internal failures by passing back errors
- #756 Allow NULL parameter and 0 arity in
wasmer_export_func_callC API - #747 Return error instead of panicking on traps when using the Wasmer binary
- #741 Add validate Wasm fuzz target
- #733 Remove dependency on compiler backends for
middleware-common - #732 #731 WASI bug fixes and improvements
- #726 Add serialization and deserialization for Wasi State
- #716 Improve portability of install script
- #714 Add Code of Conduct
- #708 Remove unconditional dependency on Cranelift in the C API
- #703 Fix compilation on AArch64 Linux
- #702 Add SharedMemory to Wasmer. Add
--enable-threadsflag, add partial implementation of atomics to LLVM backend. - #698 #690 #687 Fix panics in Emscripten
- #689 Replace
wasmer_runtime_code::memory::Atomicwithstd::sync::atomicatomics, changing its interface - #680 #673 #669 #660 #659 Misc. runtime and singlepass fixes
- #677 #675 #674 LLVM backend fixes and improvements
- #671 Implement fs polling in
wasi::poll_oneofffor Unix-like platforms - #656 Move CI to Azure Pipelines
- #650 Implement
wasi::path_rename, improve WASI FS public api, and allow open files to exist even when the underlying file is deleted - #643 Implement
wasi::path_symlinkand improve WASI FS public api IO error reporting - #608 Implement wasi syscalls
fd_allocate,fd_sync,fd_pread,path_link,path_filestat_set_times; update WASI fs API in a WIP way; reduce coupling of WASI code to host filesystem; make debug messages from WASI more readable; improve rights-checking when calling syscalls; implement reference counting on inodes; misc bug fixes and improvements - #616 Create the import object separately from instance instantiation in
runtime-c-api - #620 Replace one
throw()withnoexceptin llvm backend - #618 Implement
InternalEvent::Breakpointin the llvm backend to allow metering in llvm - #615 Eliminate
FunctionEnvironmentconstruction infeed_event()speeding up to 70% of compilation in clif - #609 Update dependencies
- #602 C api extract instance context from instance
- #590 Error visibility changes in wasmer-c-api
- #589 Make
wasmer_byte_arrayfieldspublicin wasmer-c-api
- #603 Update Wapm-cli, bump version numbers
- #595 Add unstable public API for interfacing with the WASI file system in plugin-like usecases
- #598 LLVM Backend is now supported in Windows
- #599 Fix llvm backend failures in fat spec tests and simd_binaryen spec test.
- #579 Fix bug in caching with LLVM and Singlepass backends.
Add
default-backend-singlepass,default-backend-llvm, anddefault-backend-craneliftfeatures towasmer-runtimeto control thedefault_compiler()function (this is a breaking change). Addcompiler_for_backendfunction inwasmer-runtime - #561 Call the
data_finalizerfield on theCtx - #576 fix
Dropof uninitCtx - #542 Add SIMD support to Wasmer (LLVM backend only)
- Updates LLVM to version 8.0
- #575 Prepare for release; update wapm to 0.3.6
- #555 WASI filesystem rewrite. Major improvements
- adds virtual root showing all preopened directories
- improved sandboxing and code-reuse
- symlinks work in a lot more situations
- many misc. improvements to most syscalls touching the filesystem
- #565 Update wapm and bump version to 0.5.6
- #563 Improve wasi testing infrastructure
- fixes arg parsing from comments & fixes the mapdir test to have the native code doing the same thing as the WASI code
- makes wasitests-generate output stdout/stderr by default & adds function to print stdout and stderr for a command if it fails
- compiles wasm with size optimizations & strips generated wasm with wasm-strip
- #554 Finish implementation of
wasi::fd_seek, fix bug in filestat - #550 Fix singlepass compilation error with
imulinstruction
- #541 Fix dependency graph by making separate test crates; ABI implementations should not depend on compilers. Add Cranelift fork as git submodule of clif-backend
- #537 Add hidden flag (
--cache-key) to use prehashed key into the compiled wasm cache and change compiler backend-specific caching to use directories - #536
Update cache to use compiler backend name in cache key
- #529 Updates the Wasm Interface library, which is used by wapm, with bug fixes and error message improvements
- #523 Update wapm version to fix bug related to signed packages in the global namespace and locally-stored public keys
- #516 Add workaround for singlepass miscompilation on GetLocal
- #521 Update Wapm-cli, bump version numbers
- #518 Update Cranelift and WasmParser
- #514 #519 Improved Emscripten network related calls, added a null check to
WasmPtr - #515 Improved Emscripten dyncalls
- #513 Fix emscripten lseek implementation.
- #510 Simplify construction of floating point constants in LLVM backend. Fix LLVM assertion failure due to definition of %ctx.
- #508 Update wapm version, includes bug fixes
- #471 Added missing functions to run Python. Improved Emscripten bindings
- #494 Remove deprecated type aliases from libc in the runtime C API
- #493
wasmer_module_instantiatehas better error messages in the runtime C API - #474 Set the install name of the dylib to
@rpath - #490 Add MiddlewareChain and StreamingCompiler to runtime
- #487 Fix stack offset check in singlepass backend
- #450 Added Metering
- #481 Added context trampoline into runtime
- #484 Fix bugs in emscripten socket syscalls
- #476 Fix bug with wasi::environ_get, fix off by one error in wasi::environ_sizes_get
- #470 Add mapdir support to Emscripten, implement getdents for Unix
- #467
wasmer_instantiatereturns better error messages in the runtime C API - #463 Fix bug in WASI path_open allowing one level above preopened dir to be accessed
- #461 Prevent passing negative lengths in various places in the runtime C API
- #459 Add monotonic and real time clocks for wasi on windows
- #447 Add trace macro (
--features trace) for more verbose debug statements - #451 Add
--mapdir=src:destflag to rename host directories in the guest context - #457 Implement file metadata for WASI, fix bugs in WASI clock code for Unix platforms
- #416 Remote code loading framework
- #449 Fix bugs: opening host files in filestat and opening with write permissions unconditionally in path_open
- #442 Misc. WASI FS fixes and implement readdir
- #440 Fix type mismatch between
wasmer_instance_callandwasmer_export_func_*_arityfunctions in the runtime C API. - #269 Add better runtime docs
- #432 Fix returned value of
wasmer_last_error_messagein the runtime C API - #429 Get wasi::path_filestat_get working for some programs; misc. minor WASI FS improvements
- #413 Update LLVM backend to use new parser codegen traits
- #426 Update wapm-cli submodule, bump version to 0.4.1
- #422 Improved Emscripten functions to run optipng and pngquant compiled to wasm
- #409 Improved Emscripten functions to run JavascriptCore compiled to wasm
- #399 Add example of using a plugin extended from WASI
- #397 Fix WASI fs abstraction to work on Windows
- #390 Pin released wapm version and add it as a git submodule
- #408 Add images to windows installer and update installer to add wapm bin directory to path
- #383 Hook up wasi exit code to wasmer cli.
- #382 Improve error message on
--backendflag to only suggest currently enabled backends - #381 Allow retrieving propagated user errors.
- #379 Fix small return types from imported functions.
- #371 Add more Debug impl for WASI types
- #368 Fix issue with write buffering
- #343 Implement preopened files for WASI and fix aligment issue when accessing WASI memory
- #367 Add caching support to the LLVM backend.
- #366 Remove
UserTrappertrait to fix #365. - #348 Refactor internal runtime
↔️ backend abstraction. - #355 Misc changes to
Cargo.tomls for publishing - #352 Bump version numbers to 0.3.0
- #351 Add hidden option to specify wasm program name (can be used to improve error messages)
- #350 Enforce that CHANGELOG.md is updated through CI.
- #349 Add CHANGELOG.md.
- #276 #288 #344 Use new singlepass backend (with the
--backend=singlepasswhen running Wasmer) - #338 Actually catch traps/panics/etc when using a typed func.
- #325 Fixed func_index in debug mode
- #323 Add validate subcommand to validate Wasm files
- #321 Upgrade to Cranelift 0.3.0
- #319 Add Export and GlobalDescriptor to Runtime API
- #310 Cleanup warnings
- #299 #300 #301 #303 #304 #305 #306 #307 Add support for WASI 🎉
- #286 Add extend to imports
- #278 Add versioning to cache
- #250 Setup bors