@@ -4,8 +4,165 @@ Unreleased.
44
55### Added
66
7+ * A new ` InputFile ` type has been added for specifying stdin as a file in WASI.
8+ [ #10968 ] ( https://github.com/bytecodealliance/wasmtime/pull/10968 )
9+
10+ * Conditional branches to unconditional traps are now translated to conditional
11+ traps during legalization.
12+ [ #10988 ] ( https://github.com/bytecodealliance/wasmtime/pull/10988 )
13+
14+ * The ` TE ` HTTP header can now be specified by guests.
15+ [ #11002 ] ( https://github.com/bytecodealliance/wasmtime/pull/11002 )
16+
17+ * Winch on AArch64 should now pass all WebAssembly MVP tests. Note that it is
18+ still not yet Tier 1 at this time, however.
19+ [ #10829 ] ( https://github.com/bytecodealliance/wasmtime/pull/10829 )
20+ [ #11013 ] ( https://github.com/bytecodealliance/wasmtime/pull/11013 )
21+ [ #11031 ] ( https://github.com/bytecodealliance/wasmtime/pull/11031 )
22+ [ #11051 ] ( https://github.com/bytecodealliance/wasmtime/pull/11051 )
23+
24+ * The x64 backend now has lowering rules for ` {add,sub,or,and} mem, imm `
25+ [ #11043 ] ( https://github.com/bytecodealliance/wasmtime/pull/11043 )
26+
27+ * Initial support for WASIp2 in the C API has started to land.
28+ [ #11055 ] ( https://github.com/bytecodealliance/wasmtime/pull/11055 )
29+ [ #11172 ] ( https://github.com/bytecodealliance/wasmtime/pull/11172 )
30+
31+ * Initial support for GC support in the component model has started to land
32+ (note that it is not finished yet).
33+ [ #10967 ] ( https://github.com/bytecodealliance/wasmtime/pull/10967 )
34+ [ #11020 ] ( https://github.com/bytecodealliance/wasmtime/pull/11020 )
35+
36+ * The ` wasmtime-wasi-nn ` crate now has a feature to use a custom ONNX runtime.
37+ [ #11060 ] ( https://github.com/bytecodealliance/wasmtime/pull/11060 )
38+
39+ * Cranelift now optimizes division-by-constant operations to no longer use
40+ division.
41+ [ #11129 ] ( https://github.com/bytecodealliance/wasmtime/pull/11129 )
42+
43+ * A ` native-tls ` backend has been added for the wasi-tls implementation.
44+ [ #11064 ] ( https://github.com/bytecodealliance/wasmtime/pull/11064 )
45+
746### Changed
847
48+ * Many more instructions for the x64 backend in Cranelift were migrated to the
49+ new assembler.
50+ [ #10927 ] ( https://github.com/bytecodealliance/wasmtime/pull/10927 )
51+ [ #10928 ] ( https://github.com/bytecodealliance/wasmtime/pull/10928 )
52+ [ #10918 ] ( https://github.com/bytecodealliance/wasmtime/pull/10918 )
53+ [ #10946 ] ( https://github.com/bytecodealliance/wasmtime/pull/10946 )
54+ [ #10954 ] ( https://github.com/bytecodealliance/wasmtime/pull/10954 )
55+ [ #10958 ] ( https://github.com/bytecodealliance/wasmtime/pull/10958 )
56+ [ #10971 ] ( https://github.com/bytecodealliance/wasmtime/pull/10971 )
57+ [ #10942 ] ( https://github.com/bytecodealliance/wasmtime/pull/10942 )
58+ [ #10975 ] ( https://github.com/bytecodealliance/wasmtime/pull/10975 )
59+ [ #11017 ] ( https://github.com/bytecodealliance/wasmtime/pull/11017 )
60+ [ #10898 ] ( https://github.com/bytecodealliance/wasmtime/pull/10898 )
61+ [ #10836 ] ( https://github.com/bytecodealliance/wasmtime/pull/10836 )
62+ ... (and more)
63+
64+ * Wasmtime internally uses ` Pin ` for VM data structures to make the internal
65+ implementations more sound to use. This has no effect on the public API of
66+ Wasmtime.
67+ [ #10934 ] ( https://github.com/bytecodealliance/wasmtime/pull/10934 )
68+ [ #10937 ] ( https://github.com/bytecodealliance/wasmtime/pull/10937 )
69+ [ #10943 ] ( https://github.com/bytecodealliance/wasmtime/pull/10943 )
70+ [ #10959 ] ( https://github.com/bytecodealliance/wasmtime/pull/10959 )
71+ [ #11042 ] ( https://github.com/bytecodealliance/wasmtime/pull/11042 )
72+
73+ * Fused adapters between components now transfer the ` enum ` component model type
74+ more efficiently.
75+ [ #10939 ] ( https://github.com/bytecodealliance/wasmtime/pull/10939 )
76+
77+ * Filenames of ` --emit-clif ` now match the symbol names found in ` *.cwasm `
78+ artifacts and include the function name as well.
79+ [ #10947 ] ( https://github.com/bytecodealliance/wasmtime/pull/10947 )
80+ [ #11040 ] ( https://github.com/bytecodealliance/wasmtime/pull/11040 )
81+
82+ * Wasmtime-internal crates are now all named ` wasmtime-internal-* ` to even
83+ further discourage their use.
84+ [ #10963 ] ( https://github.com/bytecodealliance/wasmtime/pull/10963 )
85+
86+ * Codegen of conditional traps with float compares has been improved.
87+ [ #10966 ] ( https://github.com/bytecodealliance/wasmtime/pull/10966 )
88+
89+ * More patterns are now optimized in ISLE mid-end rules.
90+ [ #10978 ] ( https://github.com/bytecodealliance/wasmtime/pull/10978 )
91+ [ #10979 ] ( https://github.com/bytecodealliance/wasmtime/pull/10979 )
92+ [ #11173 ] ( https://github.com/bytecodealliance/wasmtime/pull/11173 )
93+
94+ * Winch's support for constants/scratch registers has been improved internally.
95+ [ #10986 ] ( https://github.com/bytecodealliance/wasmtime/pull/10986 )
96+ [ #10998 ] ( https://github.com/bytecodealliance/wasmtime/pull/10998 )
97+
98+ * The C API artifacts on Windows are now produced with Clang instead of
99+ ` cl.exe ` .
100+ [ #10890 ] ( https://github.com/bytecodealliance/wasmtime/pull/10890 )
101+
102+ * WebAssembly operand types are now taken into account during translation to
103+ optimize codegen better in the face of subtyping.
104+ [ #11030 ] ( https://github.com/bytecodealliance/wasmtime/pull/11030 )
105+
106+ * The behavior of ` blocking-write-and-flush ` has been updated during flushing
107+ when ` closed ` is found.
108+ [ #11018 ] ( https://github.com/bytecodealliance/wasmtime/pull/11018 )
109+
110+ * WASI WITs have been updated to 0.2.6.
111+ [ #11049 ] ( https://github.com/bytecodealliance/wasmtime/pull/11049 )
112+
113+ * OpenVINO has been updated to v2025.1.
114+ [ #11054 ] ( https://github.com/bytecodealliance/wasmtime/pull/11054 )
115+
116+ * The size of the ` wasmtime.addrmap ` section in ` *.cwasm ` artifacts has been
117+ shrunk slightly.
118+ [ #11126 ] ( https://github.com/bytecodealliance/wasmtime/pull/11126 )
119+
120+ * Authorities in ` wasmtime-wasi-http ` can now contain the ` : ` character.
121+ [ #11145 ] ( https://github.com/bytecodealliance/wasmtime/pull/11145 )
122+
123+ * Wasmtime now requires Rust 1.86 to compile.
124+ [ #11142 ] ( https://github.com/bytecodealliance/wasmtime/pull/11142 )
125+
126+ * Wasmtime's DRC collector has been optimized and has a new more efficient means
127+ of managing the set of over-approximated roots on the stack.
128+ [ #11144 ] ( https://github.com/bytecodealliance/wasmtime/pull/11144 )
129+ [ #11148 ] ( https://github.com/bytecodealliance/wasmtime/pull/11148 )
130+ [ #11167 ] ( https://github.com/bytecodealliance/wasmtime/pull/11167 )
131+ [ #11168 ] ( https://github.com/bytecodealliance/wasmtime/pull/11168 )
132+ [ #11169 ] ( https://github.com/bytecodealliance/wasmtime/pull/11169 )
133+ [ #11175 ] ( https://github.com/bytecodealliance/wasmtime/pull/11175 )
134+
135+ * The ` ComponentType ` trait in Wasmtime now requires the ` Send ` and ` Sync `
136+ bounds for all implementors.
137+ [ #11160 ] ( https://github.com/bytecodealliance/wasmtime/pull/11160 )
138+
139+ * The ` V128 ` type is now usable on platforms other than aarch64 and x86\_ 64.
140+ [ #11165 ] ( https://github.com/bytecodealliance/wasmtime/pull/11165 )
141+
142+ * Wasmtime's policy on ` unsafe ` code and guidelines has been added.
143+ [ #11177 ] ( https://github.com/bytecodealliance/wasmtime/pull/11177 )
144+
145+ * The ` std ` crate will no longer implicitly be used on ` cfg(unix) ` and
146+ ` cfg(windows) ` targets when the ` std ` Cargo feature is disabled. This means
147+ that these platforms now require ` std ` to be enabled to use the
148+ platform-specific implementation of linear memory, for example.
149+ [ #11152 ] ( https://github.com/bytecodealliance/wasmtime/pull/11152 )
150+
151+ ### Fixed
152+
153+ * A panic when optimizing ` icmp ` with vectors has been fixed.
154+ [ #10948 ] ( https://github.com/bytecodealliance/wasmtime/pull/10948 )
155+
156+ * A panic when lowering ` scalar_to_vector ` with ` i16x8 ` types has been fixed.
157+ [ #10949 ] ( https://github.com/bytecodealliance/wasmtime/pull/10949 )
158+
159+ * The vector state register is now considered clobbered by calls on riscv64 to
160+ ensure it's updated across calls.
161+ [ #11048 ] ( https://github.com/bytecodealliance/wasmtime/pull/11048 )
162+
163+ * An instance of ` gdb ` crashing on DWARF emitted by Wasmtime has been fixed.
164+ [ #11077 ] ( https://github.com/bytecodealliance/wasmtime/pull/11077 )
165+
9166--------------------------------------------------------------------------------
10167
11168Release notes for previous releases of Wasmtime can be found on the respective
0 commit comments