Skip to content

Releases: wasmerio/wasmer

0.12.0

19 Dec 17:44
6fb52e8
Compare
Choose a tag to compare

🎅 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

22 Nov 20:40
Compare
Choose a tag to compare

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:

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

18 Nov 21:56
95368aa
Compare
Choose a tag to compare

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 in wasmer-runtime-core).

0.10.1

12 Nov 00:59
3991db5
Compare
Choose a tag to compare

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

11 Nov 22:52
2343075
Compare
Choose a tag to compare

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

24 Oct 00:01
aa8b968
Compare
Choose a tag to compare

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 from WasiFS with the stdout, stdout_mut, stdin, stdin_mut, stderr, and stderr_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

03 Oct 00:17
65637be
Compare
Choose a tag to compare

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 by TableIndex. See the callback example to see this in action!
  • #807 - Implement Send on Instance. This removes ImportObject::get_namespace, replacing it with the with_namespace and maybe_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 of wasmer_wasi::generate_import_object and wasmer_wasi::state::WasiFs::new)

To update run wasmer self-update. For installation instructions, wasmer.io

0.7.0

12 Sep 22:57
793fd60
Compare
Choose a tag to compare

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:

Changelog

For a complete list of notable changes, check out the CHANGELOG.

To update run wasmer self-update. For installation instructions, wasmer.io

0.6.0

31 Jul 18:30
Compare
Choose a tag to compare

The version 0.6.0 of Wasmer focus on stability and performance. We added support for SIMD in the LLVM backend, and the ability of running WebAssembly files with LLVM backend on Windows (including SIMD). We also shipped some fixes that improves stability and performance overall.

Changelog

  • #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, and default-backend-cranelift features to wasmer-runtime
    to control the default_compiler() function (this is a breaking change). Add compiler_for_backend function in wasmer-runtime
  • #561 Call the data_finalizer field on the Ctx
  • #576 fix Drop of uninit Ctx
  • #542 Add SIMD support to Wasmer (LLVM backend only)
    • Updates LLVM to version 8.0

0.5.7

23 Jul 20:42
Compare
Choose a tag to compare

Wasmer 0.5.7 ships with a complete refactor of the WASI filesystem and a newer version of wapm with improved speed and better developer experience for new updates.

Changelog

  • #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