Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update rust crate wasmtime to v28 #87

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 20, 2024

This PR contains the following updates:

Package Type Update Change
wasmtime dependencies major 18.0.2 -> 28.0.0

Release Notes

bytecodealliance/wasmtime (wasmtime)

v28.0.0

Compare Source

28.0.0

Released 2024-12-20.

Added
  • The ISLE DSL used for Cranelift now has a first-class bool type.
    #​9593

  • Cranelift now supports a new single-pass register allocator designed for
    compile-time performance (unlike the current default which is optimized for
    runtime-of-generated-code performance).
    #​9611

  • The wasmtime crate now natively supports the wasm-wave crate and its
    encoding of component value types.
    #​8872

  • A Module can now be created from an already-open file.
    #​9571

  • A new default-enabled crate feature, signals-based-traps, has been added to
    the wasmtime crate. When disabled then runtime signal handling is not
    required by the host. This is intended to help with future effort to port
    Wasmtime to more platforms.
    #​9614

  • Linear memories may now be backed by malloc in certain conditions when guard
    pages are disabled, for example.
    #​9614
    #​9634

  • Wasmtime's async feature no longer requires std.
    #​9689

  • The buffer and budget capacity of OutgoingBody in wasmtime-wasi-http are
    now configurable.
    #​9670

Changed
  • Wasmtime's external and internal distinction of "static" and "dynamic"
    memories has been refactored and reworded. All options are preserved but
    exported under different names with improved documentation about how they all
    interact with one another. (and everything should be easier to understand)
    #​9545

  • Each Store<T> now caches a single fiber stack in async mode to avoid
    allocating/deallocating if the store is used multiple times.
    #​9604

  • Linear memories now have a 32MiB guard region at the end instead of a 2GiB
    guard region by default.
    #​9606

  • Wasmtime will no longer validate dependencies between WebAssembly features,
    instead delegating this work to wasmparser's validator.
    #​9623

  • Cranelift's isle-in-source-tree feature has been re-worked as an environment
    variable.
    #​9633

  • Wasmtime's minimum supported Rust version is now 1.81.
    #​9692

  • Synthetic types in DWARF are now more efficiently represented.
    #​9700

  • Debug builtins on Windows are now exported correctly.
    #​9706

  • Documentation on Config now clarifies that defaults of some options may
    differ depending on the selected target or compiler depending on features
    supported.
    #​9705

  • Wasmtime's error-related types now all unconditionally implement the Error
    trait, even in #[no_std] mode.
    #​9702

Fixed
  • Field type matching for subtyping with wasm GC has been fixed.
    #​9724

  • Native unwind info generated for s390x has been fixed in the face of tail
    calls.
    #​9725

v27.0.0

Compare Source

27.0.0

Released 2024-11-20.

Added
  • Support for the Wasm GC proposal is now complete. A new "null" GC has been
    also added which does not ever collect garbage.
    #​9389
    #​9392
    #​9401
    #​9435
    #​9437
    #​9438
    #​9446
    #​9448
    #​9454
    #​9455
    #​9484

  • Unstable WIT APIs now have feature gates configured at link-time and new
    -Scli-exit-with-code / -Snetwork-error-code options are available as well.
    #​9381
    #​9276

  • Initial support for the wide-arithmetic proposal has been implemented.
    #​9403
    #​9500

  • Guests on s390x now implement the "inline probestacks" for Cranelift to more
    robustly detect stack overflows.
    #​9423

  • Missing CLI options for the pooling allocator have been filled out.
    #​9447

  • Cranelift now supports 128-bit atomics on x64.
    #​9459

  • A new Cargo feature has been added to the wasmtime crate to reexport the
    wasmparser dependency.
    #​9485

  • Support for a new PyTorch backend for wasi-nn has been added.
    #​9234

  • A new -Cnative-unwind-info flag has been added to the wasmtime CLI.
    #​9494

  • Initial support for illumos has been added.
    #​9535

  • A new Caller::get_module_export API has been added.
    #​9525

  • Basic debug logging has been added to the debug info transformatino.
    #​9526

Changed
  • The WASI WITs vendored are now updated to 0.2.2.
    #​9395

  • The wasmtime-wasi-runtime-config is now named wasmtime-wasi-config.
    #​9404

  • Documentation on the implementation status of WebAssembly proposals has been
    updated.
    #​9434

  • Wasmtime's WASI documentation has been overhauled.
    #​9471

  • The wasi_config_preopen_dir in Wasmtime's C API now takes file/directory
    permissions.
    #​9477

  • Detection of libunwind vs libgcc is now done with weak symbols.
    #​9479

  • Winch has improved detection of unsupported features in a Config.
    #​9490

  • Winch now supports fuel-based interruption.
    #​9472

  • Wasmtime's minimum supported Rust version is now 1.80.
    #​9496

  • ISLE no longer supports scheme-style booleans.
    #​9522

  • ISLE now supports block comments.
    #​9529

  • Support for shared memory in the C API has been added.
    #​9507

  • Configuration options for guard size regions have been merged into a single
    option.
    #​9528

Fixed
  • Double-registration of debug information for modules in components has been
    fixed.
    #​9470

  • A panic on AArch64 for vector constants has been fixed.
    #​9482

  • A miscompile with sdiv and INT_MIN / -1 has been fixed on aarch64.
    #​9541

v26.0.1

Compare Source

26.0.1

Released 2024-11-05.

Fixed
  • Update to cap-std 3.4.1, for #​9559, which fixes a wasi-filesystem sandbox
    escape on Windows.
    CVE-2024-51745.

v26.0.0

Compare Source

26.0.0

Released 2024-10-22.

Added
  • The "table64" extension of the memory64 proposals to WebAssembly has been
    implemented.
    #​9206

  • Initial support has been added for compiling WebAssembly modules with Pulley,
    Wasmtime's interpreter. Note that the interpreter is not feature complete yet.
    #​9240

  • Wasmtime can now execute code without relying on host-based signal handlers.
    #​9230

  • Work has continued on implementing the GC proposals in Wasmtime.
    #​9246
    #​9244
    #​9271
    #​9275
    #​9278
    #​9282
    #​9285
    #​9326
    #​9341
    #​9358

  • Support for ARM64 Windows has been finished with support for unwinding.
    Release binaries are now also available for this platform.
    #​9266
    #​9283

  • The bindgen! macro now supports multiple paths to load WIT from.
    #​9288

  • A new -W async-stack-size=N argument has been added to the CLI.
    #​9302

  • A new wasmtime completion subcommand can be used to generate a completion
    script for the Wasmtime CLI.
    #​9312

  • Components now support initialize_copy_on_write_image like core modules.
    #​9357

  • Initial support for the ISLE verifier Crocus has landed.
    #​9178

Changed
  • Wasmtime now requires Rust 1.79.0 to compile.
    #​9202

  • The future-trailers.get in wasi-http now returns none when trailers are
    absent.
    #​9208

  • The Cranelift instructions iadd_cin and isub_bin were removed. The
    isub_borrow and iadd_carry instructions were renamed to {u,s}add_carry
    and {u,s}sub_borrow.
    #​9199

  • Winch now supports multi-value results on AArch64.
    #​9218

  • Some issues related to shutdown have been fixed with WASI sockets.
    #​9225

  • Cranelift now has a Cargo feature to enable support for all native ISAs and
    not Pulley.
    #​9237

  • Cranelift support for StructArgument in the arm64, riscv64, and s390x
    backends has been removed.
    #​9258

  • The pooling allocator no longer limits instances/memories/tables by default.
    #​9257

  • Stack overflow on an async stack will now print a message that this happened.
    #​9304

  • Cranelift's cranelift-wasm crate has been removed and folded directly into
    wasmtime-cranelift.
    #​9313

  • Cranelift's TrapCode type is now represented with a single byte.
    #​9338

Fixed
  • Stack slots in Cranelift are now aligned from the start instead of the end.
    #​9279

  • The WASIp1 adapter now correctly handles allocations where the initial
    alignment consumes the entire allocation.
    #​9356

v25.0.3

Compare Source

25.0.3

Released 2024-11-05.

Fixed
  • Update to cap-std 3.4.1, for #​9559, which fixes a wasi-filesystem sandbox
    escape on Windows.
    CVE-2024-51745.

v25.0.2

Compare Source

25.0.2

Released 2024-10-09.

Fixed
  • Fix a runtime crash when combining tail-calls with host imports that capture a
    stack trace or trap.
    GHSA-q8hx-mm92-4wvg

  • Fix a race condition could lead to WebAssembly control-flow integrity and type
    safety violations.
    GHSA-7qmx-3fpx-r45m

v25.0.1

Compare Source

25.0.1

Released 2024-09-24.

Added
  • The wasmtime CLI's -Wmax-wasm-stack option now automatically configures
    the async stack size as well. A new -Wasync-stack-size option was
    additionally added to configure it too.
    #​9302

v25.0.0

Compare Source

25.0.0

Released 2024-09-20.

Added
  • The WinML backend of wasmtime-wasi-nn now supports FP16 and I64.
    #​8964

  • Pooling allocator configuration options for table elements and core instance
    size can now be changed on the CLI.
    #​9138

  • Wasmtime now supports the extended-const WebAssembly proposal.
    #​9141

  • The wasmtime crate embedding API now has ArrayRef for allocating wasm GC
    arrays.
    #​9145

  • Cranelift now has a stack_switch CLIF instruction to be used with the
    WebAssembly stack switching proposal.
    #​9078

  • There are now more constructors available on bindgen!-generated structures
    for component exports now which use instantiated components rather than
    pre-instantiated components.
    #​9177

Changed
  • The host bindgen macro now accepts a new verbose_tracing option, which will
    trace the value of list arguments. The new behavior of the tracing option
    is that it does not print list values without verbose_tracing also being
    present.
    #​9262

  • Wasmtime's support for WASI is now listed with the 0.2.1 version instead of
    0.2.0. This is expected to not cause fallout or breakage, but please open an
    issue if you see any problems.
    #​9063

  • Work continues on Winch's AArch64 backend.
    #​9114
    #​9092
    #​9171

  • Component model resource methods can now be generated as async and will do
    so by default if async is enabled for all functions.
    #​9091

  • Work has continued on Wasmtime's interpreter backend, Pulley.
    #​9089

  • The internal implementation of input-stream and output-stream for
    filesystems in wasmtime-wasi have been refactored to directly implement
    the corresponding host traits. This additionally helps cleanup the internal
    organization of host-side resources in wasmtime-wasi.
    #​9129

  • Wasmtime now uses the new "user" stack maps in Cranelift rather than the old
    regalloc-based stack maps for GC references.
    #​9082

  • Wasmtime's handling of WebAssembly features now works slightly differently
    from before to provide better error messages and fewer panics on unsupported
    WebAssembly features depending on compiler and target selection. Additionally
    the reference-types WebAssembly proposal is always on-by-default regardless of
    crate features.
    #​9158
    #​9162

  • The wasmtime CLI will now use the async version of I/O where possible to
    properly support -Wtimeout and timing out instances blocked in I/O.
    #​9184

Fixed
  • Use tracing::Instrument in generated bindings when tracing and async are
    enabled, ensuring that spans aren't present in traces from unrelated async
    tasks.
    #​9217
    #​9263

  • Completed support for the CallHook API when using the component model.
    #​9196

  • The compile time for a component model enum type with many cases should be
    much improved now.
    #​9122

  • Some minor bugfixes have been made for when Wasmtime is working with split
    DWARF in WebAssembly files.
    #​9109
    #​9132
    #​9134
    #​9139
    #​9151

  • An issue with bounds checks and dynamic checks has been fixed in Winch to
    ensure bounds checks are correctly implemented.
    #​9156

v24.0.2

Compare Source

24.0.2

Released 2024-11-05.

Fixed
  • Update to cap-std 3.4.1, for #​9559, which fixes a wasi-filesystem sandbox
    escape on Windows.
    CVE-2024-51745.

v24.0.1

Compare Source

24.0.1

Released 2024-10-09.

Fixed
  • Fix a runtime crash when combining tail-calls with host imports that capture a
    stack trace or trap.
    GHSA-q8hx-mm92-4wvg

  • Fix a race condition could lead to WebAssembly control-flow integrity and type
    safety violations.
    GHSA-7qmx-3fpx-r45m

v24.0.0

Compare Source

24.0.0

Released 2024-08-20.

Added
  • A new wasmtime_engine_clone function was added to the C API.
    #​8907

  • Wasmtime now has basic support for allocating a StructRef in the embedder
    API.
    #​8933

  • The wasmtime run subcommand now support a --argv0 flag indicating the
    value of the first element to arguments reported to wasm if it shouldn't be
    the default of the wasm binary name itself.
    #​8961

  • Support for Winch on AArch64 continued to improve.
    #​8921
    #​9018
    #​9033
    #​9051

  • An initial implementation of the wasi-runtime-config proposal was added to
    Wasmtime.
    #​8950
    #​8970
    #​8981

  • Initial support for f16 and f128 in Cranelift continued to improve.
    #​8893
    #​9045

  • More types in wasmtime-wasi-http implement the Debug trait.
    #​8979

  • The wasmtime explore subcommand now supports exploring CLIF too.
    #​8972

  • Support for SIMD in Winch has begun, but it is not complete yet.
    #​8990
    #​9006

  • Initial work on Pulley, an interpreter for Wasmtime, has begun.
    #​9008
    #​9013
    #​9014

  • The -Wunknown-imports-trap flag to wasmtime run now supports components.
    #​9021

  • An initial implementation of the wasi-keyvalue proposal was added to
    Wasmtime.
    #​8983
    #​9032
    #​9050
    #​9062

  • An unsafe API has been added to unload process trap handlers.
    #​9022

  • The s390x backend now fully supports tail calls.
    #​9052

Changed
  • The flags type in the component model now has a hard limit of 32-or-fewer
    flags. For more information about this transition https://github.com/WebAssembly/component-model/issues/370sues/370.
    #​8882

  • Multiple returns for functions in the component model are now gated by default
    and are planned to be removed.
    #​8965

  • TCP streams in WASIp2 will now immediately return StreamError::Closed when
    the TCP stream is closed or shut down.
    #​8968
    #​9055

  • Cranelift will now perform constant propagation on some floating-point
    operations.
    #​8954

  • Wasmtime and Cranelift now require at least Rust 1.78.0 to compile.
    #​9010

  • The wasmtime::Val type now implements the Copy trait.
    #​9024

  • Wasmtime's wasi-nn implementation has been updated to track the upstream
    specification.
    #​9056

  • Names provided to trappable_imports in bindgen! are now validated to be
    used.
    #​9057

  • Support for multi-package *.wit files now requires a package ...; header
    at the top of the file.
    #​9053

v23.0.3

Compare Source

23.0.3

Released 2024-10-09.

Fixed
  • Fix a runtime crash when combining tail-calls with host imports that capture a
    stack trace or trap.
    GHSA-q8hx-mm92-4wvg

  • Fix a race condition could lead to WebAssembly control-flow integrity and type
    safety violations.
    GHSA-7qmx-3fpx-r45m

v23.0.2

Compare Source

23.0.2

Released 2024-08-12.

Changed
  • Building the c-api from crates.io now correctly configures an include
    directory for header files with configured versions of header files.
    #​9102
  • Wasmtime no longer requires linking with libm in Linux builds, which
    fixes linking against musl in some cases.
    #​9100

v23.0.1

Compare Source

23.0.1

Released 2024-07-22.

Fixed
  • Fixed some issues when auto-publishing crates to crates.io.
    #​8986

v23.0.0

Compare Source

23.0.0

Released 2024-07-22.

Added
  • Support for DWARF debugging information with native debuggers is now
    implemented for components.
    #​8693

  • CLIF frontends can now define their own stack maps.
    #​8728
    #​8876

  • Wasmtime now supports the custom-page-sizes proposal.
    #​8763

  • This project now publishes a crate named
    wasi-preview1-component-adapter-provider which provides the WASIp1 adapters
    as constants in Rust code.
    #​8874

Changed
  • Call hooks now have access to the full StoreContextMut<T>.
    #​8791

  • Call hooks have been moved behind an off-by-default compile-time Cargo feature
    named call-hook.
    #​8795
    #​8808

  • Wasmtime's minimum supported Rust version is now 1.77.0.
    #​8796

  • Resumable traps have been removed from Cranelift.
    #​8809

  • Traps are not GC safepoints any more in Cranelift.
    #​8810

  • Support for Intel memory protection keys is now disabled by default at compile
    time and is gated behind a Cargo feature.
    #​8813

  • Exports from components have been refactored and redesigned to support
    skipping name lookups at runtime where possible.
    #​8786

  • Wasmtime's lookup of versioned component exports now takes semver into
    account in the same manner as imports.
    #​8830

  • Wasmtime's guest profiler will now take samples at hostcall boundaries.
    #​8802

  • Wasmtime's pooling allocator now by default allows 32-bit linear memories to
    grow to their full size of 4G.
    #​8849

  • The size of WASI adapter binaries has been optimized.
    #​8858
    #​8859

  • The wasmtime-wasi-http crate has been refactored to better match the
    wasmtime-wasi crate.
    #​8861

  • Support for caching call_indirect sites has been removed.
    #​8881

  • Wasmtime's x86_64 binary releases are now based on AlmaLinux 8 instead of
    CentOS 7.
    #​8892

Fixed
  • An issue with generated .debug_loc sections for native debuggers has been
    fixed.
    #​8753

  • Wasmtime's no_std build for riscv64 has been fixed.
    #​8770

  • A bug related to lost Waker instances with async stdio streams has been
    fixed.
    #​8782

  • Configuration of trappable_error_type has been improved in Wasmtime's
    bindgen! macro.
    #​8833

  • Prints to stdout/stderr without a newline now work better with wasmtime serve.
    #​8877

  • An issue with br_if and stack-related state has been fixed in Winch.
    #​8886

v22.0.1

Compare Source

22.0.1

Released 2024-10-09.

Fixed
  • Fix a runtime crash when combining tail-calls with host imports that capture a
    stack trace or trap.
    GHSA-q8hx-mm92-4wvg

  • Fix a race condition could lead to WebAssembly control-flow integrity and type
    safety violations.
    GHSA-7qmx-3fpx-r45m

v22.0.0

Compare Source

22.0.0

Released 2024-06-20.

Added
  • The CMake-based build of Wasmtime's C API now adds a
    WASMTIME_FASTEST_RUNTIME option which activates the "fastest-runtime"
    compilation profile which enables LTO.
    #​8554

  • Cranelift supports more instructions in the RISC-V Zfa and ZiCond extensions.
    #​8582
    #​8695

  • Support for fused-multiply-and-add on RISC-V has been improved.
    #​8596
    #​8588

  • Release binaries for {aarch64,x86_64}-android have been added. Note that
    Android is still a Tier 3 target.
    #​8601

  • Wasmtime now supports supertypes and finality in the type hierarchy for wasm
    gc.
    #​8595

  • Lazy initialization of tables can now be tuned with a CLI flags and
    configuration option.
    #​8531

  • Wasmtime now compiles for x86_64 OpenBSD. Note that this is a Tier 3
    target
    and continued support is always appreciated.
    #​8613

  • Stack slots in Cranelift can now specify custom alignment.
    #​8635

  • Wasm function names are now used in compiled objects to assist with debugging
    and introspection with native tools.
    #​8627

  • Wasmtime's release artifacts now includes wasmtime-platform.h for use with
    no_std targets.
    #​8644

  • Release binaries for x86_64 Alpine Linux have been added.
    #​8668

  • A new Component::define_unknown_imports_as_traps function has been added to
    stub out functions in a component linker.
    #​8672

Changed
  • Wasmtime and Cranelift's now require Rust 1.76.0 to build.
    #​8560

  • The wasi_config_preopen_dir function no longer always returns true in the
    C API. Additionally wasi_config_set_env and wasi_config_set_argv may now
    return an error.
    #​8572

  • Cranelift now updates registers of backend instructions in-place, simplifying
    register allocation and assignment.
    #​8566
    #​8581
    #​8592
    #​8604
    #​8605

  • Wasmtime now attempts to batch memory decommits into one tight loop.
    #​8581
    #​8590

  • Bindings generated with bindgen! now have generated GetHost traits and
    add_to_linker_get_host functions which enable a more general means by which
    to acquire host implementations from a store's T.
    #​8448

  • The wasmtime serve subcommand will now dynamically determine whether to use
    the pooling allocator by default based on the system's available virtual
    memory.
    #​8610

  • Implementations of Host traits in the wasmtime-wasi crate are now for
    WasiImpl<T> instead of blanket impls for T.
    #​8609
    #​8766

  • The concepts of "virtual sp offset" and "nominal sp" have been removed from all
    Cranelift backends.
    #​8631
    #​8643

  • The maximum size of linear memory in the pooling allocator is now specified in
    bytes instead of pages.
    #​8628

  • Wasmtime no longer has two different host ABIs for host functions and instead
    only has one. The "array" calling convention is now unconditionally used
    instead of having a split between the "native" calling convention and the
    "array" calling convention. This means that Func::new is now available even
    when the cranelift feature is disabled.
    #​8629
    #​8646

  • Wasmtime's C API bindings for CMake have been refactored and now supports
    specifying Cargo features directly. Functions that are configured out are now
    also gated in header files.
    #​8642

  • Wasmtime's C API can now be built without Cranelift or Winch.
    #​8661

  • Wasmtime's release binaries have Winch compiled in by default now.
    #​8660

  • The output of wasmtime explore now shows function names in addition to
    indices.
    #​8639

  • Support for the Wasmtime 13-and-prior CLI has been removed.
    #​8597

  • Wiggle-based borrow checking has been removed in favor of modeling host usage
    of guest memory with Rust-level borrows.
    #​8702

  • Wasmtime's bindgen! macro will now generate the same hierarchy of
    traits/types/modules even when the with module is used via new pub use
    statements.
    #​8721

  • The WasiCtxBuilder::socket_addr_check function now takes an async closure.
    #​8715

  • The Func::wrapN_async functions and friends have all been consolidated into
    a single function with a slightly different signature of taking a tuple of
    arguments rather than "splatted" arguments.
    #​8732

Fixed
  • Trampoline lookup for wasm gc functions that may use subtyping on the host to
    match a guest's desired type now no longer panics.
    #​8579

  • The total size of arguments, environment variables, and preopens is now
    allowed to exceed 64k when using the wasip1 component adapter.
    #​8594

  • Performing a zero-length read on file streams is now fixed in WASI.
    #​8611

  • Tail calls are now turned by default after a mistake was discovered in the
    previous releases's intent to enable them by default.
    #​8682

  • Winch support for f64 comparison instructions has been fixed.
    #​8685

  • The SO_REUSEADDR option is reenabled for Unix platforms with wasmtime serve.
    #​8738

v21.0.2

Compare Source

21.0.2

Released 2024-10-09.

Fixed
  • Fix a runtime crash when combining tail-calls with host imports that capture a
    stack trace or trap.
    GHSA-q8hx-mm92-4wvg

  • Fix a race condition could lead to WebAssembly control-flow integrity and type
    safety violations.
    GHSA-7qmx-3fpx-r45m

v21.0.1

Compare Source

21.0.1

Released 2024-05-22.

Fixed
  • Fixed outgoing HTTP requests which don't explicitly specify a port.
    #​8671

v21.0.0

Compare Source

21.0.0

Released 2024-05-20.

Added
  • The wasmtime explore subcommand now supports *.wat files.
    #​8314

  • Wasmtime now supports DWARF Fission *.dwp files.
    #​8055

  • The wasmtime crate now supports #![no_std], and more information about
    this transition can be found in
    #​8341.
    #​8463
    #​8483
    #​8485
    #​8528
    #​8533

  • A Config knob is now available for one-entry call_indirect caching to
    speed up modules with lots of call_indirect instructions.
    #​8509

  • Cranelift's riscv64 backend has initial support for the Zfa Extension.
    #​8536

  • The WebAssembly tail-calls proposal is now enabled by default when using the
    Cranelift backend, except for the s390x architecture.
    #​8540

Changed
  • Support for NaN canonicalization on x64 has been optimized to avoid branches.
    #​8313

  • The bindgen! macro now defaults to assuming imports cannot trap, but this
    behavior is configurable at macro-generation time.
    #​8310

  • The fd_{read,write} implementations in wasmtime-wasi have been optimized.
    #​8303

  • The wasmtime-wasi-http crate has been refactored and has improved
    documentation.
    #​8332
    #​8347

  • Unused with parameters in bindgen! now generate an error.
    #​8371

  • The fd_read implementation in wasmtime-wasi now only reads into a single
    iovec per call.
    #​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

  • Add an optimized "sleep" path for poll_oneoff to wasmtime-wasi.
    #​8429

  • The Wasmtime-internal wasmtime-runtime crate has been removed.
    #​8501

  • The pooling allocator now allows twice as many elements as before.
    #​8527

  • Using CMake to build the C API has been improved along a number of axes.
    #​8490
    #​8497
    #​8549

Fixed
  • Pooling allocator CLI options are now respected with the wasmtime serve
    subcommand.
    #​8525

  • The read implementation for file input streams in wasmtime-wasi now
    correctly handles zero-length reads.
    #​8611

v20.0.2

Compare Source

20.0.2

Released 2024-05-07.

Added
  • Improve error in CMake for when Cargo is not found.
    #​8497

  • Use --release in CMake with MinSizeRel and RelWithDebInfo.
    #​8549

  • Add a WASMTIME_FASTEST_RUNTIME configuration option for CMake which enables
    LTO and other related optimization options.
    #​8554

v20.0.1

Compare Source

20.0.1

Released 2024-05-03.

Added
  • Make the c-api CMakeLists.txt easier to import.
    #​8496

v20.0.0

Compare Source

20.0.0

Released 2024-04-22.

Added
  • Support for shared WebAssembly memories has been added to the C API.
    #​7940

  • A Component::component_type method has been added to reflect on the imports
    and exports of a component.
    #​8078

  • The with key in bindgen! now supports remapping entire packages and
    namespaces.
    #​8083

  • Winch now supports the component model by using Cranelift to generate
    trampolines.
    #​8082
    #​8109

  • The WASI-NN backend now supports ONNX.
    #​7691

  • The wasmtime CLI now has an -S inherit-env flag for inheriting the entire
    process environment.
    #​8168

  • Winch now supports the WebAssembly memory64 proposal.
    #​8194

  • Embedders can now opt-in to allowing wasmtime-wasi to block the current thread
    with file operations, for example.
    #​8190

  • A wasmtime::CodeBuilder type has been added to refine the configuration of
    compiling a Module or a Component.
    #​8181

  • The wasmtime serve subcommand now enables configuring preopened directories
    and environment variables.
    #​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
    #​8196

  • The wasmtime::component::Val type no longer stores type information and
    instead must be interpreted in the context of a type.
    #​8062

  • The arguments required for ResourceAny::try_from_resource have been
    simplified by refactoring the internal representation.
    #​8061

  • The arguments required for wasmtime::component::Linker::func_new have been
    simplified by refactoring the internal representation.
    #​8070

  • The pooling allocator is now enabled by default with wasmtime serve.
    #​8073

  • The error message for missing imports in has been improved with components.
    #​7645

  • Wasmtime's MSRV is now 1.75.0.
    #​8205

  • Wasmtime's translation of table-related instructions has improved codegen in
    some common cases, especially with call_indirect.
    #​8063
    #​8125
    #​8124
    #​8134
    #​8137
    #​8162
    #​8159
    #​8172
    #​8171
    #​8139
    #​8206

  • Book-based documentation has been reordered and refactored.
    #​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

  • 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

  • The wasmtime-wasi crate has been refactored to restructure some items and
    documentation has been added for most items.
    #​8228

  • Support for the WebAssembly threads proposal is now gated by an
    on-by-default Cargo feature named threads.
    #​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

Fixed
  • Connection timeouts with wasi-http have been

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants