CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Releases: bytecodealliance/wasmtime
dev: Make table/memory allocation functions safe (#11320)
88079b4
Compare
These were previously marked as `unsafe` trait methods with a requirement that the memory/table shape must be validated ahead of time. Neither the ondemand nor pooling allocator actually has an unsafe contract to uphold with respect to this and both may assert/reject non-validated shapes but memory unsafety won't happen as a result. Consequently these functions are made safe. Instance allocation functions are adjusted to reflect how the correctness of `imports` is required for the functions to be safe.
Assets 40
v35.0.0: Release Wasmtime 35.0.0 (#11286)
509af9e
Compare
35.0.0
Released 2025-07-22.
Added
-
A new
InputFile
type has been added for specifying stdin as a file in WASI.
#10968 -
Conditional branches to unconditional traps are now translated to conditional
traps during legalization.
#10988 -
The
TE
HTTP header can now be specified by guests.
#11002 -
Winch on AArch64 should now pass all WebAssembly MVP tests. Note that it is
still not yet Tier 1 at this time, however.
#10829
#11013
#11031
#11051 -
The x64 backend now has lowering rules for
{add,sub,or,and} mem, imm
#11043 -
Initial support for WASIp2 in the C API has started to land.
#11055
#11172 -
Initial support for GC support in the component model has started to land
(note that it is not finished yet).
#10967
#11020 -
The
wasmtime-wasi-nn
crate now has a feature to use a custom ONNX runtime.
#11060 -
Cranelift now optimizes division-by-constant operations to no longer use
division.
#11129 -
A
native-tls
backend has been added for the wasi-tls implementation.
#11064
Changed
-
Many more instructions for the x64 backend in Cranelift were migrated to the
new assembler.
#10927
#10928
#10918
#10946
#10954
#10958
#10971
#10942
#10975
#11017
#10898
#10836
... (and more) -
Wasmtime internally uses
Pin
for VM data structures to make the internal
implementations more sound to use. This has no effect on the public API of
Wasmtime.
#10934
#10937
#10943
#10959
#11042 -
Fused adapters between components now transfer the
enum
component model type
more efficiently.
#10939 -
Filenames of
--emit-clif
now match the symbol names found in*.cwasm
artifacts and include the function name as well.
#10947
#11040 -
Wasmtime-internal crates are now all named
wasmtime-internal-*
to even
further discourage their use.
#10963 -
Codegen of conditional traps with float compares has been improved.
#10966 -
More patterns are now optimized in ISLE mid-end rules.
#10978
#10979
#11173 -
Winch's support for constants/scratch registers has been improved internally.
#10986
#10998 -
The C API artifacts on Windows are now produced with Clang instead of
cl.exe
.
#10890 -
WebAssembly operand types are now taken into account during translation to
optimize codegen better in the face of subtyping.
#11030 -
The behavior of
blocking-write-and-flush
has been updated during flushing
whenclosed
is found.
#11018 -
WASI WITs have been updated to 0.2.6.
#11049 -
OpenVINO has been updated to v2025.1.
#11054 -
The size of the
wasmtime.addrmap
section in*.cwasm
artifacts has been
shrunk slightly.
#11126 -
Authorities in
wasmtime-wasi-http
can now contain the:
character.
#11145 -
Wasmtime now requires Rust 1.86 to compile.
#11142 -
Wasmtime's DRC collector has been optimized and has a new more efficient means
of managing the set of over-approximated roots on the stack.
#11144
#11148
#11167
#11168
#11169
#11175 -
The
ComponentType
trait in Wasmtime now requires theSend
andSync
bounds for all implementors.
#11160 -
The
V128
type is now usable on platforms other than aarch64 and x86_64.
#11165 -
Wasmtime's policy on
unsafe
code and guidelines has been added.
#11177 -
The
std
crate will no longer implicitly be used oncfg(unix)
and
cfg(windows)
targets when thestd
Cargo feature is disabled. This means
that these platforms now requirestd
to be enabled to use the
platform-specific implementation of linear memory, for example.
#11152
Fixed
-
A panic when optimizing
icmp
with vectors has been fixed.
#10948 -
A panic when lowering
scalar_to_vector
withi16x8
types has been fixed.
#10949 -
The vector state register is now considered clobbered by calls on riscv64 to
ensure it's updated across calls.
#11048 -
An instance of
gdb
crashing on DWARF emitted by Wasmtime has been fixed.
#11077 -
Fix a panic in the host caused by preview1 guests using
fd_renumber
.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber
.
#11277
Assets 40
- sha256:232dbee1d1c2d854c10018dd0429b60f5ba2345dd1c5d198bd02dbb883e131f4
2025-07-22T16:26:28Z - sha256:3affe2f7d2c326e29b047989af29c78fabe6c25e1f88ba176deba7b0253cb0d3
2025-07-22T16:26:29Z - sha256:2bcc151edbaafda9154de3ef15dc4d33d3e3ee490b1a8d691d0e1848337ce481
2025-07-22T16:26:29Z - sha256:dddc8274dcd35847c0ec52cfc1be60f8a9674334af2ec17d95025c89afdd98d5
2025-07-22T16:26:29Z - sha256:a7fc8584790f46b94400b88bffbeeaa1bf6350addf2517a3685b2b294376903c
2025-07-22T16:26:30Z - sha256:84528267448bd1bda67983ee3e4cb6e1c666c9468dd58233447444d0e015b52f
2025-07-22T16:26:31Z - sha256:a99887d7ee4649f5d91a059cf22d045729051435df0e0c301e6510c3e7d9e235
2025-07-22T16:26:32Z - sha256:304009a9e4cad3616694b4251a01d72b77ae33d884680f3586710a69bd31b8f8
2025-07-22T16:26:33Z - sha256:7f99baf60d7013ad28a801417d7e204ad0e1147c07b5e8d123f782e675928b35
2025-07-22T16:26:34Z - sha256:8ad8832564e15053cd982c732fac39417b2307bf56145d02ffd153673277c665
2025-07-22T16:26:35Z -
2025-07-22T15:55:57Z -
2025-07-22T15:55:57Z - Loading
v34.0.2: Release Wasmtime 34.0.2 (#11275)
ed0d2fe
Compare
34.0.2
Released 2025-07-18.
Fixed
-
Fix a panic in the host caused by preview1 guests using
fd_renumber
.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber
.
#11277
34.0.1
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103
Assets 40
v33.0.2: Release Wasmtime 33.0.2 (#11274)
29b67c0
Compare
33.0.2
Released 2025-07-18.
Fixed
-
Fix a panic in the host caused by preview1 guests using
fd_renumber
.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber
.
#11277
33.0.1
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103
Assets 40
v24.0.4: Release Wasmtime 24.0.4 (#11273)
55fa924
Compare
24.0.4
Released 2025-07-18.
Fixed
-
Fix a panic in the host caused by preview1 guests using
fd_renumber
.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber
.
#11277
24.0.3
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103
Assets 30
v34.0.1: Release Wasmtime 34.0.1 (#11119)
v33.0.1: Release Wasmtime 33.0.1 (#11120)
v32.0.1: Release Wasmtime 32.0.1 (#11118)
v24.0.3: Release Wasmtime 24.0.3 (#11121)
v34.0.0: Release Wasmtime 34.0.0 (#11085)
26ed24a
Compare
34.0.0
Released 2025-06-20.
Added
-
Support for SIMD in the Pulley interpreter can now be disabled at compile-time
to shrink the size of the final binary.
#10727 -
The C API now has
wasmtime_trap_new_code
to create awasm_trap_t
from
its code.
#10765 -
Winch's support for x86_64 is now classified with tier 1 support in Wasmtime.
#10755 -
Winch's support for aarch64 now implements stack checks to pass many more spec
tests.
#10763 -
Cranelift's s390x backend now has full support for the
f128
type.
#10774 -
Wasmtime's C API for the component model has initial support for calling
functions.
#10697
#10841
#10858
#10864
#10877 -
The
wasmtime wast
command now has a--generate-dwarf
flag to show
filename/line number information for backtraces.
#10780
Changed
-
The shape of
bindgen!
-generatedadd_to_linker
functions has changed with
the removal ofGetHost
and replacement of aHasData
trait. For more
information see the associated PR.
#10770 -
Wasmtime's
Store<T>
now requires thatT: 'static
. This is done in
preparation for merging WASIp3 work to the main repository with some more
information on the associated PR.
#10760 -
The
wasmtime::component::Instance::instance_pre
method is now public.
#10761 -
Wasmtime and Cranelift's minimnum supported version of Rust (MSRV) is now
1.85.0.
#10785 -
Cranelift's
debugtrap
on aarch64 now generatesbrk #0xf000
for debuggers
to recognize it.
#10813 -
The wasi-http implementation no longer generates a trap if the handle to
receive the response on the host is dropped early.
#10833 -
The
wasmtime serve
command will now send some boilerplate descriptive HTML
on a 500 server error instead of nothing.
#10851 -
A significant amount of work has gone into the new assembler for the x64
backend. Too many PRs to list here but progress continues apace at defining
all machine instructions in a standalone crate. -
Cranelift will now reject unimplemented big-endian loads/stores on backends
that do not implement this functionality.
#10863 -
The
wasmtime explore
generated HTML handles large modules better now.
#10892 -
Wasmtime's internal representation of
wasmtime::Func
has changed and a
previous optimization ofFunc::call
has been lost. If affected it'd
recommended to useFunc::call_unchecked
instead or to open an issue.
#10897