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/infolinks 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