Wasmtime

Latest version: v20.0.0

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

Scan your dependencies

Page 8 of 17

6.0.1

Released 2023-03-08.

Fixed

* Guest-controlled out-of-bounds read/write on x86\_64
[GHSA-ff4p-7xrq-q5r8](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-ff4p-7xrq-q5r8)

* Miscompilation of `i8x16.select` with the same inputs on x86\_64
[GHSA-xm67-587q-r2vw](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-xm67-587q-r2vw)

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

6.0.0

Not secure
Released 2023-02-20

Added

* Wasmtime's built-in cache can now be disabled after being enabled previously.
[5542](https://github.com/bytecodealliance/wasmtime/pull/5542)

* Older x86\_64 CPUs, without SSE4.1 for example, are now supported when the
wasm SIMD proposal is disabled.
[5567](https://github.com/bytecodealliance/wasmtime/pull/5567)

* The Wasmtime C API now has `WASMTIME_VERSION_*` macros defined in its header
files.
[5651](https://github.com/bytecodealliance/wasmtime/pull/5651)

* The `wasmtime` CLI executable as part of Wasmtime's precompiled release
artifacts now has the `all-arch` feature enabled.
[5657](https://github.com/bytecodealliance/wasmtime/pull/5657)

Changed

* Equality of `wasmtime::component::Val::Float{32,64}` now considers NaNs as
equal for assistance when fuzzing.
[5535](https://github.com/bytecodealliance/wasmtime/pull/5535)

* WIT syntax supported by `wasmtime::component::bindgen!` has been updated in
addition to the generated code being updated.
[5565](https://github.com/bytecodealliance/wasmtime/pull/5565)
[5692](https://github.com/bytecodealliance/wasmtime/pull/5692)
[5694](https://github.com/bytecodealliance/wasmtime/pull/5694)

* Cranelift's egraph-based optimization framework is now enabled by default.
[5587](https://github.com/bytecodealliance/wasmtime/pull/5587)

* The old `PoolingAllocationStrategy` type has been removed in favor of a more
flexible configuration via a new option
`PoolingAllocationConfig::max_unused_warm_slots` which is more flexible and
subsumes the previous use cases for each strategy.
[5661](https://github.com/bytecodealliance/wasmtime/pull/5661)

* Creation of `InstancePre` through `Linker::instantiate_pre` no longer requires
a `Store` to be provided. Instead a `Store`-related argument is now required
on `Linker::define`-style APIs instead.
[5683](https://github.com/bytecodealliance/wasmtime/pull/5683)

Fixed

* Compilation for FreeBSD on x86\_64 and AArch64 has been fixed.
[5606](https://github.com/bytecodealliance/wasmtime/pull/5606)

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

5.0.1

Released 2023-03-08.

Fixed

* Guest-controlled out-of-bounds read/write on x86\_64
[GHSA-ff4p-7xrq-q5r8](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-ff4p-7xrq-q5r8)

* Miscompilation of `i8x16.select` with the same inputs on x86\_64
[GHSA-xm67-587q-r2vw](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-xm67-587q-r2vw)

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

5.0.0

Not secure
Released 2023-01-20

Added

* A `wasmtime::component::bingen!` macro has been added for generating bindings
from `*.wit` files. Note that WIT is still heavily in development so this is
more of a preview of what will be as opposed to a finished feature.
[5317](https://github.com/bytecodealliance/wasmtime/pull/5317)
[5397](https://github.com/bytecodealliance/wasmtime/pull/5397)

* The `wasmtime settings` CLI command now has a `--json` option for
machine-readable output.
[5411](https://github.com/bytecodealliance/wasmtime/pull/5411)

* Wiggle-generated bindings can now generate the trait for either `&mut self` or
`&self`.
[5428](https://github.com/bytecodealliance/wasmtime/pull/5428)

* The `wiggle` crate has more convenience APIs for working with guest data
that resides in shared memory.
[5471](https://github.com/bytecodealliance/wasmtime/pull/5471)
[5475](https://github.com/bytecodealliance/wasmtime/pull/5475)

Changed

* Cranelift's egraph support has been rewritten and updated. This functionality
is still gated behind a flag and may become the default in the next release.
[5382](https://github.com/bytecodealliance/wasmtime/pull/5382)

* The implementation of codegen for WebAssembly linear memory has changed
significantly internally in Cranelift, moving more responsibility to the
Wasmtime embedding rather than Cranelift itself. This should have no
user-visible change, however.
[5386](https://github.com/bytecodealliance/wasmtime/pull/5386)

* The `Val::Float32` and `Val::Float64` variants for components now store `f32`
and `f64` instead of the bit representation.
[5510](https://github.com/bytecodealliance/wasmtime/pull/5510)

Fixed

* Handling of DWARF debugging information in components with multiple modules
has been fixed to ensure the right info is used for each module.
[5358](https://github.com/bytecodealliance/wasmtime/pull/5358)

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

4.0.1

Released 2023-03-08.

Fixed

* Guest-controlled out-of-bounds read/write on x86\_64
[GHSA-ff4p-7xrq-q5r8](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-ff4p-7xrq-q5r8)

* Miscompilation of `i8x16.select` with the same inputs on x86\_64
[GHSA-xm67-587q-r2vw](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-xm67-587q-r2vw)

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

4.0.0

Not secure
Released 2022-12-20

Added

* Dynamic memories are now supported with the pooling instance allocator which
can possibly reduce the number of page faults throughout execution at the cost
of slower to run code. Page faults are primarily reduced by avoiding
releasing memory back to the system, relying on bounds checks to keep the
memory inaccessible.
[5208](https://github.com/bytecodealliance/wasmtime/pull/5208)

* The `wiggle` generator now supports function-level control over `tracing`
calls.
[5194](https://github.com/bytecodealliance/wasmtime/pull/5194)

* Support has been added to `wiggle` to be compatible with shared memories.
[5225](https://github.com/bytecodealliance/wasmtime/pull/5225)
[5229](https://github.com/bytecodealliance/wasmtime/pull/5229)
[5264](https://github.com/bytecodealliance/wasmtime/pull/5264)
[5268](https://github.com/bytecodealliance/wasmtime/pull/5268)
[5054](https://github.com/bytecodealliance/wasmtime/pull/5054)

* The `wiggle` generator now supports a "trappable error" configuration to
improve error conversions to guest errors and ensure that no host errors are
forgotten or accidentally become traps. The `wasi-common` crate has been
updated to use this.
[5276](https://github.com/bytecodealliance/wasmtime/pull/5276)
[5279](https://github.com/bytecodealliance/wasmtime/pull/5279)

* The `memory.atomic.{notify,wait32,wait64}` instructions are now all
implemented in Wasmtime.
[5255](https://github.com/bytecodealliance/wasmtime/pull/5255)
[5311](https://github.com/bytecodealliance/wasmtime/pull/5311)

* A `wasm_config_parallel_compilation_set` configuration function has been added
to the C API.
[5298](https://github.com/bytecodealliance/wasmtime/pull/5298)

* The `wasmtime` CLI can have its input module piped into it from stdin now.
[5342](https://github.com/bytecodealliance/wasmtime/pull/5342)

* `WasmBacktrace::{capture,force_capture}` methods have been added to
programmatically capture a backtrace outside of a trapping context.
[5341](https://github.com/bytecodealliance/wasmtime/pull/5341)

Changed

* The `S` type parameter on `Func::typed` and `Instance::get_typed_func` has
been removed and no longer needs to be specified.
[5275](https://github.com/bytecodealliance/wasmtime/pull/5275)

* The `SharedMemory::data` method now returns `&[UnsafeCell<u8>]` instead of the
prior raw slice return.
[5240](https://github.com/bytecodealliance/wasmtime/pull/5240)

* Creation of a `WasiCtx` will no longer unconditionally acquire randomness from
the OS, instead using the `rand::thread_rng()` function in Rust which is only
periodically reseeded with randomness from the OS.
[5244](https://github.com/bytecodealliance/wasmtime/pull/5244)

* Codegen of dynamically-bounds-checked wasm memory accesses has been improved.
[5190](https://github.com/bytecodealliance/wasmtime/pull/5190)

* Wasmtime will now emit inline stack probes in generated functions for x86\_64,
aarch64, and riscv64 architectures. This guarantees a process abort if an
engine was misconfigured to give wasm too much stack instead of optionally
allowing wasm to skip the guard page.
[5350](https://github.com/bytecodealliance/wasmtime/pull/5350)
[5353](https://github.com/bytecodealliance/wasmtime/pull/5353)

Fixed

* Dropping a `Module` will now release kernel resources in-use by the pooling
allocator when enabled instead of waiting for a new instance to be
re-instantiated into prior slots.
[5321](https://github.com/bytecodealliance/wasmtime/pull/5321)

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

Page 8 of 17

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.