Releases: wasmerio/wasmer
0.13.1
0.13.0
This release of Wasmer is focused mostly on core technical improvements and ships with various bug fixes and improvements to wapm and Wasmer! Included in this release is the enable-experimental-io-devices
which allows users to use some in-development, non-standard, IO-related features that we're working on before they get standardized.
🏆 Contributors
We'd like to thank everyone that contributed into this release of Wasmer, with special thanks to:
🏅 @srenatus for adding a method to WasmPtr
to safely read NUL-terminated strings from Wasm memory.
See the changelog for more information about this release.
0.12.0
🎅 Santa came a bit early this year!
This version of Wasmer ships with ARM (Aarch64) support on the LLVM backend, improved APIs around WASI in the Rust and C APIs, caching support for the Singlepass backend, and many more miscellaneous improvements!
🏆 Contributors
We'd like to thank everyone that contributed into this release of Wasmer, with special thanks to:
🏅 @ethanfrey for fixing linking of Singlepass in the C API
🏅 @AdamSLevy for adding include guards in the C API for optional functions and types and work on improving middleware
🏅 @YaronWittenstein for adding the deterministic-execution
feature flag for enabling features relating to improved determinism in the generated code
Changelog
- #1078 Increase the maximum number of parameters Func can take
- #1062 Expose some Emscripten functions to the C API as opt-in features to runtime-c-api
- #1056 Improved --invoke args parsing (supporting i32, i64, f32 and f32) in Wasmer CLI
- #1050 Attach C & C++ headers to releases.
- #1044 Enable AArch64 support in the LLVM backend.
- #1030 Ability to generate ImportObject for a specific version WASI version with the C API.
- #1028 Introduce strict/non-strict modes for get_wasi_version
- #1029 Add the “floating” WasiVersion::Latest version.
- #1022 Add caching support for Singlepass backend.
0.11.0
This version of Wasmer ships with support to ARM (Aarch64) devices 🎉. We also improved the ergonomics of the Wasmer CLI, and now you can run wasm files directly without run (e.g. wasmer myfile.wasm
).
🏆 Contributors
We'd like to thank everyone that contributed into this release of Wasmer, with special thanks to:
- 🏅 @CensoredUsername for his excellent work on making dynasm available for ARM, sponsored by Wasmer.
Changelog
- #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-api
header files when compiled by gnuc. - #957 Change the meaning of
wasmer_wasi::is_wasi_module
to detect any type of WASI module, add support for new wasi snapshot_preview1
0.10.2
This version of Wasmer ships a fix on the C-API bug, a new feature that allows using function closures on imports and a unified version of Trampoline
.
🏆 Contributors
We'd like to thank everyone that contributed into this release of Wasmer, with special thanks to:
- 🏅 @kripken for reporting a issue in unaligned load/stores in non-atomic operations
- 🏅 @xofyarg for adding cross-compilation to the LLVM backend
Changelog
0.10.2 - 2019-11-15
- #968 Added
--invoke
option to the command - #964 Enable compilation for specific target
- #971 In LLVM backend, use unaligned loads and stores for non-atomic accesses to wasmer memory.
- #960 Fix
runtime-c-api
header 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::Ctx
as first argument, i.e. the presence of the&mut vm::Ctx
argument is optional. - #915 All backends share the same definition of
Trampoline
(defined inwasmer-runtime-core
).
0.10.1
Minor update, fixes bug migrating wapm.lock
file from version 3 to version 4 and adds preprocessor logic to the C API so that only valid functions are exposed.
0.10.0
This version of Wasmer ships with multiple speed improvements to the LLVM backend, the WASI ImportObject exposed in the C API, various bug fixes and improvements, and a new version of wapm
with wapm add
, wapm remove
, and an improved wapm init
subcommand.
🏆 Contributors
We'd like to thank everyone that contributed into this release of Wasmer, with special thanks to:
- 🏅 @newpavlov for improving the random usage in WASI
- 🏅 @Maxgy for helping us a bit on the docs grammar :)
Changelog
For a complete list of notable changes, check out the CHANGELOG.
Some highlights are:
- #939 Fix bug causing attempts to append to files with WASI to delete the contents of the file
- #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
To update run wasmer self-update
. For installation instructions, wasmer.io
0.9.0
This version of Wasmer ships with various improvements to the LLVM backend (1.5~2x faster runtime), updates the WASI API, and adds various bug fixes and improvements.
🏆 Contributors
We'd like to thank everyone that contributed into Wasmer, with special thanks to:
- 🏅 @alocquet for adding download links to the precompiled libraries in the C API README
Changelog
For a complete list of notable changes, check out the CHANGELOG.
Some highlights are:
- #898- we disabled state tracking by default in our generated LLVM code leading to a major speed improvement for uses that don't need it. It can be reenabled with the
--track-state
flag. This - #897 - removes special casing of stdin, stdout, and stderr in WASI. This fixes issues like calling
fd_close
on these files. They may still be accessed fromWasiFS
with thestdout
,stdout_mut
,stdin
,stdin_mut
,stderr
, andstderr_mut
methods. - #863 - fixed edge cases in max and min on floating point numbers in LLVM
To update run wasmer self-update
. For installation instructions, wasmer.io
0.8.0
This version of Wasmer ships with many bug fixes and improvements as well as some exciting new features such as atomic operations, host-to-guest callbacks, and Instance
being Send
.
🏆 Contributors
We'd like to thank everyone that contributed into Wasmer, with special thanks to:
- 🏅 @jdanford for improving and cleaning up our docs in markdown files
Changelog
For a complete list of notable changes, check out the CHANGELOG.
Here are some highlights:
- #786 - implement atomic memory operations in the LLVM backend
- #803 - Add a method to
Ctx
to invoke functions byTableIndex
. See the callback example to see this in action! - #807 - Implement
Send
onInstance
. This removesImportObject::get_namespace
, replacing it with thewith_namespace
andmaybe_with_namespace
methods. - #817 - add a feature matrix document for tracking features.
- #820 - remove null pointer checks in hostcalls in WASI. Per the standard, it's valid to use address 0.
- #835 - add parallel execution example
- #839 - increase the official minimum supported Rust version to 1.37
- #850 - add a new API for constructing
WasiState
objects (introduces a small breaking change in the type signatures ofwasmer_wasi::generate_import_object
andwasmer_wasi::state::WasiFs::new
)
To update run wasmer self-update
. For installation instructions, wasmer.io
0.7.0
This version of Wasmer ships with various improvements to the C-API and to our WASI implementation. It also improves the compilation speed of our Cranelift backend by 40% and includes multiple improvements to the LLVM backend.
🏆 Contributors
We'd like to thank everyone that contributed into Wasmer, with special thanks to:
- 🏅 @penberg for improving the compilation speed by 40%
- 🏅 @YaronWittenstein for improving the C-API
- 🏅 @pventuzelo for adding Fuzzing into Wasmer
Changelog
For a complete list of notable changes, check out the CHANGELOG.
- #589 #590 #602 #616 #708 #756 Improvements to the C API
- #608 #643 #650 #671 #726 #731 #732 #774 #776 Improvements to our WASI implementation and API when using WASI in embedded contexts
- Our WASI implementation now implements all system calls
- #618 #620 #674 #675 #677 #702 LLVM backend improvements
- The
wasmer-middleware-common
crate on crates.io - Many bug fixes, optimizations, and stability improvements to our runtime, compilers, and emscripten implementation
To update run wasmer self-update
. For installation instructions, wasmer.io