PackageTrack
Sign in Get early access

wasm-bindgen-externref-xform

Internal externref transformations for wasm-bindgen

0.2.100 7.7M downloads/mo #3595 most downloaded on crates.io rustwasm/wasm-bindgen

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 4 weeks to 5 months

Nearly every release is documented

notes for 38 of 38 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

38 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

38 releases · May 2020 to Jan 2025
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 38
  1. 0.2.100 12 Jan 2025
    Release notes

    Released 2025-01-12

    Added

    • Add attributes to overwrite return (``unchecked_return_type) and parameter types (unchecked_param_type), descriptions (return_descriptionandparam_description) as well as parameter names (js_name`) for exported functions and methods. See the guide for more details. #4394

    • Add a copy_to_uninit() method to all TypedArrays. It takes &mut [MaybeUninit<T>] and returns &mut [T]. #4340

    • Add test coverage support for Node.js. #4348

    • Support importing memory and using wasm_bindgen::module() in Node.js. #4349

    • Add --list, --ignored, --exact and --nocapture to wasm-bindgen-test-runner, analogous to cargo test. #4356

    • Add bindings to Date.to_locale_time_string_with_options. #4384

    • #[wasm_bindgen] now correctly applies #[cfg(...)]s in structs. #4351

    Changed

    • Optional parameters are now typed as T | undefined | null to reflect the actual JS behavior. #4188

    • Adding getter, setter, and constructor methods to enums now results in a compiler error. This was previously erroneously allowed and resulted in invalid JS code gen. #4278

    • Handle stuck and failed WebDriver processes when re-trying to start them. #4340

    • Align test output closer to native cargo test. #4358

    • Error if URL in <WEBDRIVER>_REMOTE can't be parsed instead of just ignoring it. #4362

    • Remove WASM_BINDGEN_THREADS_MAX_MEMORY and WASM_BINDGEN_THREADS_STACK_SIZE. The maximum memory size can be set via -Clink-arg=--max-memory=<size>. The stack size of a thread can be set when initializing the thread via the default function. #4363

    • console.*() calls in tests are now always intercepted by default. To show them use --nocapture. When shown they are always printed in-place instead of after test results, analogous to cargo test. #4356

    Fixed

    • Fixed using JavaScript keyword as identifiers not being handled correctly. #4329

      • Using JS keywords as struct and enum names will now error at compile time, instead of causing invalid JS code gen.
      • Using JS keywords that are not valid to call or access properties on will now error at compile time, instead of causing invalid JS code gen if used as:
        1. The first part of a js_namespace on imports.
        2. The name of an imported type or constant if the type or constant does not have a js_namespace or module attribute.
        3. The name of an imported function if the function is not a method and does not have a js_namespace or module attribute.
      • Using JS keywords on imports in places other than the above will no longer cause the keywords to be escaped as _{keyword}.
    • Fixed passing large arrays into Rust failing because of internal memory allocations invalidating the memory buffer. #4353

    • Pass along an ignore attribute to unsupported tests. #4360

    • Use OS provided temporary directory for tests instead of Cargo's target directory. #4361

    • Error if URL in <WEBDRIVER>_REMOTE can't be parsed. #4362

    • Internal functions are now removed instead of invalidly imported if they are unused. #4366

    • Fixed no_std support for all APIs in web-sys. #4378

    • Prevent generating duplicate exports for closure conversions. #4380


    Open source →
  2. 0.2.99 07 Dec 2024
    Release notes

    Released 2024-12-07

    Fixed

    • Mark wasm-bindgen v0.2.98 only compatible with wasm-bindgen-cli of the same version. #4331

    Open source →
  3. 0.2.98 07 Dec 2024
    Release notes

    Released 2024-12-07

    Added

    • Add support for compiling with atomics for Node.js. #4318

    • Add WASM_BINDGEN_TEST_DRIVER_TIMEOUT environment variable to control the timeout to start and connect to the test driver. #4320

    • Add support for number slices of type MaybeUninit<T>. #4316

    Changed

    • Remove once_cell/critical-section requirement for no_std with atomics. #4322

    • static FOO: Option<T> now returns None if undeclared in JS instead of throwing an error in JS. #4319

    Fixed

    • Fix macro-hygiene for calls to std::thread_local!. #4315

    • Fix feature resolver version 1 compatibility. #4327


    Open source →
  4. 0.2.97 30 Nov 2024
    Release notes

    Released 2024-11-30

    Fixed

    • Fixed js-sys and wasm-bindgen-futures relying on internal paths of wasm-bindgen that are not crate feature additive. #4305

    Open source →
  5. 0.2.96 29 Nov 2024
    Release notes

    Released 2024-11-29

    Added

    • Added support for the HTMLOrSVGElement mixin, which is used for all interfaces deriving from Element. #4143

    • Added bindings for MathMLElement. #4143

    • Added JSDoc type annotations to C-style enums. #4192

    • Added support for C-style enums with negative discriminants. #4204

    • Added bindings for MediaStreamTrack.getCapabilities. #4236

    • Added WASM ABI support for u128 and i128 #4222

    • Added support for the wasm32v1-none target. #4277

    • Added support for no_std to js-sys, web-sys, wasm-bindgen-futures and wasm-bindgen-test. #4277

    • Added support for no_std to link_to!, static_string (via thread_local_v2) and throw. #4277

    • Added environment variables to configure tests: WASM_BINDGEN_USE_BROWSER, WASM_BINDGEN_USE_DEDICATED_WORKER, WASM_BINDGEN_USE_SHARED_WORKER WASM_BINDGEN_USE_SERVICE_WORKER, WASM_BINDGEN_USE_DENO and WASM_BINDGEN_USE_NODE_EXPERIMENTAL. The use of wasm_bindgen_test_configure! will overwrite any environment variable. #4295

    Changed

    • String enums now generate private TypeScript types but only if used. #4174

    • Remove unnecessary JSDoc type annotations from generated .d.ts files #4187

    • Deprecate autofocus, tabIndex, focus() and blur() bindings in favor of bindings on the inherited Element class. #4143

    • Optimized ABI performance for Option<{i32,u32,isize,usize,f32,*const T,*mut T}>. #4183

    • Deprecate --reference-types in favor of automatic target feature detection. #4237

    • wasm-bindgen-test-runner now tries to restart the WebDriver on failure, instead of spending its timeout period trying to connect to a non-existing WebDriver. #4267

    • Deprecated #[wasm_bindgen(thread_local)] in favor of #[wasm_bindgen(thread_local_v2)], which creates a wasm_bindgen::JsThreadLocal. It is similar to std::thread::LocalKey but supports no_std. #4277

    • Updated the WebGPU API to the current draft as of 2024-11-22. #4290

    • Improved error messages for self arguments in invalid positions. #4276

    Fixed

    • Fixed methods with self: &Self consuming the object. #4178

    • Fixed unused string enums generating JS values. #4193

    • Fixed triggering lints in testing facilities. #4195

    • Fixed #[should_panic] not working with #[wasm_bindgen_test(unsupported = ...)]. #4196

    • Fixed potential null error when using JsValue::as_debug_string(). #4192

    • Fixed generated types when the getter and setter of a property have different types. #4202

    • Fixed generated types when a static getter/setter has the same name as an instance getter/setter. #4202

    • Fixed invalid TypeScript return types for multivalue signatures. #4210

    • Only emit table.fill instructions if the bulk-memory proposal is enabled. #4237

    • Fixed calls to JsCast::instanceof() not respecting JavaScript namespaces. #4241

    • Fixed imports for functions using this and late binding. #4225

    • Don't expose non-functioning implicit constructors to classes when none are provided. #4282


    Open source →
  6. 0.2.95 10 Oct 2024
    Release notes

    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


    Open source →
  7. 0.2.94 09 Oct 2024
    Release notes

    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


    Open source →
  8. 0.2.93 12 Aug 2024
    Release notes

    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


    Open source →
  9. 0.2.92 04 Mar 2024
    Release notes

    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


    Open source →
  10. 0.2.91 06 Feb 2024
    Release notes

    Released 2024-02-06

    Added

    • Added bindings for the RTCRtpTransceiver.setCodecPreferences() and unstable bindings for the RTCRtpEncodingParameters.scalabilityMode. #3828

    • Add unstable bindings for the FileSystemAccess API #3810

    • Added support for running tests in shared and service workers with wasm_bindgen_test_configure! run_in_shared_worker and run_in_service_worker. #3804

    • Accept the --skip flag with wasm-bindgen-test-runner. #3803

    • Introduce environment variable WASM_BINDGEN_TEST_NO_ORIGIN_ISOLATION to disable origin isolation for wasm-bindgen-test-runner. #3807

    • Add bindings for USBDevice.forget(). #3821

    Changed

    • Stabilize ClipboardEvent. #3791

    • Use immutable buffers in SubtleCrypto methods. #3797

    • Deprecate wasm_bindgen_test_configure!s run_in_worker in favor of run_in_dedicated_worker. #3804

    • Updated the WebGPU WebIDL to the current draft as of 2024-01-30. Note that this retains the previous update's workaround for GPUPipelineError, and holds back an update to the buffer argument of the GPUQueue.{writeBuffer,writeTexture} methods. #3816

    • Deprecate --weak-refs and WASM_BINDGEN_WEAKREF in favor of automatic run-time detection. #3822

    Fixed

    • Fixed UB when freeing strings received from JS if not using the default allocator. #3808

    • Fixed temporary folder detection by wasm-bindgen-test-runner on MacOS. #3817

    • Fixed using #[wasm_bindgen(js_name = default)] with #[wasm_bindgen(module = ...)]. #3823

    • Fixed nightly build of wasm-bindgen-futures. #3827


    Open source →
  11. 0.2.90 12 Jan 2024
    Release notes

    Released 2024-01-06

    Fixed

    • Fix JS shim default path detection for the no-modules target. #3748

    Added

    • Add bindings for HTMLFormElement.requestSubmit(). #3747

    • Add bindings for RTCRtpSender.getCapabilities(DOMString) method, RTCRtpCapabilities, RTCRtpCodecCapability and RTCRtpHeaderExtensionCapability. #3737

    • Add bindings for UserActivation. #3719

    • Add unstable bindings for the Compression Streams API. #3752

    Changed

    • Stabilize File System API. #3745

    • Stabilize QueuingStrategy. #3753

    Fixed

    • Fixed a compiler error when using #[wasm_bindgen] inside macro_rules!. #3725

    Removed

    • Removed Gecko-only InstallTriggerData and Gecko-internal FlexLineGrowthState, GridDeclaration, GridTrackState, RtcLifecycleEvent and WebrtcGlobalStatisticsReport features. #3723

    Open source →
  12. 0.2.89 27 Nov 2023
    Release notes

    Released 2023-11-27.

    Added

    • Add additional constructor to DataView for SharedArrayBuffer. #3695

    • Stabilize wasm_bindgen::module(). #3690

    Fixed

    • The DWARF section is now correctly modified instead of leaving it in a broken state. #3483

    • Fixed an issue where #[wasm_bindgen] automatically derived the TryFrom trait for any struct, preventing custom TryFrom<JsValue> implementations. It has been updated to utilize a new TryFromJsValue trait instead. #3709

    • Update the TypeScript signature of __wbindgen_thread_destroy to indicate that it's parameters are optional. #3703

    Removed

    • Removed Gecko-internal dictionary bindings Csp, CspPolicies, CspReport and CspReportProperties. #3721

    Open source →
  13. 0.2.88 01 Nov 2023
    Release notes

    Released 2023-11-01

    Added

    • Add bindings for RTCRtpTransceiverInit.sendEncodings. #3642

    • Add bindings for the Web Locks API to web-sys. #3604

    • Add bindings for ViewTransition to web-sys. #3598

    • Extend AudioContext with unstable features supporting audio sink configuration. #3433

    • Add bindings for WebAssembly.Tag and WebAssembly.Exception. #3484

    • Re-export wasm-bindgen from js-sys, web-sys and wasm-bindgen-futures. #3466 #3601

    • Re-export js-sys from web-sys and wasm-bindgen-futures. #3466 #3601

    • Add bindings for async variants of Atomics.wait. #3504

    • Add bindings for WorkerGlobalScope.performance. #3506

    • Add support for installing pre-built artifacts of wasm-bindgen-cli via cargo binstall wasm-bindgen-cli. #3544

    • Add bindings for RTCDataChannel.id. #3547

    • Add bindings for HTMLElement.inert. #3557

    • Add unstable bindings for the Prioritized Task Scheduling API. #3566

    • Add bindings for CssStyleSheet constructor and replace(_sync) methods. #3573

    • Add bindings for CanvasTransform.setTransform(DOMMatrix2DInit). #3580

    • Add a crate attribute to the wasm_bindgen_test proc-macro to specify a non-default path to the wasm-bindgen-test crate. #3593

    • Add support for passing Vecs of exported Rust types and strings to/from JS. #3554

    • Implement TryFrom<JsValue> for exported Rust types and strings. #3554

    • Handle the #[ignore = "reason"] attribute with the wasm_bindgen_test proc-macro and accept the --include-ignored flag with wasm-bindgen-test-runner. #3644

    • Added missing additions to the Notification API. #3667

    Changed

    • Updated the WebGPU WebIDL. The optional message argument of GPUPipelineError's constructor has been manually specified as a required argument, because required arguments occurring after optional arguments are currently not supported by the generator. #3480

    • Replaced curl with ureq. By default we now use Rustls instead of OpenSSL. #3511

    • Changed mutability of the argument buffer in write functions to immutable for FileSystemSyncAccessHandle and FileSystemWritableFileStream. It was also automatically changed for IdbFileHandle, which is deprecated. #3537

    • Changed behavior when compiling to wasm32-wasi to match wasm32-emscripten and non-Wasm targets, generating a stub that panics when called rather than a wasm- bindgen placeholder. #3233

    • Changed constructor implementation in generated JS bindings, it is now possible to override methods from generated JS classes using inheritance. When exported constructors return Self. #3562

    • Made wasm-bindgen forwards-compatible with the standard C ABI. #3595

    • Changed the design of the internal WasmAbi trait. Rather than marking a type which can be passed directly as a parameter/result to/from JS, it now lets types specify how they can be split into / recreated from multiple primitive types which are then passed to/from JS. WasmPrimitive now serves the old function of WasmAbi, minus allowing #[repr(C)] types. #3595

    • Use queueMicrotask in wasm-bindgen-futures for scheduling tasks on the next tick. If that is not available, use the previous Promise.then mechanism as a fallback. This should avoid quirks, like exceptions thrown get now properly reported as normal exceptions rather than as rejected promises. #3611

    • Improved TypeScript bindings to accurately reference Rust enum types in function signatures, enhancing type safety and compatibility. #3647

    • Throw an error on enum name collisions, previously only one enum would be emitted. #3669

    Fixed

    • Fixed wasm_bindgen macro to handle raw identifiers in field names. #3621

    • Fixed bindings and comments for Atomics.wait. #3509

    • Fixed wasm_bindgen_test macro to handle raw identifiers in test names. #3541

    • Fixed Cargo license field to follow the SPDX 2.1 license expression standard. #3529

    • Use fully qualified paths in the wasm_bindgen_test macro. #3549

    • Fixed bug allowing JS primitives to be returned from exported constructors. #3562

    • Fixed optional parameters in JSDoc. #3577

    • Use re-exported js-sys from wasm-bindgen-futures to account for non-default path specified by the crate attribute in wasm_bindgen_futures proc-macro. #3601

    • Fix bug with function arguments coming from macro_rules!. #3625

    • Fix some calls to free() missing alignment. #3639

    • Fix wrong ABI for raw pointers. #3655

    Removed

    • Removed ReadableStreamByobReader::read_with_u8_array() because it doesn't work with Wasm. #3582

    • Removed GetNotificationOptions, NotificationBehavior and Notification.get() because they don't exist anymore.


    Open source →
  14. 0.2.87 12 Jun 2023
    Release notes

    Released 2023-06-12.

    Added

    • Implemented IntoIterator for Array. #3477

    Changed

    • Deprecate HtmlMenuItemElement and parts of HtmlMenuElement. #3448

    • Stabilize ResizeObserver. #3459

    Fixed

    • Take alignment into consideration during (de/re)allocation. #3463

    Open source →
  15. 0.2.86 15 May 2023
    Release notes

    Released 2023-05-16.

    changes


    Open source →
  16. 0.2.85 09 May 2023
    Release notes

    Released 2023-05-09.

    changes


    Open source →
  17. 0.2.84 01 Feb 2023
    Release notes

    Released 2023-02-01.

    changes


    Open source →
  18. 0.2.83 12 Sep 2022
    Release notes

    Released 2022-09-12.

    changes


    Open source →
  19. 0.2.82 25 Jul 2022
    Release notes

    Released 2022-07-25.

    changes


    Open source →
  20. 0.2.81 14 Jun 2022
    Release notes

    Released 2022-06-14.

    changes


    Open source →
  21. 0.2.80 07 Apr 2022
    Release notes

    Released 2022-04-04.

    changes


    Open source →
  22. 0.2.79 19 Jan 2022
    Release notes

    Released 2022-01-19.

    changes


    Open source →
  23. 0.2.78 15 Sep 2021
    Release notes

    Released 2021-09-15.

    changes


    Open source →
  24. 0.2.77 08 Sep 2021
    Release notes

    Released 2021-09-08.

    changes


    Open source →
  25. 0.2.76 19 Aug 2021
    Release notes

    Released 2021-08-19.

    changes


    Open source →
  26. 0.2.75 02 Aug 2021
    Release notes

    Released 2021-08-02.

    changes


    Open source →
  27. 0.2.74 10 May 2021
    Release notes

    Released 2021-05-10.

    changes


    Open source →
  28. 0.2.73 29 Mar 2021
    Release notes

    Released 2021-03-29.

    changes


    Open source →
  29. 0.2.72 18 Mar 2021
    Release notes

    Released 2021-03-18.

    changes


    Open source →
  30. 0.2.71 26 Feb 2021
    Release notes

    Released 2021-02-26.

    changes


    Open source →
  31. 0.2.70 25 Jan 2021
    Release notes

    Released 2021-01-25.

    changes


    Open source →
  32. 0.2.69 30 Nov 2020
    Release notes

    Released 2020-11-30.

    Added

    • Unstable bindings for WebBluetooth have been added. #2311

    • Unstable bindings for WebUSB have been added. #2345

    • Renaming a struct field with js_name is now supported. #2360

    • The WebGPU WebIDL has been updated. #2353

    Fixed

    • The ImageCapture APIs of web-sys have been moved to unstable and were fixed. #2348

    • Bindings for waitAsync have been updated. #2362


    Open source →
  33. 0.2.68 09 Sep 2020
    Release notes

    Released 2020-09-08.

    Added

    • Add userVisibleOnly property to PushSubscriptionOptionsInit. #2288

    Fixed

    • TypeScript files now import *.wasm instead of bare files. #2283

    • Usage of externref now appropriately resizes the table by using 2x the previous capacity, fixing a performance issue with lots of externref objects. #2294

    • Compatibility with the latest Firefox WebDriver has been fixed. #2301

    • Non deterministic output with closures has been fixed. #2304

    Updated

    • The WebGPU WebIDL was updated. #2267

    Open source →
  34. 0.2.67 28 Jul 2020
    Release notes

    Released 2020-07-28.

    Added

    • A --reference-types flag was added to the CLI. #2257

    Fixed

    • Breakage with Closure::forget in 0.2.66 was fixed. #2258

    Open source →
  35. 0.2.66 28 Jul 2020
    Release notes

    Released 2020-07-28.

    Added

    • Reverse mappings from value to name are now available in JS bindings of enums. #2240

    Fixed

    • Functions using a return pointer in threaded programs now correctly load and store return values in a way that doesn't interfere with other threads. #2249

    • Support for weak references has been updated and a --weak-refs flag is now available in the CLI for enabling weak references. #2248


    Open source →
  36. 0.2.65 15 Jul 2020
    Release notes

    Released 2020-07-15.

    Added

    • Functions from JS can now be natively imported as async and will use promises under the hood. #2196

    Changed

    • Encoding for the reference types proposal has been updated to the latest version of the spec. #2234

    Open source →
  37. 0.2.64 29 Jun 2020
    Release notes

    Released 2020-06-29.

    Added

    • Nested namespaces for imports can now be specified. #2105

    • A deno target has been added. #2176

    Fixed

    • Getters/setters that consume the original object have been fixed to invalidate the object correctly. #2172

    • Compatibility with nightly threading in LLVM has been fixed. #2183

    • Trailing space in generated doc comments is now removed. #2210


    Open source →
  38. 0.2.63 28 May 2020
    Release notes

    Released 2020-05-27.

    Added

    • A new example about using WebRTC has been added. #2131

    • The Blob.stream() method has been added. #2140 #2142

    Changed

    • The encoding and implementation of WebAssembly reference types has been sync'd with the latest upstream specification. #2125

    Fixed

    • Test functions names will no longer collide with test intrinsic names. #2123

    • Fixed warnings with #[must_use] types in generated code. #2144

    • Fixed compatibility with latest Rust nightlies. #2159


    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive