NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #86 most downloaded on npm
Implements the WebIDL algorithms for converting to and from JavaScript values
Last release 9 months ago
02 Jan 2026
Ships unpredictably
gaps range from 8 days to 4.0 years
Most releases are documented
notes for 16 of 18 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
18 releases · first in 2014
Sped up and simplified ByteString and USVString conversions. (@ChALkeR, #54)
ByteString and USVString conversions. (@ChALkeR, #54)Bumped Node.js version requirement to ≥20.
Bumped Node.js version requirement to ≥20.
Removed support for environments without SharedArrayBuffer.
Removed the allowShared option from the ArrayBuffer export, and added a new SharedArrayBuffer export, following https://github.com/whatwg/webidl/pull/1311. (@MattiasBuelens)
Added the allowResizable option to the buffer source types and ArrayBufferView exports, following https://github.com/whatwg/webidl/pull/982. (@MattiasBuelens)
Fixed a bug in SharedArrayBuffer conversion. (@MattiasBuelens)
Bumped Node.js version requirement to ≥20.
Removed support for environments without SharedArrayBuffer.
Removed the allowShared option from the ArrayBuffer export, and added a new SharedArrayBuffer export, following whatwg/webidl#1311. (@MattiasBuelens)
Added the allowResizable option to the buffer source types and ArrayBufferView exports, following whatwg/webidl#982. (@MattiasBuelens)
Fixed a bug in SharedArrayBuffer conversion. (@MattiasBuelens)
One column per quarter.
Bumped Node.js version requirement to ≥12.
Bumped Node.js version requirement to ≥12.
Removed Function and VoidFunction exports. These are better handled by webidl2js.
Renamed the void export to undefined, per Web IDL spec updates.
Added support for environments without SharedArrayBuffer.
Fixed a typo in one of the exception messages for BufferSource. (@ExE-Boss)
Fixed buffer source type conversions to throw on detached ArrayBuffers.
Fixed buffer source type conversions to throw on detached ArrayBuffers.
Fixed buffer source type conversions to throw on SharedArrayBuffers.
Added { allowShared: true } to buffer source type conversions, to permit SharedArrayBuffers.
Bumped Node.js version requirement to ≥10.4.
Bumped Node.js version requirement to ≥10.4.
Added support for throwing exception objects that belong to a different realm than the current.
Improved the accuracy of unsigned long long and long long conversions by using BigInt.
Made TypedArray conversions unforgeable. (@ExE-Boss)
Fixed object conversion so that it throws on BigInt values.
Removed the Error export, as the type was removed from Web IDL.
Removed the Error export, as the type was removed from Web IDL.
Raised the minimum supported version to Node v8.
Fixed all buffer source type conversions to be realm-independent, i.e. they will no longer throw if given buffer source objects from other realms.
Tweaked float and unrestricted float conversion code to be simpler.
Tweaked float and unrestricted float conversion code to be simpler.
(This release should have been 4.1.0; oops.)
(This release should have been 4.1.0; oops.)
ByteString and USVString to not accept Symbol values-0.This release welcomes @TimothyGu, who implemented all of the remaining basic Web IDL types and some bonus ones.
This release welcomes @TimothyGu, who implemented all of the remaining basic Web IDL types and some bonus ones.
any, object, Error, buffer source types, and "common definitions"Date, RegExpunrestricted double to properly allow NaNfloat and unrestricted float to properly truncate into 32-bit floating pointsDOMString, to throw an error for SymbolsThis release also adds test coverage for all conversions! This should help especially with the pesky integer types and the continual bugs we've seen around them.
Fixed unsigned integer type conversions again.
Fixed unsigned integer type conversions again.
Changed the USVString conversion to return a JavaScript string, instead of an array of single-character JavaScript strings.
Changed the USVString conversion to return a JavaScript string, instead of an array of single-character JavaScript strings.
Fixed the conversions of unsigned integer types.
Fixed the conversions of unsigned integer types.
This release welcomes @Sebmaster to the team, as he revives the project in service of jsdom.
This release welcomes @Sebmaster to the team, as he revives the project in service of jsdom.
The backward-incompatible change is moving away from pure ES2015 source code, instead using the subset supported on Node.js 4.0. That does not include ES2015 modules, so the consumption strategy moves to normal CommonJS modules.
Additionally, he implemented the following conversions:
float implementation is a bit sketchy{ treatNullAsEmptyString: true } variant for DOMStringByteStringDateRegExpUSVString (!)Added "traceur-runner": true to package.json, to better work with traceur-runner.
Added "traceur-runner": true to package.json, to better work with traceur-runner.
Nothing published for this version
Nothing published for this version
Made the package use the es6ify transform when used with browserify.
Made the package use the es6ify transform when used with browserify.
Initial release, with boolean and DOMString as the only supported conversions.
Initial release, with boolean and DOMString as the only supported conversions.
Your coding agent can read these notes before it upgrades. Set up the MCP server →