Changelog

tc39/ecma262 · June 2026 · 23 commits

June brings iterator zips, Atomics, and disposal APIs

Iterator.zip, Atomics.notify/pause, and explicit resource management landed, alongside spec clarifications and workflow polish.

Major language and platform additions

  • Iterator helpers expanded with Iterator.zip and Iterator.zipKeyed, including mode/padding handling and standardized abrupt-close cleanup behavior.
  • Shared-memory primitives grew via Atomics.notify and Atomics.pause, giving the spec a clearer wake-up path and a CPU hint for spin-wait loops.
  • Explicit resource management landed with using/await using, DisposableStack/AsyncDisposableStack, SuppressedError, and %Symbol.dispose%/%Symbol.asyncDispose%.

Spec model and execution semantics were clarified

  • Global symbol registry moved to the Agent Record, making Symbol.for explicitly agent-scoped and aligning the registry with the execution model.
  • Parsing and resumption algorithms were tightened, including ParseScript/ParseModule accepting string input and a new RunCallerContext abstraction to reduce duplicated context-switching logic.

Editorial and tooling polish

  • Snapshot preview warnings improved to link to PRs when available and present commit fallbacks more clearly.
  • Broad wording cleanup touched subclassing guidance, host-synchronizes-with terminology, alias names, and assorted algorithm text.
  • Maintenance updates covered formatter/lint/esmeta fixes, ecmarkup signature adjustments, and small section-ordering tweaks.

Other misc changes

  • Updates to global object properties, intrinsic objects, error constructors, quote/alias conventions, FromBase64 wording, and assorted markup cleanup.