chore(deps): update rust crate wasm-bindgen to v0.2.118#63
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update rust crate wasm-bindgen to v0.2.118#63renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
5bbaecc to
3d07049
Compare
3d07049 to
b4d6fc1
Compare
b4d6fc1 to
e06acad
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.2.114→0.2.118Release Notes
wasm-bindgen/wasm-bindgen (wasm-bindgen)
v0.2.118Compare Source
Added
Added
Error::stack_trace_limit()andError::set_stack_trace_limit()bindingsto
js-sysfor the non-standard V8Error.stackTraceLimitproperty.#5082
Added support for multiple
#[wasm_bindgen(start)]functions, which arechained together at initialization, as well as a new
#[wasm_bindgen(start, private)]to register a start function withoutexporting 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 anyuse of the
handler::schedule_reinit()function underpanic=unwind,which is supported from within the
on_aborthandler for reinit workflows.Renamed
handler::reinit()tohandler::schedule_reinit()and removedthe
set_on_reinit()handler. The__instance_terminatedaddressis now always a simple boolean (
0= live,1= terminated).#5083
handler::schedule_reinit()now works underpanic=abortbuilds. Previouslyit was a no-op; it now sets the JS-side reinit flag and the next export call
transparently creates a fresh
WebAssembly.Instance.#5099
Changed
#5102
Fixed
ES module
importstatements are now hoisted to the top of generated JSfiles, placed right after the
@ts-self-typesdirective. This ensuresvalid ES module output since
importdeclarations must precede otherstatements.
#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 elementsegment offsets as
global.get $__table_baseor extended const expressionsinstead of plain
i32.const Nfor large function tables; the fix adds aconst-expression evaluator in
get_function_table_entryand guards againstinteger underflow in multi-segment tables. Second, the descriptor interpreter
now routes all global reads/writes through a single
globalsHashMap seededfrom 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 like
failed to find 32752 in function tablecaused byGOT.func.internal.*globals being misidentified as thestack pointer.
#5076
#5080
#5093
#5095
v0.2.117Compare Source
Fixed
Fixed a regression introduced in #5026 where stable
web-sysmethods thataccept a union type containing a
[WbgGeneric]interface (e.g.ImageBitmapSource, which includesVideoFrame) incorrectly applied typedgenerics to all union expansions rather than only those whose argument type
is itself
[WbgGeneric]. In practice this causedWindow::create_image_bitmap_with_*and the corresponding
WorkerGlobalScopeoverloads to returnPromise<ImageBitmap>instead ofPromise<JsValue>for the stable(non-
VideoFrame) call sites, breakingJsFuture::from(promise).await?.#5064
#5073
Fixed handling logic for environment variable
WASM_BINDGEN_TEST_ADDRESSinthe test runner, when running tests in headless mode.
#5087
v0.2.116Compare Source
Added
js_sys::Float16Arraybindings,DataViewfloat16 accessors usingf32, and raw[u16]helper APIs for interoperability with binary16representations such as
half::f16.#5033
Changed
Updated to Walrus 0.26.1 for deterministic type section ordering.
#5069
The
#[wasm_bindgen]macro now emits&mut (impl FnMut(...) + MaybeUnwindSafe)/
&(impl Fn(...) + MaybeUnwindSafe)for raw&mut dyn FnMut/&dyn Fnimport arguments instead of a hidden generic parameter and where-clause. The
generated signature is cleaner and the
MaybeUnwindSafebound is visibledirectly in the argument position. The ABI and wire format are unchanged.
When building with
panic=unwind, closures that capture non-UnwindSafevalues (e.g.
&mut T,Cell<T>) must wrap them inAssertUnwindSafebeforecapture; on all other targets
MaybeUnwindSafeis a no-op blanket impl.#5056
v0.2.115Compare Source
Added
console.debug/log/info/warn/erroroutput from user-spawnedWorkerandSharedWorkerinstances is now forwarded to the CLI test runner duringheadless browser tests, just like output from the main thread. Works for
blob URL workers, module workers, URL-based workers (importScripts), nested
workers, and shared workers (including logs emitted before the first port
connection). Non-cloneable arguments are serialized via
String()ratherthan crashing the worker. The
--nocaptureflag is respected.#5037
js_sys::Promise<T>now implementsIntoFuture, enabling direct.awaitonany JS promise without a wrapper type. The
wasm-bindgen-futuresimplementationhas been moved into
js-sysbehind an optionalfuturesfeature, which isactivated automatically when
wasm-bindgen-futuresis a dependency. Allexisting
wasm_bindgen_futures::*import paths continue to work unchanged viare-exports.
js_sys::futuresis also available directly for users who wantpromise.awaitwithout depending onwasm-bindgen-futures.#5049
Added
--target emscriptensupport, generating alibrary_bindgen.jsfilefor consumption by Emscripten at link time. Includes support for futures,
JS closures, and TypeScript output. A new Emscripten-specific test runner is
also included, along with CI integration.
#4443
Added
VideoFrame,VideoColorSpace, and related WebCodecs dictionaries/enums toweb-sys.#5008
Added
wasm_bindgen::handlermodule withset_on_abortandset_on_reinithooks for
panic=unwindbuilds.set_on_abortregisters a callback invokedafter the instance is terminated (hard abort, OOM, stack overflow).
set_on_reinitregisters a callback invoked afterreinit()resets theWebAssembly instance via
--experimental-reset-state-function. Handlers arestored as Wasm indirect-function-table indices so dispatch is safe even when
linear memory is corrupt.
Changed
Replaced per-closure generic destructors with a single
__wbindgen_destroy_closureexport.
#5019
Refactored the headless browser test runner logging pipeline for dramatically improved
performance (>400x faster on Chrome, >10x on Firefox, ~5x on Safari). Switched to
incremental DOM scraping with
textContent.slice(offset), append-only output semantics,unified log capture across all log levels on failure, and browser-specific invisible-div
optimizations (
display:nonefor Chrome/Firefox,visibility:hiddenfor Safari).#4960
TTY-gated status/clear output in the test runner shell to avoid
\rcontrol-characterartifacts in non-interactive (CI) environments.
#4960
Added
bench_console_log_10mbbenchmark alongside the existing 1MB benchmark for theheadless test runner. The main branch cannot complete this benchmark at any volume.
#4960
Updated to Walrus 0.26
#5057
Fixed
Fixed argument order when calling multi-parameter functions in the
wasm-bindgeninterpreter by reversing the args collected from the stack.#5047
Added support for per-operation
[WbgGeneric]in WebIDL, restoring typedgeneric return types (e.g.
Promise<ImageBitmap>) forcreateImageBitmaponWindowandWorkerGlobalScopethat were lost after theVideoFramestabilization.
#5026
Fixed missing
#[cfg(feature = "...")]gates on deprecated dictionary buildermethods and getters for union-typed fields (e.g.
{Open,Save,Directory}FilePickerOptions::start_in()),and fixed per-setter doc requirements to list each setter's own required features.
#5039
Fixed
JsOption::new()to useundefinedinstead ofnull, to be compatible withOption::Noneand JS default parameters.#5023
Fixed unsound
unsafetransmutes inJsOption<T>::wrap,as_option, andinto_optionby replacing
transmute_copywithunchecked_into(). Also tightened theJsGenerictrait bound and
JsOption<T>impl block to requireT: JsGeneric(which impliesJsCast),preventing use with arbitrary non-JS types.
#5030
Fixed headless test runner emitting
\rcarriage-return sequences in non-TTY environments,which polluted captured logs in CI and complicated output-matching tests.
#4960
Fixed headless test runner printing incomplete and out-of-order log output on test failures
by merging all five log levels into a single unified output div.
#4960
Fixed large test outputs (10MB+) causing oversized WebDriver responses that were either
extremely slow or crashed completely, by switching to incremental streaming output collection.
#4960
Fixed a duplciate wasm export in node ESM atomics, when compiled in debug mode
#5028
Fixed a type inference regression (
E0283: type annotations needed) introducedin v0.2.109 where the stable
FromIteratorandExtendimpls onjs_sys::Arraywere changed from
A: AsRef<JsValue>toA: AsRef<T>. Because#[wasm_bindgen]generates multiple
AsRefimpls per type, the compiler could not uniquely resolveT, breaking code likeArray::from_iter([my_wasm_value])without explicitannotations. The stable impls are restored to
A: AsRef<JsValue>(returningArray<JsValue>); the genericA: AsRef<T>forms remain available underjs_sys_unstable_apis.#5052
Fixed
skip_typescriptnot being respected when usingreexport, causingTypeScript definitions to be incorrectly emitted for re-exported items marked
with
#[wasm_bindgen(skip_typescript)].#5051
Removed
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.