|
|
@ -16,8 +16,71 @@ Unreleased. |
|
|
|
|
|
|
|
### Added |
|
|
|
|
|
|
|
* New `WasiCtx::{push_file, push_dir}` methods exist for embedders to add their |
|
|
|
own objects. |
|
|
|
[#5027](https://github.com/bytecodealliance/wasmtime/pull/5027) |
|
|
|
|
|
|
|
* Wasmtime's `component-model` support now supports `async` host functions and |
|
|
|
embedding in the same manner as core wasm. |
|
|
|
[#5055](https://github.com/bytecodealliance/wasmtime/pull/5055) |
|
|
|
|
|
|
|
* The `wasmtime` CLI executable now supports a `--max-wasm-stack` flag. |
|
|
|
[#5156](https://github.com/bytecodealliance/wasmtime/pull/5156) |
|
|
|
|
|
|
|
* AOT compilation support has been implemented for components (aka the |
|
|
|
`component-model` feature of the Wasmtime crate). |
|
|
|
[#5160](https://github.com/bytecodealliance/wasmtime/pull/5160) |
|
|
|
|
|
|
|
* A new `wasi_config_set_stdin_bytes` function is available in the C API to set |
|
|
|
the stdin of a WASI-using module from an in-memory slice. |
|
|
|
[#5179](https://github.com/bytecodealliance/wasmtime/pull/5179) |
|
|
|
|
|
|
|
* When using the pooling allocator there are now options to reset memory with |
|
|
|
`memset` instead of `madvisev` on Linux to keep pages resident in memory to |
|
|
|
reduce page faults when reusing linear memory slots. |
|
|
|
[#5207](https://github.com/bytecodealliance/wasmtime/pull/5207) |
|
|
|
|
|
|
|
### Changed |
|
|
|
|
|
|
|
* Consuming 0 fuel with 0 fuel left is now considered to succeed. Additionally a |
|
|
|
store may not consume its last unit of fuel. |
|
|
|
[#5013](https://github.com/bytecodealliance/wasmtime/pull/5013) |
|
|
|
|
|
|
|
* A number of variants in the `wasi_common::ErrorKind` enum have been removed. |
|
|
|
[#5015](https://github.com/bytecodealliance/wasmtime/pull/5015) |
|
|
|
|
|
|
|
* Methods on `WasiDir` now error-by-default instead of requiring a definition by |
|
|
|
default. |
|
|
|
[#5019](https://github.com/bytecodealliance/wasmtime/pull/5019) |
|
|
|
|
|
|
|
* Bindings generated by the `wiggle` crate now always depend on the `wasmtime` |
|
|
|
crate meaning crates like `wasi-common` no longer compile for platforms such |
|
|
|
as `wasm32-unknown-emscripten`. |
|
|
|
[#5137](https://github.com/bytecodealliance/wasmtime/pull/5137) |
|
|
|
|
|
|
|
* Error handling in the `wasmtime` crate's API has been changed to primarily |
|
|
|
work with `anyhow::Error` for custom errors. The `Trap` type has been replaced |
|
|
|
with a simple `enum Trap { ... }` and backtrace information is now stored as a |
|
|
|
`WasmBacktrace` type inserted as context into an `anyhow::Error`. |
|
|
|
Host-functions are expected to return `anyhow::Result<T>` instead of the prior |
|
|
|
`Trap` error return from before. Additionally the old `Trap::i32_exit` |
|
|
|
constructor is now a concrete `wasi_commont::I32Exit` type which can be tested |
|
|
|
for with a `downcast_ref` on the error returned from Wasmtime. |
|
|
|
[#5149](https://github.com/bytecodealliance/wasmtime/pull/5149) |
|
|
|
|
|
|
|
* Configuration of the pooling allocator is now done through a builder-style |
|
|
|
`PoolingAllocationConfig` API instead of the prior enum-variant API. |
|
|
|
[#5205](https://github.com/bytecodealliance/wasmtime/pull/5205) |
|
|
|
|
|
|
|
### Fixed |
|
|
|
|
|
|
|
* The instruction cache is now properly flushed for AArch64 on Windows. |
|
|
|
[#4997](https://github.com/bytecodealliance/wasmtime/pull/4997) |
|
|
|
|
|
|
|
* Backtrace capturing with many sequences of wasm->host calls on the stack no |
|
|
|
longer exhibit quadratic capturing behavior. |
|
|
|
[#5049](https://github.com/bytecodealliance/wasmtime/pull/5049) |
|
|
|
|
|
|
|
-------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
## 2.0.1 |
|
|
|