Wasmtime

Latest version: v20.0.0

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

Scan your dependencies

Page 1 of 17

21.0.0

Unreleased.

Added

Changed

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

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)

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

19.0.1

Released 2024-04-02.

* Fix a panic using tables with the wrong type.
[8284](https://github.com/bytecodealliance/wasmtime/pull/8284)

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

19.0.0

Released 2024-03-20

Added

* C API bindings for the sampling-based profiler in Wasmtime have been added.
[7854](https://github.com/bytecodealliance/wasmtime/pull/7854)

* Add the WasiP1Ctx to ease the use of `wasmtime-wasi` in place of `wasi-common`
[8053](https://github.com/bytecodealliance/wasmtime/pull/8053)

* The Winch compiler backend is now feature-complete for x64. Note that minor
issues and fuzz bugs are still being addressed, but now's a good time to test
if you're interested.
[7894](https://github.com/bytecodealliance/wasmtime/pull/7894)
[7909](https://github.com/bytecodealliance/wasmtime/pull/7909)
[7927](https://github.com/bytecodealliance/wasmtime/pull/7927)
[7932](https://github.com/bytecodealliance/wasmtime/pull/7932)
[7949](https://github.com/bytecodealliance/wasmtime/pull/7949)
[7974](https://github.com/bytecodealliance/wasmtime/pull/7974)
[8001](https://github.com/bytecodealliance/wasmtime/pull/8001)

* The typed function references proposal to WebAssembly is now fully
implemented.
[7943](https://github.com/bytecodealliance/wasmtime/pull/7943)

* The `component::Linker` type is now "semver aware" in that it enables loading
components referring to past or future versions of interfaces so long as the
types are compatible.
[7994](https://github.com/bytecodealliance/wasmtime/pull/7994)

* Wasmtime can now be built for "custom platforms" which is intended for
bare-metal builds.
[7995](https://github.com/bytecodealliance/wasmtime/pull/7995)

* The `wasmtime-wasi-nn` crate now has a backend based on WinML.
[7807](https://github.com/bytecodealliance/wasmtime/pull/7807)

* The `wasmtime` CLI now has flags for configuring limits of the pooling
allocator.
[8027](https://github.com/bytecodealliance/wasmtime/pull/8027)


Changed

* The `wasmtime serve` command no longer binds its port with `SO_REUSEADDR`
meaning that if it is invoked twice only one will succeed.
[7863](https://github.com/bytecodealliance/wasmtime/pull/7863)

* The sampling-based profiler in Wasmtime now takes an explicit argument of
the time delta between samples.
[7873](https://github.com/bytecodealliance/wasmtime/pull/7873)

* Many accessors for type information now require an `&Engine` argument to be
specified in preparation for an implementation of wasm GC.
[7892](https://github.com/bytecodealliance/wasmtime/pull/7892)

* The `host` header is now forbidden in wasi-http.
[7905](https://github.com/bytecodealliance/wasmtime/pull/7905)

* Stronger type-checks are now performed for host-owned resources when
interacting with the component model to help catch mistakes earlier.
[7902](https://github.com/bytecodealliance/wasmtime/pull/7902)

* Demangling Rust and C/C++ symbols in WebAssembly modules is now done by
default in the C API.
[7962](https://github.com/bytecodealliance/wasmtime/pull/7962)

* Preview2-based APIs are now located at the root of the `wasmtime_wasi` crate
instead of a submodule.
[7933](https://github.com/bytecodealliance/wasmtime/pull/7933)

* Components now reserve index 0 for handle tables to match the component model
specification.
[7661](https://github.com/bytecodealliance/wasmtime/pull/7661)

* Support for `externref` and similar features has been moved behind a new `gc`
Cargo feature. This will also gate support for Wasm GC in the future.
[7975](https://github.com/bytecodealliance/wasmtime/pull/7975)

* Require the `WASMTIME_WASI_CONFIG_PREOPEN_SOCKET_ALLOW` environment variable
to bet set to allow the use of `wasi_config_preopen_socket` via the c api, as
it will be deprecated in `20.0.0`.
[8053](https://github.com/bytecodealliance/wasmtime/pull/8053)

Fixed

* WIT interface names that are Rust keywords now correctly generate bindings.
[7790](https://github.com/bytecodealliance/wasmtime/pull/7790)

* PKRU state is now restored across await points.
[7789](https://github.com/bytecodealliance/wasmtime/pull/7789)

* Wasmtime now correctly supports `global.get` in all constant expressions
within a module.
[7996](https://github.com/bytecodealliance/wasmtime/pull/7996)

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

18.0.4

Released 2024-04-11

Fixed

* 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)

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

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

Page 1 of 17

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.