Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
389 commits
Select commit Hold shift + click to select a range
6ccb804
Editorial: Remove unnecessary `undefined` type from property descript…
anba Apr 2, 2025
f0b28b6
Editorial: address circular definition of Iterator.prototype (#3558)
michaelficarra Apr 10, 2025
de62e8d
Normative: Revert ArrayIterator and RegExpStringIterator to manual it…
anba Apr 10, 2025
b8e178d
Meta: remove Twitter link for Shu (#3560)
syg Apr 10, 2025
5854e1f
Meta: replace Twitter link with Bluesky for me (#3561)
michaelficarra Apr 10, 2025
b6b9fbe
Meta: remove Twitter link for bakkot (#3562)
bakkot Apr 10, 2025
2733fc6
Editorial: 'Promote' two "Properties of Instances" sections (#3566)
jmdyck Apr 23, 2025
3c8eb86
Editorial: Add a "Type" column to two "Internal Slots" tables (#3566)
jmdyck Apr 23, 2025
d0e5ade
Editorial: Add underscores to alias (#3566)
jmdyck Apr 23, 2025
6e63fb0
Editorial: Remove spurious '!' (#3070)
jmdyck Apr 23, 2025
7177c07
Editorial: Change some '?' to '!' (#3070)
jmdyck Apr 23, 2025
6d71ca0
Meta: Upgrade ESMeta to v0.6.0 (#3573)
jhnaldo Apr 25, 2025
620e926
Editorial: Explain the nature of TypedArray property handling (#3571)
gibson042 May 3, 2025
e0bae98
Editorial: Replace "{String,Number} value" with just "{String,Number}…
gibson042 May 3, 2025
df05528
Editorial: Clarify that TypedArray properties privilege in-band integ…
gibson042 May 3, 2025
1a5472c
Editorial: Move the canonical numeric string observation to a TypedAr…
gibson042 May 3, 2025
5d3cb83
Editorial: fix a couple typos in the sample module executions (#3579)
bakkot May 3, 2025
0fb1859
Normative: Mark sync module evaluation promise as handled (#3535)
nicolo-ribaudo May 4, 2025
a562082
Editorial: add a missing space in the colophon (#3577)
michaelficarra May 4, 2025
4a3b6b4
Editorial: Remove optional waitable parameter (#3591)
syg May 9, 2025
9d1085a
Meta: clarify CONTRIBUTING.md (#3575)
bakkot May 14, 2025
560fabf
Meta: IPR: add rbuckton’s commits
ljharb May 14, 2025
58f1172
Meta: IPR: fix an exception commit sha
ljharb May 14, 2025
affcec0
Editorial: mark generatorBody() as a completion record in GeneratorSt…
michaelficarra May 14, 2025
62121b1
Meta: bump ecmarkup to v21.3.0 (#3576)
bakkot May 17, 2025
2529e75
Editorial: mark asyncBody() as a completion record in AsyncBlockStart…
michaelficarra May 17, 2025
d146702
Editorial: fix spelling of "requirements" (#3610)
michaelficarra May 19, 2025
b758ddc
Meta: Add WebAssembly as a downstream dependency (#3616)
jkup Jun 3, 2025
caa0482
Normative: add `Error.isError` (#3507)
ljharb Jun 4, 2025
bdfd596
Editorial: Mention AsyncGeneratorFunction constructor in note (#3624)
anba Jun 16, 2025
b5aa26b
Editorial: List all TypedArray internal slots (#3429)
LegionMammal978 Jun 25, 2025
1c54397
Editorial: Fix [[AsyncEvaluationOrder]] examples for evaluated module…
nicolo-ribaudo Jun 27, 2025
c8fe69b
Editorial: mark a callsite of GetBindingValue as not throwing (#3599)
bakkot Jun 27, 2025
17b5581
Editorial: mark the conversion operation in NumericToRawBytes as infa…
michaelficarra Jun 27, 2025
48cab84
Editorial: FunctionDeclarationInstantiation cannot return ReturnCompl…
bakkot Jun 27, 2025
dd2c5c3
Meta: Upgrade ESMeta to v0.6.1 (#3614)
stonechoe Jun 27, 2025
905660d
Editorial: Replace [[DFSIndex]] with a local variable (#3625)
nicolo-ribaudo Jun 27, 2025
7af34ed
Editorial: fix missed reordering of TA slots in intro
bakkot Jun 27, 2025
ca045a0
Editorial: Consolidate TypedArrayCreate* slot checks (#3632)
gibson042 Jun 30, 2025
427ef8a
Editorial: Co-locate TypedArrayCreateSameType and TypedArraySpeciesCr…
gibson042 Jun 30, 2025
60c4df0
Editorial: Define SetTypedArrayFromArrayLike before SetTypedArrayFrom…
gibson042 Jun 30, 2025
fb272af
Meta: ipr exceptions: add a deactivated user
ljharb Jul 14, 2025
4f92e3e
Meta: update github action workflows
ljharb Jul 14, 2025
9b6a4a4
Normative: Add "Late Errors for Function Call Assignment Targets" to …
rkirsling Jul 14, 2025
ac44bdf
Editorial: wrap AC return values in completion records where needed (…
michaelficarra Jul 14, 2025
1cad710
Normative: WeakRef.prototype.constructor should be writable (#3638)
anba Jul 14, 2025
3881d95
Editorial: Refer to [[Call]] as an internal method (#3641)
anba Jul 15, 2025
bc27c7d
Editorial: Include "object" in dfn for WeakRef and FinalizationRegist…
anba Jul 15, 2025
7f97b40
Editorial: Add "object" to allow linking to the prototype object (#3642)
anba Jul 15, 2025
b324a0d
Editorial: Remove unnecessary "the value of" when referencing propert…
tontonialberto Jul 15, 2025
3d77f66
Editorial: consistently order undefined before null in comparisons (#…
michaelficarra Jul 15, 2025
b3f6a0a
Meta: Upgrade ESMeta to v0.6.2 (#3650)
jhnaldo Jul 17, 2025
b6f76ea
Meta: make esmeta log files available for download after CI run (#3651)
michaelficarra Jul 17, 2025
f065126
Meta: Upgrade ESMeta to v0.6.4 (#3656)
jhnaldo Jul 24, 2025
c0c7445
Editorial: Use semicolon and lowercase 'otherwise' in single-step con…
tontonialberto Jul 24, 2025
f764049
Editorial: unify various forms of if-otherwise in single-line conditi…
tontonialberto Jul 24, 2025
6f61b74
Meta: Update my email (#3661)
syg Jul 28, 2025
a839b2b
Editorial: allow Symbols and Private Names to have internals slots (#…
michaelficarra Aug 13, 2025
3902807
Editorial: Replace genitive with default notation when referencing pr…
tontonialberto Aug 13, 2025
1439803
Editorial: replace tables in AOs with algorithm steps (#3666)
tontonialberto Aug 13, 2025
a7c67f6
Editorial: Enum value should be SANS-SERIF (#3671)
igrep Aug 13, 2025
654e339
Editorial: Link to alt FunctionDeclaration semantics (#2952)
jmdyck Aug 19, 2025
8693c99
Editorial: Tweak the defn of "Normative Optional" (#2952)
jmdyck Aug 19, 2025
766b80c
Editorial: Eliminate monkey-patching from "Labelled Function Declarat…
jmdyck Aug 19, 2025
0411357
Editorial: Eliminate monkey-patching from "Block-Level Function Decla…
jmdyck Aug 19, 2025
9815f3a
Editorial: Eliminate monkey-patching from "VariableStatements in Catc…
jmdyck Aug 19, 2025
f6017b2
Editorial: Eliminate monkey-patching from "The [[IsHTMLDDA]] Internal…
jmdyck Aug 19, 2025
f828db8
Editorial: Change "Let" to "Set" in inlined steps in EvalDeclarationI…
jmdyck Aug 19, 2025
27172c8
Normative: add Math.sumPrecise (#3654)
bakkot Aug 19, 2025
b507d6e
Editorial: add oldids for IDs removed by #3666 (#3674)
michaelficarra Aug 19, 2025
097963e
Editorial: add note to SetFunctionName clarifying optionality (#3675)
michaelficarra Aug 19, 2025
948f702
Meta: remove unused pagedjs dependencies (#3678)
bakkot Aug 20, 2025
52187c8
Editorial: remove unnecessary pluralization (#3681)
senocular Aug 21, 2025
858b1df
Normative: Set [[SourceText]] on classes before static blocks evaluat…
devsnek Aug 25, 2025
3864092
Editorial: TypedArrayCreateSameType take length as parameter (#3570)
aapoalas Aug 25, 2025
11d9dc6
Markup: rendering edits for 2025 edition & beyond (#3623)
gesa Aug 26, 2025
1da362c
Editorial: Get/Set 'lastIndex' on RegExp object cannot trigger user-c…
aapoalas Aug 26, 2025
f92c1ae
Editorial: make RequireObjectCoercible return `~unused~` (#3676)
michaelficarra Aug 26, 2025
6a37f2b
Meta: fix PR previews (#3679)
bakkot Sep 15, 2025
3dfa316
Normative: add base64 and hex methods for Uint8Array (#3655)
bakkot Sep 23, 2025
541b2f6
Normative: handle len < seachLen in String.prototype.lastIndexOf (#3660)
mobius29 Sep 23, 2025
435c83f
Editorial: remove unnecessarily verbose description (#3691)
bakkot Sep 23, 2025
17cbe35
Meta: check out correct repo for PR previews (#3692)
bakkot Sep 23, 2025
3f47f6c
Editorial: Fix "property name" autolinking (#3513)
gibson042 Sep 30, 2025
be305fc
Editorial: Unify style of abrupt completion and non-LoopContinues res…
aapoalas Sep 30, 2025
a1693ff
Editorial: replace "is at least" with ≥ in parseInt (#3608)
michaelficarra Sep 30, 2025
55276b2
Editorial: Adjust invalid assertion about [[AsyncEvaluationOrder]] (#…
nicolo-ribaudo Sep 30, 2025
ba581a9
Editorial: add missing suggestion from #3613
ljharb Sep 30, 2025
d228070
Normative: When TA.copyWithin argument handling shrinks TA, use whate…
gibson042 Sep 30, 2025
75a5114
Editorial: Make "Properties of the Iterator Prototype Object" a subcl…
anba Sep 30, 2025
0008b78
Editorial: Resolve type mismatch when initializing a class instance w…
mobius29 Sep 30, 2025
4ef8fe0
Editorial: separate unrelated variable in `yield*` evaluation (#3687)
nicolo-ribaudo Sep 30, 2025
1829f9c
Meta: bump ecmarkup to v21.4.0 (#3693)
JinDX Sep 30, 2025
9e65ab3
Editorial: _ff_ is not defined in the alternative version of #step-nu…
igrep Sep 30, 2025
86b5733
Meta: rename deploy script (#3697)
bakkot Oct 1, 2025
9dc876a
Editorial: Clean up TypedArray/DataView bounds checking (#3396)
gibson042 Aug 16, 2024
b315aa1
Editorial: Clean up IsSharedArrayBuffer (#3396)
gibson042 Aug 16, 2024
2c6588a
Editorial: Add IsGrowableSharedArrayBuffer for clarity (#3396)
gibson042 Aug 16, 2024
e6bc836
Editorial: Improve formatting in HostGrowSharedArrayBuffer (#3396)
gibson042 Aug 16, 2024
51aabeb
Editorial: Make better use of the "Shared Data Block event" term (#3396)
gibson042 Aug 16, 2024
bb1ff0b
Editorial: Make better use of the "Set" specification type (#3396)
gibson042 Aug 16, 2024
aaf0422
Editorial: Link directly to ReadSharedMemory as appropriate (#3396)
gibson042 Aug 16, 2024
6d9abef
Editorial: Introduce term "Memory event" to describe Agent Events Rec…
gibson042 Aug 16, 2024
f1bdd8c
Editorial: Introduce term "memory range" to provide links for Shared …
gibson042 Aug 16, 2024
91b7e4c
Editorial: Make auto-linking "read event" and "write event" specializ…
gibson042 Nov 4, 2025
ab6f2d5
Editorial: allow hosts to create ordinary global objects (#3498)
Ms2ger Nov 4, 2025
1c55ca1
Meta: always use snapshot upload code from main (#3698)
bakkot Nov 4, 2025
4bca738
Editorial: move [[LittleEndian]] constraint next to others (#3700)
michaelficarra Nov 4, 2025
e83b93b
Editorial: no need to mention exception for unobservable changes (#3700)
michaelficarra Nov 4, 2025
f656b31
Normative: [[IsLockFree8]] also must be consistent (#3700)
michaelficarra Nov 4, 2025
042c2ff
Meta: Update metadata to use correct copyright (#3701)
gesa Nov 4, 2025
8c9cc3b
Editorial: specify evaluation order for expressions (#3705)
bakkot Nov 4, 2025
70b0872
Editorial: remove ReturnIfAbrupt and specify `!` and `?` directly (#3…
bakkot Nov 4, 2025
93b7b2c
[editorial] Simplify Source Text Module Record's ResolveExport (#3711)
nicolo-ribaudo Nov 4, 2025
5501329
Editorial: remove unused AO CreateAsyncIteratorFromClosure (#3628)
intincrab Nov 4, 2025
e936549
Editorial: use typical phrasing for Agent Record field access (#3704)
sajdakabir Nov 4, 2025
939b993
Normative: Errored modules have an empty [[CycleRoot]] (#3583)
nicolo-ribaudo Nov 12, 2025
ad71dc5
Editorial: correct grammatical errors in the NOTE of `Math.f16round` …
igrep Nov 12, 2025
29c5b17
Editorial: fix assert in ResolveExport (#3717)
bakkot Nov 12, 2025
53ab04b
Editorial: Fix article typo in [[Enumerable]] (#3718)
jungwngkim Nov 12, 2025
74d6f30
Meta: Upgrade ESMeta to v0.7.1 (#3720)
jhnaldo Nov 13, 2025
74808e4
Meta: bump ecmarkup to 21.5.0 (#3712)
michaelficarra Dec 1, 2025
c541680
Editorial: replace [[UnderlyingIterator]] with [[UnderlyingIterators]…
michaelficarra Dec 1, 2025
aefd096
Normative: add Iterator.concat (#3713)
michaelficarra Dec 1, 2025
5ea7721
Editorial: use an AC in PerformPromiseAll (#3722)
michaelficarra Dec 1, 2025
4d2116b
Normative: DoWait byteIndexInBuffer is miscalculated (#3724)
aapoalas Dec 1, 2025
8a7178c
Editorial: use an AC in PerformPromiseAny (#3729)
michaelficarra Dec 4, 2025
277490a
Editorial: use ACs in PerformPromiseAllSettled (#3730)
michaelficarra Dec 4, 2025
44d79b2
Editorial: use a fresh alias for `_F_.[[Index]]` (#3732)
michaelficarra Dec 4, 2025
bc1c445
Normative: Don't call well-known Symbol methods for `RegExp` on primi…
petamoriken Dec 10, 2025
594e44e
Editorial: the Object constructor's parameter is expected to be prese…
michaelficarra Dec 10, 2025
4752038
Normative: Align async modules rejection order with fulfillment order
nicolo-ribaudo Dec 10, 2025
b52dee2
Editorial: Add a link to the collection of historical editions (#1335)
gibson042 Dec 18, 2025
7029ed1
Editorial: support built-in async functions (#2942)
michaelficarra Dec 18, 2025
bfd5f45
Meta: add yet phrase checking using ESMeta (#3721)
jhnaldo Dec 18, 2025
f1df3a7
Editorial: Unify position of <emu-meta effects="user-code"> (#3726)
jungwngkim Dec 18, 2025
a51b9e9
Editorial: Unify position of <emu-meta suppress-effects="user-code"> …
jungwngkim Dec 18, 2025
9d5254b
Editorial: Remove 'also' in has-internalslot condition (#3726)
jungwngkim Dec 18, 2025
e4a81b6
Editorial: Remove 'to the end' in Append step (#3726)
jungwngkim Dec 18, 2025
8ce2b4d
Editorial: Unify 'described' and 'specified' in Set-as step (#3726)
jungwngkim Dec 18, 2025
8df5a6a
Editorial: Fix typos while unifying <emu-meta> (#3726)
jungwngkim Dec 18, 2025
ce9eccf
Editorial: Wrap <emu-meta> around whole expression (#3726)
jungwngkim Dec 18, 2025
c48b691
Editorial: use an AC in CreateResolvingFunctions (#3734)
michaelficarra Dec 18, 2025
73db08b
Editorial: Reword introductory prose (#3735)
gibson042 Dec 18, 2025
d237611
Editorial: Remove irrelevant sentence (#3735)
gibson042 Dec 18, 2025
8febdac
Normative: Add Array.fromAsync (#3581)
michaelficarra Dec 18, 2025
f2d39e9
Meta: Update yet phrase checking with ESMeta v0.7.2 (#3739)
jhnaldo Jan 22, 2026
0e14b03
Normative: Add getOrInsert and getOrInsertComputed methods for Map an…
dminor Jan 22, 2026
70afb66
Editorial: Introduce mathematical logarithm functions (#3743)
gibson042 Jan 22, 2026
270a490
Meta: Link to both single- and multi-page PR previews (#3744)
gibson042 Jan 22, 2026
fd2e0ec
Meta: bump ecmarkup to 23.0.2 (#3745)
bakkot Feb 10, 2026
dc269c4
Editorial: better linking for abstract methods (#3745)
bakkot Feb 10, 2026
5fc8ff6
Editorial: note restriction for Evaluate for non-Cyclic Module Record…
bakkot Feb 10, 2026
0014668
Editorial: remove unhelpful/misleading note (#3752)
michaelficarra Feb 10, 2026
1a78d83
Normative: make re-exporting a namespace object in 2 steps behave lik…
bakkot Feb 17, 2026
4b8cbd4
Editorial: Unify 'else' and 'otherwise' in If step (#3733)
jungwngkim Mar 4, 2026
4895a11
Editorial: clarify intrinsic field naming in realmRec. specification …
hriztam Mar 4, 2026
b2c6563
Meta: add another IPR override
ljharb Mar 19, 2026
a489f42
Markup: label clauses of built-in functions (#3763)
bakkot Mar 19, 2026
4b6b234
Meta: bump ecmarkup to 24.0.0 (#3763)
bakkot Mar 19, 2026
e7fd87b
Editorial: don't attempt to redeclare a param alias that is not prese…
michaelficarra Mar 19, 2026
7bbfd4b
Editorial: make it clearer that resolvers for already-resolved Promis…
bakkot Mar 25, 2026
eef2528
Editorial: Reword loop in ValidateAndApplyPropertyDescriptor (#3773)
nicolo-ribaudo Mar 25, 2026
76b49c6
Editorial: update '%IteratorPrototype%' in Generator Objects Relation…
michaelficarra Mar 26, 2026
b28e22e
Meta: switch publish-biblio to trusted publishing (#3706)
bakkot Mar 26, 2026
8803988
Meta: add required repository info to biblio subpackage
ljharb Mar 26, 2026
1bc43d5
Normative: Extend JSON.parse and JSON.stringify for interaction with …
gibson042 Mar 31, 2026
e63c83d
Editorial: Improve alias naming in InternalizeJSONProperty (#3714)
gibson042 Mar 31, 2026
c92ca55
Editorial: update description of enum denotation (#3777)
michaelficarra Mar 31, 2026
213d3b9
Editorial: Properly capitalize Abstract Closure for autolinking (#3781)
gibson042 Mar 31, 2026
1795e9f
Meta: Add "preview" to PR preview comment text (#3783)
gibson042 Mar 31, 2026
20b75f8
Editorial: remove vestigial mention of ReturnIfAbrupt (#3784)
michaelficarra Mar 31, 2026
0248456
Editorial: allow [[AsyncEvaluationOrder]] to have any value when erro…
nicolo-ribaudo Mar 31, 2026
919978a
Editorial: apply a whimsical font on a whimsical day (#3782)
michaelficarra Mar 31, 2026
d093df5
Editorial: main is now ES2027
ljharb Mar 31, 2026
71bf855
Editorial: allow more generic use of throw shorthand in algorithm ste…
michaelficarra Apr 2, 2026
2f8969e
Editorial: Add Ron Buckton to the editors list (#3796)
rbuckton Apr 4, 2026
5f52dd7
Editorial: remove Kevin from the current editors list (#3794)
michaelficarra Apr 4, 2026
242ce7a
Editorial: Fix some things from PR #3714 (#3797)
jmdyck Apr 4, 2026
1b6feca
Editorial: Use the execution context created by InitializeEnvironment…
jmdyck Apr 9, 2026
6484b17
Editorial: align on ~namespace~ for ImportEntry, ExportEntry and Reso…
guybedford Apr 9, 2026
f63b855
Meta: bump ecmarkup to 24.1.0 (#3790)
bakkot Apr 9, 2026
28e1323
Editorial: Reword notes describing invariants of fixed-size-integer c…
gibson042 Apr 9, 2026
3211ef1
Editorial: Leverage ToIntegerOrInfinity in fixed-size-integer convers…
gibson042 Apr 9, 2026
4664fe1
Editorial: add the intro summary for ES2026 (#3793)
michaelficarra Apr 9, 2026
6988697
Editorial: remove whimsy (#3803)
michaelficarra Apr 9, 2026
3282e07
Editorial: Add Linus to the editors list (#3801)
linusg Apr 9, 2026
c3ceeae
Editorial: fix note in Proxy [[GetOwnProperty]] definition (#3808)
michaelficarra Apr 9, 2026
2affef2
Editorial: fix off-by-1 error in description of Array lastIndexOf (#3…
michaelficarra Apr 9, 2026
0123375
Editorial: fix description of Cyclic Module Record [[EvaluationError]…
michaelficarra Apr 9, 2026
477ed18
Editorial: fix error in String.prototype.endsWith note (#3812)
michaelficarra Apr 9, 2026
529a2b6
Editorial: fix copy/paste error in Math.min note (#3813)
michaelficarra Apr 9, 2026
c70eacf
Editorial: remove indirect reference to [[VarNames]] which was remove…
michaelficarra Apr 9, 2026
446d548
Editorial: [[HomeObject]] can be undefined (#3820)
michaelficarra Apr 9, 2026
4ea0159
Editorial: clarify that "For each" and "Repeat" steps specify iterati…
michaelficarra Apr 9, 2026
567cb81
Editorial: mention that NOTE steps are just informative (#3823)
michaelficarra Apr 10, 2026
546e44a
Editorial: Add Richard Gibson to the editors list (#3827)
gibson042 Apr 10, 2026
c73a1ef
Editorial: Added a missing period (#3798)
runbing Apr 10, 2026
6d0cff6
Editorial: fix some minor editorial convention violations (#3805)
michaelficarra Apr 24, 2026
c276fc1
Editorial: fix description of Environment Record GetBindingValue (#3814)
michaelficarra Apr 24, 2026
f5b291b
Editorial: tighten param type in ForDeclarationBindingInitialization …
michaelficarra Apr 24, 2026
2314d2b
Meta: use gh-action-mutex in the pr-preview action (#3821)
michaelficarra Apr 24, 2026
bab3fbf
Editorial: rename single-letter and initial-capital aliases (#3789)
michaelficarra Apr 24, 2026
b134031
Editorial: fix return type of MakeFullYear (#3825)
michaelficarra Apr 24, 2026
b6b06f5
Editorial: fix an editorial convention violation wrt appending (#3830)
michaelficarra Apr 24, 2026
bf86dff
Editorial: remove unhelpful notes in String startsWith/endsWith (#3831)
michaelficarra Apr 24, 2026
189d27a
Editorial: add Nicolò to the editors list (#3834)
nicolo-ribaudo Apr 24, 2026
c099b14
Editorial: fix error in description of IsLessThan (#3810)
michaelficarra Apr 29, 2026
c3fb529
Editorial: narrow some AO return types and parameter types (#3826)
michaelficarra Apr 29, 2026
3e0bdf0
Editorial: Undo a recent regression (#3839)
jmdyck Apr 29, 2026
8ebc410
Editorial: clarify that reduce skips first call based on initialValue…
michaelficarra May 5, 2026
e07ec27
Editorial: Factor out RunSuspendedContext abstract operation (#2664)
jmdyck May 6, 2026
67ac2b7
Editorial: introduce ToFixedSizeInteger for backing To{Int,Uint}{8,16…
gibson042 May 6, 2026
bcbc4ed
Editorial: remove incorrect assertion in SerializeJSONProperty (#3842)
bakkot May 7, 2026
64b30cb
Meta: Restore the automatic snapshot-warning collapse for internal pr…
gibson042 May 7, 2026
0394941
Meta: Make pressing Escape collapse the snapshot-warning (#3843)
gibson042 May 7, 2026
767bf13
Editorial: Restore anchor for sec-returnifabrupt-shorthands (#3859)
gibson042 May 16, 2026
ea9098a
Markup: Move `</li>` to end of line (#3864)
jmdyck May 16, 2026
6dcb70f
Editorial: fix over-eager replace of C to "constructor" (#3876)
ljharb May 20, 2026
ca4968b
Editorial: consistently abbreviate terms used in aliases (#3837)
ljharb Jun 2, 2026
7d60396
Editorial: AsyncArrowFunction does not have this (#3524)
OnlyWick Jun 2, 2026
f69e21b
Normative: add Iterator.zip and Iterator.zipKeyed (#3802)
michaelficarra Jun 2, 2026
97ea915
Normative: Allow ParseScript and ParseModule to be called with string…
gibson042 Jun 2, 2026
7b25de4
Editorial: Replace "Optionally," steps with use of term "implementati…
gibson042 Jun 2, 2026
7b11980
Normative: add Atomics.pause (#3847)
syg Jun 2, 2026
8dd03ec
Editorial: Fix the rendering used to reference unwrapping shorthands …
gibson042 Jun 2, 2026
9a538c5
Editorial: Replace ASCII quotes with typographic quotes as appropriat…
gibson042 Jun 2, 2026
faeca0c
Editorial: consistently use "includes the properties" phrasing (#3871)
michaelficarra Jun 2, 2026
10d261b
Editorial: assert the FromBase64 multiple-of-3 byte invariant (#3875)
ljharb Jun 2, 2026
4ded99a
Markup: Fix intrinsic proto string in NativeError constructor (#3879)
linusg Jun 2, 2026
a9a0c48
Editorial: Clean up Well-Known Intrinsic Objects table (#3881)
linusg Jun 2, 2026
c0a2b1a
Editorial: Use consistent phrasing for Global Object value properties…
linusg Jun 2, 2026
8ef83c7
Editorial: replace remaining use of [[HostSynchronizesWith]] (#3806)
michaelficarra Jun 5, 2026
0088cd6
Editorial: reword description of subclassing (#3872)
michaelficarra Jun 5, 2026
b12c8ef
Editorial: Move GlobalSymbolRegistry to the Agent record (#3880)
linusg Jun 5, 2026
8c0c94e
Editorial: Fix ordering of Atomics functions (#3884)
linusg Jun 5, 2026
8321a58
Meta: IPR: a user renamed their account
ljharb Jun 15, 2026
858e41d
Editorial: Improve more alias names (#3886)t
linusg Jun 15, 2026
243e030
Meta: Improve the snapshot warning (#3888)
gibson042 Jun 15, 2026
19fc72f
Meta: Add a "commit" prefix in the non-PR fallback mode (#3888)
gibson042 Jun 15, 2026
f792966
Normative: Add `using` and `await using` Declarations, SuppressedErro…
rbuckton Jun 24, 2026
45a6671
Editorial: Factor out RunCallerContext AO (#3846)
jmdyck Jun 24, 2026
0207353
Editorial: Don't check a cover for early errors (#3227)
jmdyck Jul 2, 2026
3bedf83
Editorial: Refactor parseInt into more cleanly-separated phases (#3841)
gibson042 Jul 2, 2026
2383979
Markup: updated print-only styles for >= 2026 edition (#3889)
gesa Jul 2, 2026
627c919
Editorial: replace uses of "Record value" with just "Record" (#3891)
michaelficarra Jul 2, 2026
c897b54
Editorial: Rename PropertyDescriptor [[Get]]/[[Set]] to [[Getter]]/[[…
linusg Jul 2, 2026
584a69f
Editorial: Rename PrivateElement [[Get]]/[[Set]] to [[Getter]]/[[Sett…
linusg Jul 2, 2026
fad1353
Editorial: rename alias that slipped past CI (#3895)
michaelficarra Jul 2, 2026
974bbcf
Editorial: Narrow the Property Descriptor [[Getter]] and [[Setter]] d…
gibson042 Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ If you are changing the signature or behavior of an existing construct, please c
* [Web IDL](https://webidl.spec.whatwg.org/) — [file an issue](https://github.com/whatwg/webidl/issues/new)
* [HTML Standard](https://html.spec.whatwg.org/) — [file an issue](https://github.com/whatwg/html/issues/new)
* [ECMAScript Intl API](https://tc39.es/ecma402/) - [file an issue](https://github.com/tc39/ecma402/issues/new)
* [WebAssembly](https://webassembly.github.io/spec/) - [file an issue](https://github.com/WebAssembly/spec/issues/new)

Note: please ensure that the "Allow edits and access to secrets by maintainers" checkbox remains checked.
-->
10 changes: 6 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ on: [pull_request, push]
jobs:
build:
name: 'build & lint ecmarkup'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
- uses: ljharb/actions/node/install@d9f477827ed71a259056764107f74afc29febcae
name: 'nvm install lts/* && npm ci'
- uses: actions/checkout@v4
- uses: ljharb/actions/node/install@7f214d8efdbdcefc96ad9689663ef387a195deec
name: 'nvm install lts/* && npm ci --no-audit'
env:
NPM_CONFIG_AUDIT: false
with:
node-version: lts/*
use-npm-ci: true
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,19 @@ on:
jobs:
deploy:
name: 'deploy github pages'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: ${{ github.repository == 'tc39/ecma262' }}

steps:
- uses: actions/checkout@v3
- uses: ljharb/actions/node/install@d9f477827ed71a259056764107f74afc29febcae
name: 'nvm install lts/* && npm ci'
- uses: actions/checkout@v4
- uses: ljharb/actions/node/install@7f214d8efdbdcefc96ad9689663ef387a195deec
name: 'nvm install lts/* && npm ci --no-audit'
env:
NPM_CONFIG_AUDIT: false
with:
node-version: lts/*
use-npm-ci: true
- run: npm run build-only
- run: ./scripts/auto-deploy.sh
- run: ./scripts/deploy-github-pages.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
10 changes: 6 additions & 4 deletions .github/workflows/enforce-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ on: [pull_request]
jobs:
build:
name: 'enforce format'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
- uses: ljharb/actions/node/install@d9f477827ed71a259056764107f74afc29febcae
name: 'nvm install lts/* && npm ci'
- uses: actions/checkout@v4
- uses: ljharb/actions/node/install@7f214d8efdbdcefc96ad9689663ef387a195deec
name: 'nvm install lts/* && npm ci --no-audit'
env:
NPM_CONFIG_AUDIT: false
with:
node-version: lts/*
use-npm-ci: true
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/esmeta-installer/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: 'install esmeta'

runs:
using: "composite"
steps:
- name: setup JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: setup SBT
uses: sbt/setup-sbt@v1
- name: set esmeta version and path
shell: bash
run: |
# v0.7.3
echo "ESMETA_VERSION=9066adf1edefd5d7e8dbc6eaa878242bb591cc2b" >> $GITHUB_ENV
echo "ESMETA_HOME=vendor/esmeta" >> $GITHUB_ENV
- name: clone esmeta
shell: bash
run: |
mkdir -p "${ESMETA_HOME}"
cd ${ESMETA_HOME}
git init
git remote add origin https://github.com/es-meta/esmeta.git
git fetch --depth 1 origin "$ESMETA_VERSION"
git checkout FETCH_HEAD
- name: build esmeta
shell: bash
run: |
cd "${ESMETA_HOME}"
sbt assembly
- name: link ecma262
shell: bash
run: |
rmdir "${ESMETA_HOME}"/ecma262 \
&& ln -s "$(pwd)" "${ESMETA_HOME}"/ecma262
43 changes: 13 additions & 30 deletions .github/workflows/esmeta-typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,18 @@ on: [pull_request]
jobs:
esmeta-typecheck:
name: 'esmeta typecheck'
runs-on: ubuntu-latest

env:
ESMETA_HOME: vendor/esmeta

runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup JDK
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
- name: download esmeta
run: |
mkdir -p "${ESMETA_HOME}"
cd "${ESMETA_HOME}"
git init
git remote add origin https://github.com/es-meta/esmeta.git
git fetch --depth 1 origin 088029201f0de736fdb8f30ca0a96bef26a52089 ;# v0.4.1
git checkout FETCH_HEAD
- name: build esmeta
run: |
cd "${ESMETA_HOME}"
sbt assembly
- name: link
run: |
rmdir "${ESMETA_HOME}"/ecma262 \
&& ln -s "$(pwd)" "${ESMETA_HOME}"/ecma262
- name: checkout
uses: actions/checkout@v4
- name: install esmeta
uses: ./.github/workflows/esmeta-installer
- name: typecheck
run: '"${ESMETA_HOME}"/bin/esmeta tycheck -status -tycheck:log -tycheck:ignore=esmeta-ignore.json'

run: '"${ESMETA_HOME}"/bin/esmeta tycheck -status -extract:log -tycheck:log -tycheck:ignore=esmeta-ignore.json'
- name: create logs archive
run: 'tar --verbose --verbose --create --gzip --file esmeta-logs.tar.gz --directory="${ESMETA_HOME}" logs/'
- name: upload logs archive
uses: actions/upload-artifact@v4
with:
name: esmeta-logs
path: esmeta-logs.tar.gz
25 changes: 25 additions & 0 deletions .github/workflows/esmeta-yetcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: 'esmeta yet phrases detection'

on: [pull_request]

jobs:
esmeta-yetcheck:
name: 'esmeta yet phrases detection'
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: install esmeta
uses: ./.github/workflows/esmeta-installer
- name: check for newly-introduced phrases
env:
FILE_PATH: spec.html
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.sha }}
run: |
"${ESMETA_HOME}"/bin/esmeta yet-check \
-status -yet-check:github-alert -yet-check:log \
"${BASE_SHA}" "${HEAD_SHA}"
cat "${ESMETA_HOME}"/logs/yet-check/summary.md >> $GITHUB_STEP_SUMMARY
12 changes: 7 additions & 5 deletions .github/workflows/ipr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@ on:
jobs:
build:
name: 'check IPR form'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
- uses: ljharb/actions/node/install@d9f477827ed71a259056764107f74afc29febcae
name: 'nvm install lts/* && npm ci'
- uses: actions/checkout@v4
- uses: ljharb/actions/node/install@7f214d8efdbdcefc96ad9689663ef387a195deec
name: 'nvm install lts/* && npm ci --no-audit'
env:
NPM_CONFIG_AUDIT: false
with:
node-version: lts/*
use-npm-ci: true
- run: 'npm run ipr-check'
- run: npm run ipr-check ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'HEAD' }}
env:
GH_TOKEN: ${{ secrets.GH_IPR_TOKEN }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
120 changes: 120 additions & 0 deletions .github/workflows/pr-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: 'ecma262'

on:
pull_request_target:
types: [opened, synchronize, reopened, labeled]

jobs:
check-membership:
name: 'check membership'
runs-on: ubuntu-22.04
outputs:
result: ${{ steps.test-membership.outputs.result }}
should-run: ${{ steps.should-run.outputs.result }}
steps:
- uses: actions/github-script@v7
id: should-run
with:
result-encoding: string
script: |
const { action, label } = context.payload;

// Run on opened/synchronize for members, or when 'request preview' label is added
if (action === 'labeled' && label?.name === 'request preview') {
return 'yes';
} else if (action === 'opened' || action === 'synchronize' || action === 'reopened') {
return 'check-membership';
}
return 'no';

- uses: actions/github-script@v7
id: test-membership
if: steps.should-run.outputs.result == 'check-membership'
env:
AUTHOR: ${{ github.event.pull_request.user.login }}
with:
result-encoding: string
script: |
const author = process.env.AUTHOR;
if (author === 'jmdyck') return 'yes';
try {
const result = await github.request('GET /orgs/{org}/members/{username}', {
org: 'tc39',
username: author,
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
});
return 'yes';
} catch (e) {
console.log({ author }, e);
return 'no';
}
- run: echo "${{steps.test-membership.outputs.result}}"

build:
name: 'publish PR preview'
runs-on: ubuntu-22.04
needs: check-membership
if: needs.check-membership.outputs.should-run == 'yes' || (needs.check-membership.outputs.should-run == 'check-membership' && needs.check-membership.outputs.result == 'yes')

permissions:
contents: write
pull-requests: write

steps:
- name: Acquire mutex
uses: ben-z/gh-action-mutex@v1.0.0-alpha.10
with:
branch: pr-preview-mutex
- name: Remove 'request preview' label
if: github.event.action == 'labeled' && github.event.label.name == 'request preview'
uses: actions/github-script@v7
with:
script: |
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
name: 'request preview'
});

- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}

- name: Overwrite snapshot scripts with versions from main
run: |
git remote add upstream https://github.com/${{ github.event.pull_request.base.repo.full_name }}.git
git fetch upstream main
git checkout upstream/main -- scripts/insert-snapshot-warning.js scripts/deploy-github-pages.sh

- uses: ljharb/actions/node/install@7f214d8efdbdcefc96ad9689663ef387a195deec
name: 'nvm install lts/* && npm ci --no-audit'
env:
NPM_CONFIG_AUDIT: false
with:
node-version: lts/*
use-npm-ci: true
- run: npm run build-only
- run: node scripts/insert-snapshot-warning.js --pr ${{ github.event.number }}
- run: ./scripts/deploy-github-pages.sh --pr ${{ github.event.number }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- id: get-preview-url
name: Get preview url
run: |
gh_pages_url="https://$(printf '%s' "$GITHUB_REPOSITORY" \
| sed 's#/#.github.io/#; s#^tc39.github.io/#tc39.es/#')"
echo "url=$gh_pages_url" >> $GITHUB_OUTPUT
- name: Post preview comment
uses: phulsechinmay/rewritable-pr-comment@v0.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMMENT_IDENTIFIER: tc39_pr_preview_comment
message: >
The rendered spec preview for this PR is available as a single page at
${{ steps.get-preview-url.outputs.url }}/pr/${{ github.event.number }}
and as multiple pages at
${{ steps.get-preview-url.outputs.url }}/pr/${{ github.event.number }}/multipage .
23 changes: 0 additions & 23 deletions .github/workflows/preview-build.yml

This file was deleted.

Loading