Back to Wasmtime

RELEASES

RELEASES.md

45.0.010.7 KB
Original Source

45.0.0

Released 2026-05-21.

Added

  • Winch now respects the enable_nan_canonicalization setting. #12939

  • Initial support for invoking component functions asynchronously has been added to the C API. #12973

  • Cranelift's s390x backend implements more instructions from z17 and also implements more CLIF arithmetic overflow instructions. #12523 #12707

  • Wasmtime's support for handling OOM in more APIs has expanded and is now documented as well. #12993 #12988 #13017 #13047 #13049 #13051 #13074 #13083 #13088 #13224

  • The Component type now offers reflection APIs over the compiled in-memory view of instructions in the same manner Module does. #13073

  • The wasmtime CLI now has a hot-blocks subcommand to explore a perf-recorded output and show hot basic blocks of WebAssembly instructions. #13077

  • Wasmtime now has an initial implementation of a copying collector for GC, which notably enables collecting cycles unlike the DRC collector. #13093 #13107

  • The WASI inherit_network and allow_ip_name_lookup options were added to the C API. #13145

  • The C API now has the ability to select Winch as well as the RegallocAlgorithm in use. #13155

  • The Wasmtime CLI now has a -Dmax-backtrace=N argument to control the number of frames captured. #13218

  • Wasmtime now tracks whether there are any active async tasks within a store and provides an embedder API to learn when there are none left. #13246

  • Cranelift now has an idempotent-store elimination pass. #13251

Changed

  • Wasmtime's DRC collector has received some optimizations to get some wins on local benchmarking. #12969 #12974

  • Wasmtime's C API can now be built without the gc crate feature of Wasmtime. #12805

  • Wasmtime now has an implemented and improved grow-vs-collect heuristic to improve behavior of GC-using programs. #12942

  • Cranelift on aarch64 now uses a more optimized frame layout for tail-call-only functions. #11608

  • Wasmtime now supports a separate set of GC tunables different from the main set of tunables for linear memory to enable configuring it separately. #13080

  • Wasmtime no longer uses pointer authentication instructions for the implementation of fibers due to issues on Android. #13118

  • Wasmtime now requires Rust 1.93.0 to compile. #13127

  • The behavior of using Wasmtime as a CMake subproject has been improved. #13157

  • Reference types in the C/C++ API have been refactored and reorganized. #13154 #13235

  • The Wasmtime CLI now warns about usage of wasi-common or wasi-threads as these components are slated for removal in Wasmtime 47.0.0. For more information see the associated RFC. #13264

  • Inlining in Wasmtime now has a different set of configuration options, notably more values are packed into -Cinlining=.... #13250

Fixed

  • The WASIp1-to-WASIp2 adapter now handles nonblocking I/O in fd_{read,write} more appropriately. #13111

  • The Host header is injected less often for wasmtime-wasi-http. #13138

  • Downcasts of funcref values now uses the correct type for imported functions. #13161

  • The DRC allocator's memory usage during tracing has been reduced when there are large arrays. #13192

  • The performance of reading stdin in WASI has been improved. #13256

  • WASI path_open(TRUNCATE) bypasses FilePerms::WRITE host restriction. GHSA-2r75-cxrj-cmph


Release notes for previous releases of Wasmtime can be found on the respective release branches of the Wasmtime repository.

<!-- ARCHIVE_START -->