Changelog

tc39/ecma262 · Mar 30 – Apr 5, 2026 · 13 commits

JSON.parse reviver context lands, 2027 edition rolls over

JSON.parse gains source-text-aware reviver context, the spec advances to ECMAScript 2027, and editorial cleanup tightens algorithm wording.

JSON.parse gets source-text-aware reviver context

JSON.parse now preserves the original parse record and can pass a third reviver argument containing source text for primitive values when the property is left unchanged. The related plumbing also adds JSON.isRawJSON and updates JSON.stringify and synthetic module creation to use the parsed record’s value explicitly.

ECMAScript 2027 becomes the new main draft

The spec metadata, introduction, scope, and editor roster were rolled over from ECMAScript 2026 to ECMAScript 2027, marking the annual edition transition and putting the standard on the next release track.

Throw shorthand is clarified across algorithms

The spec now explicitly defines algorithmic "throw" as shorthand for returning ThrowCompletion(...), and several examples and steps were updated to use the shorthand consistently across promise, base64/hex, typed array, and call-related algorithms.

Other misc changes

  • Minor editorial and autolink cleanups, including wording fixes around async evaluation order, ReturnIfAbrupt, abstract closures, enum denotation, and JSON internalize alias naming.
  • Updated JSON.rawJSON to be marked as a built-in function and fixed a small wording typo.
  • Current editors list adjustments: one removal and one addition.
  • Small published-spec styling and PR preview comment text tweaks.