Skip to content

16.0.0

Compare
Choose a tag to compare
@domenic domenic released this 29 Apr 17:45

Breaking changes:

  • Made [Exposed] required, per the Web IDL specification.
  • Made the globalNames second argument to install() required, instead of having it default to ["Window"].
  • Aligned with the Web IDL specification's legacy extended attribute renames: [LenientThis][LegacyLenientThis]; [NoInterfaceObject][LegacyNoInterfaceObject]; [TreatNullAs=EmptyString][LegacyNullToEmptyString]; [OverrideBuiltins][LegacyOverrideBuiltins]; and [Unforgeable][LegacyUnforgeable].
  • Removed [LegacyArrayClass] support, as it was removed from the Web IDL specification.

Additions:

Fixes:

  • Fixed promise-typed operations and attributes to always return promises, including for thisArg or argument conversion errors.
  • Fixed conversion of non-string values to enumeration types. Now { toString() { return "foo" } } will be properly treated the same as "foo" in such cases.
  • Fixed [LegacyLenientThis], which previously generated code which would not actually allow invalid thisArg values. (#210, @ExE-Boss)
  • Fixed new() to work for legacy platform objects; previously the generated code would try to reassign a const variable.