Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
314 commits
Select commit Hold shift + click to select a range
574f475
Editorial: Add `Iterator` to global object properties (#3456)
linusg Oct 24, 2024
8657afd
Meta: remove `LengthOfArrayLike` from esmeta-ignore.json
michaelficarra Oct 25, 2024
cbd470f
Editorial: Using non-negative integral Number insted of integral Numb…
tmdghks Oct 25, 2024
1cf48d1
Editorial: Fix typo in FinalizationRegistry global property link id (…
linusg Oct 31, 2024
d0e5feb
Editorial: fix linking and change spelling of iterator interfaces (#3…
michaelficarra Oct 31, 2024
4c44bbe
Editorial: eliminate extra verbosity with %GeneratorPrototype% refs (…
michaelficarra Oct 31, 2024
1cc4d4b
Normative: allow duplicate named capture groups (#2721)
bakkot Nov 8, 2024
616b8c9
Editorial: Allow ACs in Async{Function,Block}Start (#3452)
syg Nov 8, 2024
473cae9
Editorial: Change "the String value" to "the value" in a Note (#3454)
jmdyck Nov 8, 2024
d27161d
Editorial: Change "Yield" to "GeneratorYield" in two Note-steps (#3454)
jmdyck Nov 8, 2024
e887590
Editorial: Fix CreateListFromArrayLike preamble (#3454)
jmdyck Nov 8, 2024
c4dc43c
Editorial: Fix `Promise.try` preamble (#3454)
jmdyck Nov 8, 2024
0f2e04e
Editorial: Fix two simple typos (#3454)
jmdyck Nov 8, 2024
6adf64a
Editorial: Assert that Evaluation in JSON.parse does not throw (#3394)
nicolo-ribaudo Nov 15, 2024
284c7a0
Meta: bump ecmarkup to v20.0.0 (#3476)
michaelficarra Nov 15, 2024
5881c1f
Editorial: Fix typo (#3477)
OnlyWick Nov 15, 2024
0b6c5f1
Meta: ensure the IPR check runs on the PR head, not main (#3480)
ljharb Nov 16, 2024
35af909
Editorial: Fixed return types of algorithms returning ~empty~ (#2924)
jhnaldo Nov 21, 2024
c1040ff
Normative: Return false in [[PreventExtensions]] for variable length …
syg Nov 21, 2024
ddd7360
Meta: Upgrade ESMeta to v0.5.0 (#3487)
kimjg1119 Nov 21, 2024
cf5938e
Editorial: Add an assertion for privateEnv (#3485)
kimjg1119 Nov 21, 2024
3e6f71c
Editorial: Move getting the TA type inside the RMW function (#3499)
syg Nov 26, 2024
4b3dbbf
Markup: add an ID to the "property key" dfn (#3501)
michaelficarra Dec 11, 2024
effe5f6
Meta: Upgrade ESMeta to v0.5.1 (#3508)
jhnaldo Dec 18, 2024
49d6d45
Editorial: GlobalObject cannot be undefined in the GetGlobalObject (#…
kimjg1119 Dec 18, 2024
38f68d7
Editorial: Add assertion for built-in function object (#3483)
kimjg1119 Dec 18, 2024
6298ee1
Editorial: Remove empty from GetModuleNamespace (#3484)
kimjg1119 Dec 19, 2024
b2a5b67
Editorial: use suspended-start instead of undefined in AsyncGenerator…
kimjg1119 Dec 19, 2024
c404297
Editorial: ProxyTarget is always a function object in GetFunctionReal…
kimjg1119 Dec 19, 2024
fe206cd
Editorial: fix IteratorClose call in %IteratorHelperPrototype%.return…
bakkot Jan 8, 2025
29699df
Editorial: clarify that Map/Set do not literally use SameValueZero (#…
bakkot Jan 8, 2025
5b1b2a4
Editorial: more explicit handling of [[PromiseResult]] (#3491)
bakkot Jan 8, 2025
bcef8ef
Editorial: replace two stray references to State with MatchState (#3503)
bakkot Jan 8, 2025
a13104d
Editorial: replace MatchResult with its definition (#3503)
bakkot Jan 8, 2025
10cc1b7
Editorial: Don't set [[GlobalEnv]] to undefined temporarily (#3511)
linusg Jan 8, 2025
f55b180
Normative: Add RegExp Modifiers (#3221)
rbuckton Jan 9, 2025
519149d
Editorial: Narrowing an assertion in SuperCall: super Arguments (#3466)
kimjg1119 Jan 16, 2025
e645d2c
Editorial: Add [[ImportName]] assertion for non-direct binding cases …
kimjg1119 Jan 16, 2025
1f6ac07
Editorial: Allocate-and-use in MakeMatchIndicesIndexPairArray for ref…
kimjg1119 Jan 16, 2025
9574c50
Editorial: When zero bounds a Number range, always use `< -0𝔽` or `> …
gibson042 Jan 16, 2025
0d1e2a8
Editorial: Consolidate static bounds checking in IsValidIntegerIndex …
gibson042 Jan 16, 2025
f2eff8d
Editorial: Clean up StringGetOwnProperty (#3523)
gibson042 Jan 16, 2025
df1c3cc
Editorial: Add assertion that generatorKind is not non-generator (#3379)
d01c2 Jan 23, 2025
810a33f
Editorial: consistency around how we refer to GlobalSymbolRegistry st…
bakkot Jan 23, 2025
abbb649
Meta: update upload-artifact action prior to deprecation (#3506)
ljharb Feb 4, 2025
7ff54a8
Editorial: make single-implementation concrete methods into abstract …
bakkot Feb 18, 2025
75f1523
Editorial: simplify AsyncGeneratorDrainQueue (#3411)
bakkot Feb 18, 2025
3e58c90
Editorial: Consistify capitalization re iterator wording (#3469)
jmdyck Feb 18, 2025
8f1812e
Meta: adapt to actions/github-script breaking changes in v5
ljharb Feb 18, 2025
0f3de74
Editorial: Store ToString(𝔽(k)) in a variable for consistency (#3531)
yossydev Feb 18, 2025
4e3450e
Normative: Add Import Attributes proposal (#3057)
nicolo-ribaudo Feb 19, 2025
3feb1ba
Normative: Add JSON modules (#3391)
nicolo-ribaudo Feb 19, 2025
0b913e9
Editorial: Fix typos and phrasing in slot descriptions (#3536)
gibson042 Feb 19, 2025
ff129b1
Normative: Close sync iterator when async wrapper yields rejection (#…
mhofman Feb 27, 2025
ed75310
Normative: Remove [[VarNames]] from the global (#3226)
syg Feb 27, 2025
e2da759
Normative: add `RegExp.escape` (#3382)
ljharb Feb 27, 2025
9552f29
Normative: iterator-producing helpers close receiver on argument vali…
bakkot Feb 27, 2025
f2bad00
Normative: consuming helpers close receiver on argument validation fa…
bakkot Feb 27, 2025
d430ace
Normative: add Float16Array and Math.f16round (#3532)
bakkot Feb 27, 2025
d005528
Editorial: Document initial internal slot values at their point of cr…
gibson042 Feb 27, 2025
d06f3a2
Editorial: Change remaining `_c_` to `_cp_` in EncodeForRegExpEscape …
jmdyck Feb 28, 2025
8d92bad
Markup: improvements for printing (#3352)
gesa Mar 6, 2025
547772d
Meta: bump ecmarkup to v21.0.0 (#3352)
bakkot Mar 6, 2025
030dcd6
Editorial: Explicitly track async evaluation order of pending modules…
nicolo-ribaudo Mar 6, 2025
acf67f9
Editorial: rename `v` alias to `view` in DataView.prototype methods (…
michaelficarra Mar 6, 2025
ddae0a9
Editorial: unify NaN phrasing (#3547)
michaelficarra Mar 6, 2025
53a42e6
Editorial: Extract JSON parsing into its own AO (#3540)
nicolo-ribaudo Mar 12, 2025
e42d11d
Markup: consistent spacing for method signatures in tables (#3549)
bakkot Mar 19, 2025
c828627
Editorial: Put module concrete methods in their own emu-clauses (#3541)
nicolo-ribaudo Mar 26, 2025
4172303
Markup: Add print styles for slashed corner cell (#3550)
gesa Mar 31, 2025
0ebab55
Meta: bump ecmarkup to v21.2.0 (#3553)
bakkot Mar 31, 2025
654c3f5
Markup: more slashed corner cells (#3554)
bakkot Mar 31, 2025
5117d4f
Editorial: Describe changes in ES2025 (#3552)
bakkot Mar 31, 2025
ab26103
Editorial: bump editor edition numbers from #3552
ljharb Apr 1, 2025
dd4300d
Editorial: main is now ES2026
bakkot Apr 1, 2025
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
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 }}
116 changes: 116 additions & 0 deletions .github/workflows/pr-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
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: 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
- 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