Changelog

tc39/ecma262 · August 2026 · 44 commits

Promise.try and index handling get clearer this month

Shared index helpers, tighter TypedArray and iterator semantics, and Promise.try resolution cleanup headline a mostly editorial month.

Shared abstract ops reduce index boilerplate

The spec now factors repeated negative-index and clamping logic into reusable ToAbsoluteIndex and ToClampedIndex helpers. These are applied across string, array-like, and typed-array methods such as at, includes, indexOf, slice, copyWithin, and related operations, making index behavior more consistent and easier to audit.

TypedArray validation and memory-model wording get a clearer shape

TypedArray work was the other major thread this month. Validation now has a dedicated witness-record step, and ValidateIntegerTypedArray was refactored on top of IsNoTearConfiguration with sharper ordering requirements. The surrounding memory-model text was also cleaned up, including bigint no-tear configuration language and related editorial simplifications.

Promise.try now follows the standard promise-resolution path

Promise.try was tightened so the non-error path uses PromiseResolve instead of resolving a freshly created capability directly. This aligns the algorithm more closely with the spec’s normal promise-resolution machinery and removes a special-case feel from the success branch.

Iterator, number, and time semantics were refined

Iterator helpers and array/iterator builtins now use Number counters with explicit 2^53 limits, making large-count behavior more spec-precise. The month also introduced SnapToInteger for finite-only integer conversion, and added the “epoch nanoseconds count” concept to sharpen Temporal-related wording.

Execution-context and async control flow wording improved

The resumption language for suspended execution contexts was adjusted from “Return” to “passing” to better describe control transfer. Generator and async-generator algorithms were updated accordingly, alongside a handful of related editorial clarifications.

Other misc changes

  • RFC and ISO reference cleanup, including canonical rfc-editor.org/info links and updated time-zone notes
  • Editorial alias renames and terminology normalization in Canonicalize, SetFunctionName, and module-related sections
  • Template-literal and regex annex wording cleanups
  • ecmarkup bumped to 25.0.1
  • Small mechanical refactors across array algorithms and several spec assertions