Changelog

tc39/ecma262 · May 2026 · 9 commits

Spec internals get cleaner, with small UX and editorial fixes

May focused on spec-maintenance refactors, a few accessibility/preview tweaks, and several editorial corrections.

Spec structure and execution model cleanup

Shared numeric conversion helper added — The spec factors repeated fixed-width integer conversion logic into ToFixedSizeInteger, and rewires ToInt32/ToUint32/ToInt16/ToUint16 and related conversions to use it, tightening consistency and clarifying -0 handling.

Execution-context suspension is centralizedRunSuspendedContext now captures the repeated suspend/push/resume pattern used by generators, async generators, and async functions, reducing duplication in the execution machinery text without changing behavior.

UX improvements for snapshot warnings

Escape now closes the snapshot warning — The warning overlay can be dismissed with Escape, improving keyboard usability and making it easier to return to the spec.

Preview navigation restores auto-collapse — Internal preview navigation now correctly re-collapses the warning when staying within the same snapshot, using a more robust path-prefix check.

Editorial corrections and link stability

Array reduce notes clarified — Documentation for Array.prototype.reduce and reduceRight better explains the first callback invocation when initialValue is omitted.

JSON serialization text cleaned upSerializeJSONProperty no longer carries an incorrect assertion about arrays not being proxies, and SerializeJSONArray got a signature cleanup in the rendered text.

Legacy anchor restored — The old sec-returnifabrupt-shorthands anchor was added back for “Shorthands for Unwrapping Completion Records,” preserving existing links.

UnicodeEscape wording fixed — A parameter name was corrected from constructor to codeUnit to avoid misleading generated wording.

Other misc changes

  • Minor markup cleanup in the editors list.