NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3815 most downloaded on crates.io
Support for threading-related transformations in wasm-bindgen
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 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
75 releases · first in 2018
TypeScript and JS generation will now attempt to preserve argument names in the generated JS where possible. #1344
Released 2019-03-21.
TypeScript and JS generation will now attempt to preserve argument names in the generated JS where possible. #1344
Enable Option<T> support for enums defined in WebIDL.
#1350
Add a raw_module attribute to #[wasm_bindgen] which is the same as
module except doesn't attempt to recognize ./, ../, or /` prefixed
paths.
#1353
The wasm-bindgen CLI flags have now all been renamed under a --target
flag. Instead of --web you'll now pass --target web, for example. This
increases consistency between the wasm-bindgen and wasm-pack CLI.
#1369
Definitions for TypedArray imports of js-sys have been unified with a
macro to improve consistency and fix future bugs.
#1371
Usage of --no-modules in CloudFlare workers should now work by default.
#1384
A use-after-free when a closure is reinvoked after being destroyed on the Rust die has been fixed. #1385
A bug causing nondeterministic generation of JS bindings has been fixed. #1383
One column per quarter.
Crates can now import locally written JS snippets to get bundled into the final output. See [RFC 6] for more details as well as the PR. #1295
Released 2018-03-13.
A typo in the return value of slice methods on typed arrays in js-sys was
corrected.
#1321
The directory specified by --out-dir is now created if it doesn't exist
already.
#1330
nom was in a crate graph and was compiled with the
verbose-errors feature has been fixed. Previously the wasm-bindgen-webidl
crate wouldn't compile, and now it will.
#1338Support for Option in #[wasm_bindgen] functions has now been added. #1275
Released 2019-03-04.
Support for Option<RustStruct> in #[wasm_bindgen] functions has now been
added.
#1275
Experimental support for the anyref type proposal in WebAssembly has now
landed and is enabled with WASM_BINDGEN_ANYREF=1.
#1002
Support for the new browser TextEncode#encodeInto API has been added.
#1279
JS doc comments are now added to TypeScript bindings in addition to the JS bindings generated. #1302
Initial support for FnOnce closures has been added to the Closure type.
#1281
Fixed an internal assert tripping when some modules were compiled with LTO. #1274
The Context type in the wasm-bindgen-test crate had its JS name changed to
avoid conflicts with other crates that have a Context type being exported.
#1280
The headless test runner for Safari on macOS High Sierra has been fixed. #1298
wasm-bindgen CLI tool now emits the producers section again with
relevant bugs having been fixed in the meantime. The
--remove-producers-section flag can continue to be used to omit emission of
this section.
#1263The HtmlMediaElement type now exposes a src_object getter. #1248.
Released 2019-02-15.
The HtmlMediaElement type now exposes a src_object getter.
#1248.
The js_sys::Reflect type now has specializes getter/setters for u32 and
f64 indices.
#1225.
A --remove-producers-section flag has been added to the CLI tool to, well,
remove the producers section from the final Wasm file.
#1256.
wasm-bindgen CLI tool will correctly strip DWARF debug information
unless --keep-debug is passed.
#1255.wasm-bindgen CLI tool no longer emits the producers custom section by
default to work around a webpack bug. See
#1260.Fixed a bug where using closures and LTO together caused a panic inside the wasm-bindgen CLI tool. See #1244.
Released 2019-02-12.
wasm-bindgen CLI tool. See
#1244.wasm-bindgen now internally uses the walrus crate to perform its transformations of the Wasm that rustc/LLVM emits. See #1237.
Added support for optional enums. See #1214.
Released 2019-02-11.
enums. See
#1214.UnwrapThrowExt<T> trait, which can enable smaller code sizes for
panics. See #1219.WebGlRenderingContext methods are now whitelisted to use shared slices
instead of exclusive slices. See
#1199.cfg_attr and wasm_bindgen together like #[cfg_attr(..., wasm_bindgen)]. See
1208.wasm-bindgen-test. See
#1233.WebAssembly.instantiateStreaming fails due to incorrect MIME type,
properly recover. See
#1235.Improved the Debug output of JsValue #1161
Added support for Web IDL sequences. This enabled bindings generation for a couple more Web APIs. We generate functions for Web APIs that take sequenc
Released 2019-01-16.
js_sys::Array is returned. See
#1152 and
#1038.wasm-bindgen-test test runner will capture console.debug,
console.info, and console.warn log messages and print them to stdout
now. It already supported console.log and console.error and continues to
support them. See
#1183 and
#1184.--debug-only assertions in the emitted JS glue for cases
where an imported JS function that is not annotated with
#[wasm_bindgen(catch)] throws an exception. This should help catch some bugs
earlier! See #1179.#[wasm_bindgen_test] tests would fail in non-headless Web
browsers if they used console.log. See
#1167.A new spawn_local function has been added to the wasm-bindgen-futures crate. #1148
The wasm-bindgen CLI now has an --out-name argument to name the output module. #1084
Released 2019-01-07.
The wasm-bindgen CLI now has an --out-name argument to name the output
module.
#1084
Support for importing the default export has been added.
#1106
web-sys methods are now flagged as structural, fixing a few bindings.
#1117Add a #[wasm_bindgen(start)] attribute to customize the start section of the Wasm module. #1057
Released 2018-12-04.
Add a #[wasm_bindgen(start)] attribute to customize the start section of
the Wasm module.
#1057
Add support for producing the new "producers" section of Wasm binaries #1041
Add support a typescript_custom_section attribute for producing custom
typescript abstractions
#1048
Generate *.d.ts files for Wasm files in addition to the JS bindings
#1053
Add a feature to assert that all attributes in #[wasm_bindgen] are used to
help catch typos and mistakes
#1055
JS glue generation has received a few small optimizations such as removing shims and removing object allocations #1033 #1030
JS glue now just uses one array of JS objects instead of two #1069
--no-modules generated JS
#1045The js_class support is now supported on exported types to define a different class in JS than is named in Rust #1012
Released 2018-11-12.
The js_class support is now supported on exported types to define a
different class in JS than is named in Rust
#1012
More WebIDL bindings are exposed with some internal restructuring to ignore unimplemented types at a different location #1014
All imported types now implement Deref to their first extends attribute
(or JsValue if one isn't listed). This is intended to greatly improve the
ergonomics of web-sys bindings by allowing easy access to parent class
methods
#1019
A new attribute, final, can be applied to JS imports. This attribute is
relatively nuanced and best explained in documentation, but is
added since structural is now the default
#1019
--remove-name-section, can be passed to remove the wasm
name section which contains the names of functions for debugging (typically
not needed in release mode)
#1024structural by default. This shouldn't change
the semantics of imported functions, only how they're invoked in the JS
function shims that are generated by wasm-bindgen. More discussion can be
founed on RFC 5 and the PR
#1019Typescript generated bindings now correctly reflect Option<T> for more types
#1008
The JS shim code generation has been optimized for structural bindings (now
the default) to include fewer JS shims and more easily optimizable for JS
engines
#1019
Passing a WebAssembly.Module to the --no-modules constructor has been
fixed
#1025
Fixed an internal panic where the gc passes were being too aggressive #995
Released 2018-10-29.
The TypedArray.slice methods have now been bound in js-sys. #956
Released 2018-10-29.
The TypedArray.slice methods have now been bound in js-sys.
#956
The Debug and Clone traits are now implemented for js_sys::Promise.
#957
The js_sys::DataView type now exposes overloads to specify endianness.
#966
When using --no-modules a WebAssembly.Module can now be directly passed
into the instantiation glue.
#969
The JsValue type is no longer considered Send.
#955
The generated JS glue is now more robust in the face of missing APIs. #959
An issue with the latest version of safaridriver used to run headless tests
has been resolved.
#991
Your coding agent can read these notes before it upgrades. Set up the MCP server →