Changelog

tc39/ecma262 · October 2026 · 43 commits

October brings iterator helpers and typed-array fixes

Spec work focused on new iterator methods, typed-array correctness, and a few important observable behavior clarifications.

New iterator helpers and methods

Iterator.prototype.join, chunks, windows, and includes — The month added several iterator helpers to ECMA-262: join() for separator-based string concatenation, chunks() for fixed-size grouping, windows() for sliding windows, and includes() for SameValueZero search with optional skipped elements. These algorithms also spell out iterator closing and abrupt-completion behavior.

Typed arrays and DataView get correctness fixes

TypedArray revalidation and method semantics tightened — RevalidateAtomicAccess now checks the full accessed element instead of just the starting byte, closing a gap for multi-byte elements on growable SharedArrayBuffers. Separately, filter and with were corrected to account for detachment/shrinking during callbacks, and the spec now clarifies the observable undefined cases and suppresses unintended user-code effects.

DataView accessors no longer throw on detached buffers — DataView.byteLength and DataView.byteOffset now return +0 rather than throwing TypeError when the buffer is detached or out of bounds, removing a surprising exception path and aligning with the updated normative text.

Parsing, grammar, and shared abstract operations were reorganized

Parsing section split out and grammar language clarified — The parsing material was reorganized into a dedicated section, with ParseText more directly tied to parsing. Related grammar terminology was cleaned up and generalized, including runtime grammars, mnemonic terminals, and punctuation examples.

List-joining logic was centralized — Array.prototype.join, Array.prototype.toLocaleString, and %TypedArray%.prototype.toLocaleString now use a shared JoinIndexedProperties abstract operation, which was also generalized for ECMA-402 use and paired with a dedicated LocalizedListSeparator() helper.

Spec terminology and editorial cleanup

Number and time terminology was normalized — The spec standardized on terms like “finite Number,” “finite time value,” and “non-zero finite Number,” and updated related numeric algorithms for clearer preconditions and consistent linking.

Various algorithm and prose cleanups — The month also included realm-sensitive prototype fallback clarification, bitwise-operation terminology unification, a CreateListFromArrayLike default rename, tighter RegExp.prototype[%Symbol.split%] prose, and a few readability-only refactors in disposable-resource and numeric clauses.

Other misc changes

  • Numeric-literal grammar was simplified and examples were normalized.
  • An IPR check was updated for a renamed author account.
  • PR preview deployments were adjusted to externalize TOCs and avoid race-related deploy loss.