Added
-
Added
Error::stack_trace_limit()andError::set_stack_trace_limit()bindings tojs-sysfor the non-standard V8Error.stackTraceLimitproperty. #5082 -
Added support for multiple
#[wasm_bindgen(start)]functions, which are chained together at initialization, as well as a new#[wasm_bindgen(start, private)]to register a start function without exporting it as a public export. #5081 -
Reinitialization is no longer automatically applied when using
panic=unwindand--experimental-reset-state-function, instead it is triggered by any use of thehandler::schedule_reinit()function underpanic=unwind, which is supported from within theon_aborthandler for reinit workflows. Renamedhandler::reinit()tohandler::schedule_reinit()and removed theset_on_reinit()handler. The__instance_terminatedaddress is now always a simple boolean (0= live,1= terminated). #5083 -
handler::schedule_reinit()now works underpanic=abortbuilds. Previously it was a no-op; it now sets the JS-side reinit flag and the next export call transparently creates a freshWebAssembly.Instance. #5099
Changed
- MSRV bump from 1.71 to 1.76 for the CLI, and 1.82 to 1.86 for the API #5102
Fixed
-
ES module
importstatements are now hoisted to the top of generated JS files, placed right after the@ts-self-typesdirective. This ensures valid ES module output sinceimportdeclarations must precede other statements. #5103 -
Fixed two CLI issues affecting WASM modules built by rustc 1.94+. First, a panic (
failed to find N in function table) caused by lld emitting element segment offsets asglobal.get $__table_baseor extended const expressions instead of plaini32.const Nfor large function tables; the fix adds a const-expression evaluator inget_function_table_entryand guards against integer underflow in multi-segment tables. Second, the descriptor interpreter now routes all global reads/writes through a singleglobalsHashMap seeded from the module's own globals, and mirrors the module's actual linear memory rather than a fixed 32KB buffer, so the stack pointer's real value is valid without any override. This fixes panics likefailed to find 32752 in function tablecaused byGOT.func.internal.*globals being misidentified as the stack pointer. #5076 #5080 #5093 #5095