Skip to content

Update rust-wasm-bindgen monorepo

Kevin Cox requested to merge renovate/rust-wasm-bindgen-monorepo into master

This MR contains the following updates:

Package Type Update Change
js-sys (source) dependencies patch 0.3.68 -> 0.3.72
wasm-bindgen (source) dependencies patch 0.2.91 -> 0.2.95
web-sys (source) dependencies patch 0.3.68 -> 0.3.72

Release Notes

rustwasm/wasm-bindgen (wasm-bindgen)

v0.2.95

Compare Source

Released 2024-10-10

Added
  • Added support for implicit discriminants in enums. #​4152

  • Added support for Self in complex type expressions in methods. #​4155

Changed
  • String enums are no longer generate TypeScript types. #​4174
Fixed
  • Fixed generated setters from WebIDL interface attributes binding to wrong JS method names. #​4170

  • Fix string enums showing up in JS documentation and TypeScript bindings without corresponding types. #​4175


v0.2.94

Compare Source

Released 2024-10-09

Added
  • Added support for the WebAssembly Tail Call proposal. #​4111

  • Add bindings for RTCPeerConnection.setConfiguration(RTCConfiguration) method. #​4105

  • Add bindings to RTCRtpTransceiverDirection.stopped. #​4102

  • Added experimental support for Symbol.dispose via WASM_BINDGEN_EXPERIMENTAL_SYMBOL_DISPOSE. #​4118

  • Added bindings for the draft WebRTC Encoded Transform spec. #​4125

  • Added Debug implementation to JsError. #​4136

  • Added support for js_name and skip_typescript attributes for string enums. #​4147

  • Added unsupported crate to wasm_bindgen_test(unsupported = test) as a way of running tests on non-Wasm targets as well. #​4150

  • Added additional bindings for methods taking buffer view types (e.g. &[u8]) with corresponding JS types (e.g. Uint8Array). #​4156

  • Added additional bindings for setters from WebIDL interface attributes with applicaple parameter types of just JsValue. #​4156

Changed
  • Implicitly enable reference type and multivalue transformations if the module already makes use of the corresponding target features. #​4133

  • Updated Gamepad API. #​4134

  • Deprecated Gamepad::display_id and GamepadHapticActuator::type_. #​4134

  • Removed GamepadAxisMoveEvent, GamepadAxisMoveEventInit, GamepadButtonEvent, GamepadButtonEventInit and GamepadServiceTest, which were seemingly never implemented by any JS environment. #​4134

  • Changed TextDecoder.decode() input parameter type from &mut [u8] to &[u8]. #​4141

  • Updated the WebGPU API to the current draft as of 2024-10-07. #​4145

  • Deprecated generated setters from WebIDL interface attribute taking JsValue in favor of newer bindings with specific parameter types. #​4156

Fixed
  • Fixed linked modules emitting snippet files when not using --split-linked-modules. #​4066

  • Fixed incorrect deprecation warning when passing no parameter into default() (init()) or initSync(). #​4074

  • Fixed many proc-macro generated impl blocks missing #[automatically_derived], affecting test coverage. #​4078

  • Fixed negative BigInt values being incorrectly formatted with two minus signs. #​4082 #​4088

  • Fixed emitted package.json structure to correctly specify its dependencies #​4091

  • Fixed returning Option<Enum> now correctly has the | undefined type in TS bindings. #​4137

  • Fixed enum variant name collisions with object prototype fields. #​4137

  • Fixed multiline doc comment alignment and remove empty ones entirely. #​4135

  • Fixed experimental-nodejs-module target when used with #[wasm_bindgen(start)]. #​4093

  • Fixed error when importing very large JS files. #​4146

  • Specify "type": "module" when deploying to nodejs-module #​4092

  • Fixed string enums not generating TypeScript types. #​4147

  • Bindings that take buffer view types (e.g. &[u8]) as parameters will now correctly return a Result when they might not support a backing SharedArrayBuffer. This only applies to new and unstable APIs, which won't cause a breaking in the API. #​4156


v0.2.93

Compare Source

Released 2024-08-13

Added
  • Allow exporting functions named default. Throw error in wasm-bindgen-cli if --target web and an exported symbol is named default. #​3930

  • Added support for arbitrary expressions when using #[wasm_bindgen(typescript_custom_section)]. #​3901

  • Implement From<NonNull<T>> for JsValue. #​3877

  • Add method copy_within for TypedArray, add methods find_last,find_last_index for Array. #​3888

  • Added support for returning Vecs from async functions. #​3630

  • Added bindings for InputDeviceInfo and MediaTrackCapabilities. #​3935

  • Add bindings for RTCRtpReceiver.getCapabilities(DOMString) method. #​3941

  • Add bindings for VisualViewport. #​3931

  • Add bindings for queueMicrotask. #​3981

  • Add experimental bindings for User Agent Client Hints API #​3989

  • Add bindings for FocusOptions. #​3996

  • Add bindings for RTCRtpReceiver.jitterBufferTarget. #​3968

  • Generate getters for all WebIDL dictionary types. #​3993

  • Support for iterable in WebIDL. Gives entries, keys, values methods for regular and asynchronous, as well as for_each for regular, iterables. #​3962

  • Add bindings for HTMLTableCellElement.abbr and scope properties. #​3972

  • Add WebIDL definitions relating to Popover API. #​3977

  • Added the thread_stack_size property to the object parameter of default() (init()) and initSync(), making it possible to set the stack size of spawned threads. __wbindgen_thread_destroy() now has a third optional parameter for the stack size, the default stack size is assumed when not passing it. When calling from the thread to be destroyed, by passing no parameters, the correct stack size is determined internally. #​3995

  • Added bindings to the Device Memory API. #​4011

  • Added support for WebIDL records. This added new methods to various APIs, notably ClipboardItem(), GPUDeviceDescriptor.requiredLimits and Header(). #​4030

  • Added an official MSRV policy. Library MSRV changes will be accompanied by a minor version bump. CLI tool MSRV can change with any version bump. #​4038

  • Added bindings to NavigatorOptions.vibrate. #​4041

  • Added an experimental Node.JS ES module target, in comparison the current node target uses CommonJS, with --target experimental-nodejs-module or when testing with wasm_bindgen_test_configure!(run_in_node_experimental). #​4027

  • Added importing strings as JsString through #[wasm_bindgen(thread_local, static_string)] static STRING: JsString = "a string literal";. #​4055

  • Added experimental test coverage support for wasm-bindgen-test-runner, see the guide for more information. #​4060

Changed
  • Stabilize Web Share API. #​3882

  • Generate JS bindings for WebIDL dictionary setters instead of using Reflect. This increases the size of the Web API bindings but should be more performant. Also, importing getters/setters from JS now supports specifying the JS attribute name as a string, e.g. #[wasm_bindgen(method, setter = "x-cdm-codecs")]. #​3898

  • Greatly improve the performance of sending WebIDL 'string enums' across the JavaScript boundary by converting the enum variant string to/from an int. #​3915

  • Use table.fill when appropriate. #​3446

  • Annotated methods in WebCodecs that throw. #​3970

  • Update and stabilize the Clipboard API. #​3992

  • Deprecate builder-pattern type setters for WebIDL dictionary types and introduce non-mutable setters instead. #​3993

  • Allow imported async functions to return any type that can be converted from a JsValue. #​3919

  • Update Web Authentication API to level 3. #​4000

  • Deprecate AudioBufferSourceNode.onended and AudioBufferSourceNode.stop(). #​4020

  • Increase default stack size for spawned threads from 1 to 2 MB. #​3995

  • Deprecated parameters to default (init) and initSync in favor of an object. #​3995

  • Update AbortSignal and AbortController according to the WHATWG specification. #​4026

  • Update the Indexed DB API. #​4027

  • UnwrapThrowExt for Result now makes use of the required Debug bound to display the error as well. #​4035 #​4049

  • MSRV of CLI tools bumped to v1.76. This does not affect libraries like wasm-bindgen, js-sys and web-sys! #​4037

  • Filtered files in published crates, significantly reducing the package size and notably excluding any bash files. #​4046

  • Deprecated JsStatic in favor of #[wasm_bindgen(thread_local)], which creates a std::thread::LocalKey. The syntax is otherwise the same. #​4057

  • Removed impl Deref for JsStatic when compiling with cfg(target_feature = "atomics"), which was unsound. #​4057

  • Updated the WebGPU WebIDL to the current draft as of 2024-08-05. #​4062

  • Use object URLs for linked modules without --split-linked-modules. #​4067

Fixed
  • Copy port from headless test server when using WASM_BINDGEN_TEST_ADDRESS. #​3873

  • Fix catch not being thread-safe. #​3879

  • Fix MSRV compilation. #​3927

  • Fix clippy::empty_docs lint. #​3946

  • Fix missing target features in module when enabling reference types or multi-value transformation. #​3967

  • Fixed Rust values getting GC'd while still borrowed. #​3940

  • Fixed Rust values not getting GC'd if they were created via. a constructor. #​3940

  • Fix triggering clippy::mem_forget lint in exported structs. #​3985

  • Fix MDN links to static interface methods. #​4010

  • Fixed Deno support. #​3990

  • Fix __wbindgen_thread_destroy() ignoring parameters. #​3995

  • Fix no_std support and therefor compiling with default-features = false. #​4005

  • Fix byte order for big-endian platforms. #​4015

  • Allow ex/importing structs, functions and parameters named with raw identifiers. #​4025

  • Implement a more reliable way to detect the stack pointer. #​4036

  • #[track_caller] is now always applied on UnwrapThrowExt methods when not targeting wasm32-unknown-unknown. #​4042

  • Fixed linked modules emitting snippet files when not using --split-linked-modules. #​4066


v0.2.92

Compare Source

Released 2024-03-04

Added
  • Add bindings for RTCPeerConnectionIceErrorEvent. #​3835

  • Add bindings for CanvasState.reset(), affecting CanvasRenderingContext2D and OffscreenCanvasRenderingContext2D. #​3844

  • Add TryFrom implementations for Number, that allow losslessly converting from 64- and 128-bits numbers. #​3847

  • Add support for Option<*const T>, Option<*mut T> and NonNull<T>. #​3852 #​3857

  • Allow overriding the URL used for headless tests by setting WASM_BINDGEN_TEST_ADDRESS. #​3861

Fixed
  • Make .wasm output deterministic when using --reference-types. #​3851

  • Don't allow invalid Unicode scalar values in char. #​3866



Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Kevin Cox

Merge request reports

Loading