Commit f83a367
authored
Update rust-wasm-bindgen monorepo (#7406)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [js-sys](https://wasm-bindgen.github.io/wasm-bindgen/)
([source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/tree/HEAD/crates/js-sys))
| dependencies | patch | `0.3.91` → `0.3.95` |
| [wasm-bindgen](https://wasm-bindgen.github.io/wasm-bindgen)
([source](https://redirect.github.com/wasm-bindgen/wasm-bindgen)) |
dependencies | patch | `0.2.114` → `0.2.118` |
| [wasm-bindgen-futures](https://wasm-bindgen.github.io/wasm-bindgen/)
([source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/tree/HEAD/crates/futures))
| workspace.dependencies | patch | `0.4.64` → `0.4.68` |
|
[web-sys](https://wasm-bindgen.github.io/wasm-bindgen/web-sys/index.html)
([source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/tree/HEAD/crates/web-sys))
| dependencies | patch | `0.3.91` → `0.3.95` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/357) for more information.
---
### Release Notes
<details>
<summary>wasm-bindgen/wasm-bindgen (wasm-bindgen)</summary>
###
[`v0.2.118`](https://redirect.github.com/wasm-bindgen/wasm-bindgen/blob/HEAD/CHANGELOG.md#02118)
[Compare
Source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/compare/0.2.117...0.2.118)
##### Added
- Added `Error::stack_trace_limit()` and
`Error::set_stack_trace_limit()` bindings
to `js-sys` for the non-standard V8 `Error.stackTraceLimit` property.
[#​5082](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/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](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5081)
- Reinitialization is no longer automatically applied when using
`panic=unwind`
and `--experimental-reset-state-function`, instead it is triggered by
any
use of the `handler::schedule_reinit()` function under `panic=unwind`,
which is supported from within the `on_abort` handler for reinit
workflows.
Renamed `handler::reinit()` to `handler::schedule_reinit()` and removed
the `set_on_reinit()` handler. The `__instance_terminated` address
is now always a simple boolean (`0` = live, `1` = terminated).
[#​5083](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5083)
- `handler::schedule_reinit()` now works under `panic=abort` builds.
Previously
it was a no-op; it now sets the JS-side reinit flag and the next export
call
transparently creates a fresh `WebAssembly.Instance`.
[#​5099](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5099)
##### Changed
- MSRV bump from 1.71 to 1.76 for the CLI, and 1.82 to 1.86 for the API
[#​5102](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5102)
##### Fixed
- ES module `import` statements are now hoisted to the top of generated
JS
files, placed right after the `@ts-self-types` directive. This ensures
valid ES module output since `import` declarations must precede other
statements.
[#​5103](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/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 as `global.get $__table_base` or extended const
expressions
instead of plain `i32.const N` for large function tables; the fix adds a
const-expression evaluator in `get_function_table_entry` and guards
against
integer underflow in multi-segment tables. Second, the descriptor
interpreter
now routes all global reads/writes through a single `globals` HashMap
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 like `failed to find 32752 in
function
table` caused by `GOT.func.internal.*` globals being misidentified as
the
stack pointer.
[#​5076](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/5076)
[#​5080](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/5080)
[#​5093](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/5093)
[#​5095](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5095)
###
[`v0.2.117`](https://redirect.github.com/wasm-bindgen/wasm-bindgen/blob/HEAD/CHANGELOG.md#02117)
[Compare
Source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/compare/0.2.116...0.2.117)
##### Fixed
- Fixed a regression introduced in
[#​5026](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/5026)
where stable `web-sys` methods that
accept a union type containing a `[WbgGeneric]` interface (e.g.
`ImageBitmapSource`, which includes `VideoFrame`) incorrectly applied
typed
generics to all union expansions rather than only those whose argument
type
is itself `[WbgGeneric]`. In practice this caused
`Window::create_image_bitmap_with_*`
and the corresponding `WorkerGlobalScope` overloads to return
`Promise<ImageBitmap>` instead of `Promise<JsValue>` for the stable
(non-`VideoFrame`) call sites, breaking
`JsFuture::from(promise).await?`.
[#​5064](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/5064)
[#​5073](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5073)
- Fixed handling logic for environment variable
`WASM_BINDGEN_TEST_ADDRESS` in
the test runner, when running tests in headless mode.
[#​5087](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5087)
###
[`v0.2.116`](https://redirect.github.com/wasm-bindgen/wasm-bindgen/blob/HEAD/CHANGELOG.md#02116)
[Compare
Source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/compare/0.2.115...0.2.116)
##### Added
- Added `js_sys::Float16Array` bindings, `DataView` float16 accessors
using
`f32`, and raw `[u16]` helper APIs for interoperability with binary16
representations such as `half::f16`.
[#​5033](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5033)
##### Changed
- Updated to Walrus 0.26.1 for deterministic type section ordering.
[#​5069](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5069)
- The `#[wasm_bindgen]` macro now emits `&mut (impl FnMut(...) +
MaybeUnwindSafe)`
/ `&(impl Fn(...) + MaybeUnwindSafe)` for raw `&mut dyn FnMut` / `&dyn
Fn`
import arguments instead of a hidden generic parameter and where-clause.
The
generated signature is cleaner and the `MaybeUnwindSafe` bound is
visible
directly in the argument position. The ABI and wire format are
unchanged.
When building with `panic=unwind`, closures that capture
non-`UnwindSafe`
values (e.g. `&mut T`, `Cell<T>`) must wrap them in `AssertUnwindSafe`
before
capture; on all other targets `MaybeUnwindSafe` is a no-op blanket impl.
[#​5056](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5056)
###
[`v0.2.115`](https://redirect.github.com/wasm-bindgen/wasm-bindgen/blob/HEAD/CHANGELOG.md#02115)
[Compare
Source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/compare/0.2.114...0.2.115)
##### Added
- `console.debug/log/info/warn/error` output from user-spawned `Worker`
and
`SharedWorker` instances is now forwarded to the CLI test runner during
headless 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()`
rather
than crashing the worker. The `--nocapture` flag is respected.
[#​5037](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5037)
- `js_sys::Promise<T>` now implements `IntoFuture`, enabling direct
`.await` on
any JS promise without a wrapper type. The `wasm-bindgen-futures`
implementation
has been moved into `js-sys` behind an optional `futures` feature, which
is
activated automatically when `wasm-bindgen-futures` is a dependency. All
existing `wasm_bindgen_futures::*` import paths continue to work
unchanged via
re-exports. `js_sys::futures` is also available directly for users who
want
`promise.await` without depending on `wasm-bindgen-futures`.
[#​5049](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5049)
- Added `--target emscripten` support, generating a `library_bindgen.js`
file
for 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](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/4443)
- Added `VideoFrame`, `VideoColorSpace`, and related WebCodecs
dictionaries/enums to `web-sys`.
[#​5008](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5008)
- Added `wasm_bindgen::handler` module with `set_on_abort` and
`set_on_reinit`
hooks for `panic=unwind` builds. `set_on_abort` registers a callback
invoked
after the instance is terminated (hard abort, OOM, stack overflow).
`set_on_reinit` registers a callback invoked after `reinit()` resets the
WebAssembly instance via `--experimental-reset-state-function`. Handlers
are
stored 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_closure`
export.
[#​5019](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/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:none` for Chrome/Firefox, `visibility:hidden`
for Safari).
[#​4960](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/4960)
- TTY-gated status/clear output in the test runner shell to avoid `\r`
control-character
artifacts in non-interactive (CI) environments.
[#​4960](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/4960)
- Added `bench_console_log_10mb` benchmark alongside the existing 1MB
benchmark for the
headless test runner. The main branch cannot complete this benchmark at
any volume.
[#​4960](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/4960)
- Updated to Walrus 0.26
[#​5057](https://redirect.github.com/wasm-bindgen/walrus/pull/5057)
##### Fixed
- Fixed argument order when calling multi-parameter functions in the
`wasm-bindgen` interpreter by reversing the args collected from the
stack.
[#​5047](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5047)
- Added support for per-operation `[WbgGeneric]` in WebIDL, restoring
typed
generic return types (e.g. `Promise<ImageBitmap>`) for
`createImageBitmap` on
`Window` and `WorkerGlobalScope` that were lost after the `VideoFrame`
stabilization.
[#​5026](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5026)
- Fixed missing `#[cfg(feature = "...")]` gates on deprecated dictionary
builder
methods 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](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5039)
- Fixed `JsOption::new()` to use `undefined` instead of `null`, to be
compatible with `Option::None` and JS default parameters.
[#​5023](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5023)
- Fixed unsound `unsafe` transmutes in `JsOption<T>::wrap`, `as_option`,
and `into_option`
by replacing `transmute_copy` with `unchecked_into()`. Also tightened
the `JsGeneric`
trait bound and `JsOption<T>` impl block to require `T: JsGeneric`
(which implies `JsCast`),
preventing use with arbitrary non-JS types.
[#​5030](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5030)
- Fixed headless test runner emitting `\r` carriage-return sequences in
non-TTY environments,
which polluted captured logs in CI and complicated output-matching
tests.
[#​4960](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/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](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/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](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/4960)
- Fixed a duplciate wasm export in node ESM atomics, when compiled in
debug mode
[#​5028](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5028)
- Fixed a type inference regression (`E0283: type annotations needed`)
introduced
in v0.2.109 where the stable `FromIterator` and `Extend` impls on
`js_sys::Array`
were changed from `A: AsRef<JsValue>` to `A: AsRef<T>`. Because
`#[wasm_bindgen]`
generates multiple `AsRef` impls per type, the compiler could not
uniquely resolve
`T`, breaking code like `Array::from_iter([my_wasm_value])` without
explicit
annotations. The stable impls are restored to `A: AsRef<JsValue>`
(returning
`Array<JsValue>`); the generic `A: AsRef<T>` forms remain available
under
`js_sys_unstable_apis`.
[#​5052](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5052)
- Fixed `skip_typescript` not being respected when using `reexport`,
causing
TypeScript definitions to be incorrectly emitted for re-exported items
marked
with `#[wasm_bindgen(skip_typescript)]`.
[#​5051](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5051)
##### Removed
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6WyJjaGFuZ2Vsb2cvY2hvcmUiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 15090e8 commit f83a367
1 file changed
Lines changed: 16 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments