Wasmtime

Latest version: v21.0.0

Safety actively analyzes 634582 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 17

22.0.0

Unreleased.

Added

Changed

--------------------------------------------------------------------------------

21.0.0

Released 2024-05-20

Added

* The `wasmtime explore` subcommand now supports `*.wat` files.
[8314](https://github.com/bytecodealliance/wasmtime/issues/8314)

* Wasmtime now supports DWARF Fission `*.dwp` files.
[8055](https://github.com/bytecodealliance/wasmtime/issues/8055)

* The `wasmtime` crate now supports `![no_std]`, and more information about
this transition can be found in
[8341](https://github.com/bytecodealliance/wasmtime/issues/8341).
[8463](https://github.com/bytecodealliance/wasmtime/issues/8463)
[8483](https://github.com/bytecodealliance/wasmtime/issues/8483)
[8485](https://github.com/bytecodealliance/wasmtime/issues/8485)
[8528](https://github.com/bytecodealliance/wasmtime/issues/8528)
[8533](https://github.com/bytecodealliance/wasmtime/issues/8533)

* A `Config` knob is now available for one-entry `call_indirect` caching to
speed up modules with lots of `call_indirect` instructions.
[8509](https://github.com/bytecodealliance/wasmtime/issues/8509)

* Cranelift's riscv64 backend has initial support for the Zfa Extension.
[8536](https://github.com/bytecodealliance/wasmtime/issues/8536)

* The WebAssembly `tail-calls` proposal is now enabled by default when using the
Cranelift backend, except for the s390x architecture.
[8540](https://github.com/bytecodealliance/wasmtime/issues/8540)

Changed

* Support for NaN canonicalization on x64 has been optimized to avoid branches.
[8313](https://github.com/bytecodealliance/wasmtime/issues/8313)

* The `bindgen!` macro now defaults to assuming imports cannot trap, but this
behavior is configurable at macro-generation time.
[8310](https://github.com/bytecodealliance/wasmtime/issues/8310)

* The `fd_{read,write}` implementations in wasmtime-wasi have been optimized.
[8303](https://github.com/bytecodealliance/wasmtime/issues/8303)

* The `wasmtime-wasi-http` crate has been refactored and has improved
documentation.
[8332](https://github.com/bytecodealliance/wasmtime/issues/8332)
[8347](https://github.com/bytecodealliance/wasmtime/issues/8347)

* Unused `with` parameters in `bindgen!` now generate an error.
[8371](https://github.com/bytecodealliance/wasmtime/issues/8371)

* The `fd_read` implementation in wasmtime-wasi now only reads into a single
iovec per call.
[8415](https://github.com/bytecodealliance/wasmtime/issues/8415)

* The `wasmtime_val_t` type in the C API no longer holds any allocations. This
type must still be manually managed to properly unroot values, however.
[8451](https://github.com/bytecodealliance/wasmtime/issues/8451)

* Add an optimized "sleep" path for `poll_oneoff` to wasmtime-wasi.
[8429](https://github.com/bytecodealliance/wasmtime/issues/8429)

* The Wasmtime-internal `wasmtime-runtime` crate has been removed.
[8501](https://github.com/bytecodealliance/wasmtime/issues/8501)

* The pooling allocator now allows twice as many elements as before.
[8527](https://github.com/bytecodealliance/wasmtime/issues/8527)

* Using CMake to build the C API has been improved along a number of axes.
[8490](https://github.com/bytecodealliance/wasmtime/issues/8490)
[8497](https://github.com/bytecodealliance/wasmtime/issues/8497)
[8549](https://github.com/bytecodealliance/wasmtime/issues/8549)

Fixed

* Pooling allocator CLI options are now respected with the `wasmtime serve`
subcommand.
[8525](https://github.com/bytecodealliance/wasmtime/issues/8525)

--------------------------------------------------------------------------------

20.0.2

Released 2024-05-07.

Added

* Improve error in CMake for when Cargo is not found.
[8497](https://github.com/bytecodealliance/wasmtime/issues/8497)

* Use `--release` in CMake with MinSizeRel and RelWithDebInfo.
[8549](https://github.com/bytecodealliance/wasmtime/issues/8549)

* Add a `WASMTIME_FASTEST_RUNTIME` configuration option for CMake which enables
LTO and other related optimization options.
[8554](https://github.com/bytecodealliance/wasmtime/issues/8554)

--------------------------------------------------------------------------------

20.0.1

Released 2024-05-03.

Added

* Make the c-api CMakeLists.txt easier to import.
[8496](https://github.com/bytecodealliance/wasmtime/issues/8496)

--------------------------------------------------------------------------------

20.0.0

Released 2024-04-22

Added

* Support for shared WebAssembly memories has been added to the C API.
[7940](https://github.com/bytecodealliance/wasmtime/issues/7940)

* A `Component::component_type` method has been added to reflect on the imports
and exports of a component.
[8078](https://github.com/bytecodealliance/wasmtime/issues/8078)

* The `with` key in `bindgen!` now supports remapping entire packages and
namespaces.
[8083](https://github.com/bytecodealliance/wasmtime/issues/8083)

* Winch now supports the component model by using Cranelift to generate
trampolines.
[8082](https://github.com/bytecodealliance/wasmtime/issues/8082)
[8109](https://github.com/bytecodealliance/wasmtime/issues/8109)

* The WASI-NN backend now supports ONNX.
[7691](https://github.com/bytecodealliance/wasmtime/issues/7691)

* The `wasmtime` CLI now has an `-S inherit-env` flag for inheriting the entire
process environment.
[8168](https://github.com/bytecodealliance/wasmtime/issues/8168)

* Winch now supports the WebAssembly memory64 proposal.
[8194](https://github.com/bytecodealliance/wasmtime/issues/8194)

* Embedders can now opt-in to allowing wasmtime-wasi to block the current thread
with file operations, for example.
[8190](https://github.com/bytecodealliance/wasmtime/issues/8190)

* A `wasmtime::CodeBuilder` type has been added to refine the configuration of
compiling a `Module` or a `Component`.
[8181](https://github.com/bytecodealliance/wasmtime/issues/8181)

* The `wasmtime serve` subcommand now enables configuring preopened directories
and environment variables.
[8279](https://github.com/bytecodealliance/wasmtime/issues/8279)

Changed

* Support for WebAssembly GC is in the process of being implemented which has
required refactoring and reimplementing the existing gc support for
`externref`. Many APIs in this area has changed, see linked PRs for more
details. Note that the `wasm_*` parts of the C API no longer support
`externref`.
[8011](https://github.com/bytecodealliance/wasmtime/issues/8011)
[8196](https://github.com/bytecodealliance/wasmtime/issues/8196)

* The `wasmtime::component::Val` type no longer stores type information and
instead must be interpreted in the context of a type.
[8062](https://github.com/bytecodealliance/wasmtime/issues/8062)

* The arguments required for `ResourceAny::try_from_resource` have been
simplified by refactoring the internal representation.
[8061](https://github.com/bytecodealliance/wasmtime/issues/8061)

* The arguments required for `wasmtime::component::Linker::func_new` have been
simplified by refactoring the internal representation.
[8070](https://github.com/bytecodealliance/wasmtime/issues/8070)

* The pooling allocator is now enabled by default with `wasmtime serve`.
[8073](https://github.com/bytecodealliance/wasmtime/issues/8073)

* The error message for missing imports in has been improved with components.
[7645](https://github.com/bytecodealliance/wasmtime/issues/7645)

* Wasmtime's MSRV is now 1.75.0.
[8205](https://github.com/bytecodealliance/wasmtime/issues/8205)

* Wasmtime's translation of table-related instructions has improved codegen in
some common cases, especially with `call_indirect`.
[8063](https://github.com/bytecodealliance/wasmtime/issues/8063)
[8125](https://github.com/bytecodealliance/wasmtime/issues/8125)
[8124](https://github.com/bytecodealliance/wasmtime/issues/8124)
[8134](https://github.com/bytecodealliance/wasmtime/issues/8134)
[8137](https://github.com/bytecodealliance/wasmtime/issues/8137)
[8162](https://github.com/bytecodealliance/wasmtime/issues/8162)
[8159](https://github.com/bytecodealliance/wasmtime/issues/8159)
[8172](https://github.com/bytecodealliance/wasmtime/issues/8172)
[8171](https://github.com/bytecodealliance/wasmtime/issues/8171)
[8139](https://github.com/bytecodealliance/wasmtime/issues/8139)
[8206](https://github.com/bytecodealliance/wasmtime/issues/8206)

* Book-based documentation has been reordered and refactored.
[8130](https://github.com/bytecodealliance/wasmtime/issues/8130)

* The `-S common` flag is renamed to `-S cli`, to better reflect that it provides
the wasi-cli APIs. `-S common` is still accepted for now, and will be deprecated
in the future.
[8166](https://github.com/bytecodealliance/wasmtime/issues/8166)

* The tail-call calling convention now supports callee-saved registers to
improve performance and allow enabling this WebAssembly proposal by default in
the future.
[8246](https://github.com/bytecodealliance/wasmtime/issues/8246)

* The `wasmtime-wasi` crate has been refactored to restructure some items and
documentation has been added for most items.
[8228](https://github.com/bytecodealliance/wasmtime/issues/8228)

* Support for the WebAssembly `threads` proposal is now gated by an
on-by-default Cargo feature named `threads`.
[8260](https://github.com/bytecodealliance/wasmtime/issues/8260)

* Borrow-checking in `wiggle` has been optimized to not be as fine-grained any
more. This is a breaking change if users are relying on the ability to safely
mutably borrow disjoint regions of memory.
[8277](https://github.com/bytecodealliance/wasmtime/issues/8277)

Fixed

* Connection timeouts with `wasi-http` have been fixed.
[8085](https://github.com/bytecodealliance/wasmtime/issues/8085)

* Generating bindings with `bindgen!` now works correctly when some WIT types
are not used.
[8065](https://github.com/bytecodealliance/wasmtime/issues/8065)

* Errors in `wasi-http` are no longer accidentally returned as traps.
[8272](https://github.com/bytecodealliance/wasmtime/issues/8272)

--------------------------------------------------------------------------------

19.0.2

Released 2024-04-11.

* Fix a panic when compiling invalid components.
[8323](https://github.com/bytecodealliance/wasmtime/issues/8323)

* Fix `bindgen!` with `trappable_error_type` using unversioned/versioned
packages.
[8305](https://github.com/bytecodealliance/wasmtime/pull/8305)

* cranelift: Include clobbers and outgoing args in stack limit.
[8301](https://github.com/bytecodealliance/wasmtime/pull/8301)

--------------------------------------------------------------------------------

Page 1 of 17

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.