Browse Source

Update release notes for 14.0.0 (#7158) (#7213)

* Update release notes for 14.0.0

Wow quite a bit happened!

* Review comments
pull/7223/head
Alex Crichton 1 year ago
committed by GitHub
parent
commit
defda32ac0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 141
      RELEASES.md

141
RELEASES.md

@ -4,17 +4,158 @@
Unreleased.
One of the larger changes in this release is a redesign of Wasmtime's CLI
arguments and where arguments are passed. This means that previous invocations
of the `wasmtime` CLI executable will need to be updated. No functionality was
removed but most of it is behind new flags. One major change is that Wasmtime
CLI flags are now grouped behind short options like `-O`. For example
wasmtime run --opt-level 2 foo.wasm
is now:
wasmtime run -O opt-level=2 foo.wasm
Additionally options prefixed with `--enable-*` or `--disable-*` now
consistently are considered boolean setters. For example:
wasmtime run --disable-cache foo.wasm
is now:
wasmtime run -C cache=n foo.wasm
Options can be explored with `wasmtime -C help` for example, and `wasmtime -h`
will show all option groups that can be expanded.
Another major change in the CLI is that any CLI argument which positionally
comes after the wasm file specified will be passed as an argument to the guest
module. For example this invocations
wasmtime run foo.wasm --epoch-interruption
was previously accepted as enabling epoch interruption for the `foo.wasm` file.
This is now interpreted as if it were `./foo.wasm --epoch-interruption`,
however, passing the flag to the wasm file itself. Flags to Wasmtime must now
come after Wasmtime's subcommand (in this case `run`) and before the wasm file
that's being run, for example:
wasmtime run -W epoch-interruption foo.wasm
More information about this change can be found on
[#6925](https://github.com/bytecodealliance/wasmtime/pull/6925) and
[#6946](https://github.com/bytecodealliance/wasmtime/pull/6946).
### Added
* Added the `wasmtime::FrameInfo::module` method, which returns the
`wasmtime::Module` associated with the stack frame.
* The `wasmtime::component::Linker` type now implements `Clone`.
[#7032](https://github.com/bytecodealliance/wasmtime/pull/7032)
* Wasmtime's `TypedFunc` API now supports the `v128` WebAssembly type on x86\_64
and aarch64.
[#7010](https://github.com/bytecodealliance/wasmtime/pull/7010)
* Support for resources exported from a WebAssembly guest has been added to the
component `bindgen!` macro.
[#7050](https://github.com/bytecodealliance/wasmtime/pull/7050)
* The C API now supports learning about a module's `image_range`.
[#7064](https://github.com/bytecodealliance/wasmtime/pull/7064)
* Passing values between components is now possible with a more complete
implementation of type-checking of values.
[#7065](https://github.com/bytecodealliance/wasmtime/pull/7065)
* Types representing resources can now be customized with `bindgen!`.
[#7069](https://github.com/bytecodealliance/wasmtime/pull/7069)
* Wasm-defined globals and memories are now included in core dumps, and the
`wasmtime::WasmCoreDump` type is now serializable.
[#6935](https://github.com/bytecodealliance/wasmtime/pull/6935)
[#7078](https://github.com/bytecodealliance/wasmtime/pull/7078)
* Initial experimental support for Intel MPK has been added to support running
more instances concurrently.
[#7072](https://github.com/bytecodealliance/wasmtime/pull/7072)
* The implementation of `wasi:http` now supports inbound requests in addition to
outbound requests. A new `wasmtime serve` command is an example way of
handling http requests with wasm files.
[#7091](https://github.com/bytecodealliance/wasmtime/pull/7091)
* The C API now supports Wasmtime's "host memory creation" API to customize the
allocation of linear memories.
[#7115](https://github.com/bytecodealliance/wasmtime/pull/7115)
* The C API now supports asynchronous invocation of WebAssembly programs.
[#7106](https://github.com/bytecodealliance/wasmtime/pull/7106)
* The C API now supports Wasmtime's `InstancePre<T>` type.
[#7140](https://github.com/bytecodealliance/wasmtime/pull/7140)
* The `wasi:sockets/ip-name-lookup` interface is now implemented by Wasmtime.
[#7109](https://github.com/bytecodealliance/wasmtime/pull/7109)
### Changed
* Wasmtime's CLI has been significantly overhauled. See the note above.
[#6925](https://github.com/bytecodealliance/wasmtime/pull/6925)
[#6946](https://github.com/bytecodealliance/wasmtime/pull/6946)
* The `wasmtime::FrameInfo::module_name` has been removed, however you can now
get identical results by chaining `wasmtime::FrameInfo::module` and
`wasmtime::Module::name`: `my_frame.module().name()`.
* WASI interfaces have seen significant work since the previous release. Streams
for example have a new backpressure and flushing design. Additionally WIT
`resource`s are now used ubiquitously throughout the specification and
implementation.
[#6877](https://github.com/bytecodealliance/wasmtime/pull/6877)
[#7029](https://github.com/bytecodealliance/wasmtime/pull/7029)
[#7090](https://github.com/bytecodealliance/wasmtime/pull/7090)
* The implementation of `wasi:http` now uses `{input,output}-stream` from the
`wasi:io/streams` interface.
[#7056](https://github.com/bytecodealliance/wasmtime/pull/7056)
* Lifting and lowering of the `list<u8>` component values has been significantly
optimized.
[#6971](https://github.com/bytecodealliance/wasmtime/pull/6971)
* The `wasmtime-c-api` crate is now additionally built as an rlib as well as the
previous cdylib/staticlib combo.
[#6765](https://github.com/bytecodealliance/wasmtime/pull/6765)
### Fixed
* Support referencing stack slots in the DWARF debug info.
[#6960](https://github.com/bytecodealliance/wasmtime/pull/6960)
* Printing unicode to stdio on Windows has been fixed.
[#6825](https://github.com/bytecodealliance/wasmtime/pull/6825)
* Building for x86\_64-linux-android has been fixed.
[#7055](https://github.com/bytecodealliance/wasmtime/pull/7055)
* Fixed stdout/stderr becoming nonblocking by accident with WASI preview2 on
macOS.
[#7058](https://github.com/bytecodealliance/wasmtime/pull/7058)
* Fixed some character boundary-related panics in the preview2 implementation of
preview1.
[#7011](https://github.com/bytecodealliance/wasmtime/pull/7011)
* Fixed an issue of guests sleeping for an incorrect amount of time with
preview2.
[#6993](https://github.com/bytecodealliance/wasmtime/pull/6993)
* Cranelift will now return an error when running out of temporaries in a very
large function instead of panicking.
[#7114](https://github.com/bytecodealliance/wasmtime/pull/7114)
--------------------------------------------------------------------------------
## 13.0.0

Loading…
Cancel
Save