back to home

tc39 / proposals

Tracking ECMAScript Proposals

19,062 stars
740 forks
5 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing tc39/proposals in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/tc39/proposals)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

ECMAScript proposals

ECMAScript Internationalization API Specification proposals

Contributing to proposals

Active proposals

Proposals follow this process document. This list contains only stage 2 proposals and higher that have not yet been withdrawn/rejected, or become finished. Stage 2 indicates that the committee expects these features to be developed and eventually included in the standard.

Stage 3

ProposalAuthorChampion<sub>Test262 Feature Flag</sub>Meeting Notes
Legacy RegExp features in JavaScriptClaude PacheMark Miller<br />Claude Pache<sub>legacy-regexp</sub><sub> -2026‑01<br /> -2024‑06<br /> -2017‑05</sub>
TemporalPhilipp Dunkel<br />Maggie Johnson-Pint<br />Matt Johnson-Pint<br />Brian Terlson<br />Shane Carr<br />Ujjwal Sharma<br />Philip Chimento<br />Jason Williams<br />Justin GrantPhilipp Dunkel<br />Maggie Johnson-Pint<br />Matt Johnson-Pint<br />Brian Terlson<br />Shane Carr<br />Ujjwal Sharma<br />Philip Chimento<br />Jason Williams<br />Justin Grant<sub>Temporal testing plan</sub><sub> -2025‑09<br /> -2024‑10<br /> -2024‑02<br /> -2023‑03<br /> -2022‑06<br /> -2021‑03<br /> -2020‑09<br /> -2018‑09</sub>
DecoratorsDaniel Ehrenberg<br />Kristen Hewell GarrettKristen Hewell Garrett<sub>decorators testing plan</sub><sub> -2025‑02<br /> -2023‑05<br /> -2022‑03<br /> -2020‑07<br /> -2019‑10<br /> -2019‑03<br /> -2018‑11<br /> -2016‑09</sub>
Explicit Resource ManagementRon BucktonRon Buckton<sub>explicit-resource-management<sub> -2025‑05<br /> -2024‑06<br /> -2023‑03<br /> -2023‑01<br /> -2022‑12<br /> -2021‑10<br /> -2019‑07<br /> -2018‑07</sub>
Decorator MetadataKristen Hewell GarrettKristen Hewell Garrett<sub>decorator-metadata</sub><sub> -2023‑05</sub>
Source Phase ImportsLuca CasonatoGuy Bedford<br />Luca Casonato<sub>source-phase-imports</sub><sub> -2024‑10<br /> -2023‑07<br /> -2023‑03</sub>
Dynamic Code Brand ChecksNicolo RibaudoKrzysztof Kotowicz<br />Mike Samuel<br />Nicolo Ribaudo<sub>No test262 tests<sub> -2024‑06<br /> -2024‑04<br /> -2021‑01<br /> -2019‑12<br /> -2019‑07</sub>
Atomics.pauseShu-yu GuoShu-yu Guo<sub>Atomics.pause</sub><sub> -2024‑10</sub>
Deferring Module EvaluationYulia Startsev<br />Guy BedfordYulia Startsev<br />Guy Bedford<br />Nicolò Ribaudo<sub>Testing plan</sub><sub> -2025‑02<br /> -2024‑06<br /> -2023‑07<br /> -2021‑01</sub>
Non-extensible Applies to PrivateMark Miller<br />Shu-yu Guo<br />Chip Morningstar<br />Erik MarksMark Miller<br />Shu-yu Guo<br />Chip Morningstar<br />Erik Marks:question:<sub> -2025‑09</sub>
Joint IterationMichael FicarraMichael Ficarra<sub>Testing plan</sub><sub> -2025‑11<br /> -2024‑07</sub>

Stage 2.7

ProposalAuthorChampion<sub>Test262 Feature Flag</sub>Meeting Notes
ShadowRealmCaridy Patiño<br />Jean-Francois ParadisDave Herman<br />Mark Miller<br />Caridy Patiño<br />Leo Balter<br />Rick Waldron<br />Chengzhong Wu<sub>ShadowRealm</sub><sub> -2025‑02<br /> -2024‑12<br /> -2024‑06<br /> -2024‑02<br /> -2023‑11<br /> -2023‑09<br /> -2022‑11<br /> -2022‑09<br /> -2022‑06<br /> -2022‑03<br /> -2021‑12<br /> -2021‑08<br /> -2021‑07<br /> -2021‑05<br /> -2021‑04<br /> -2021‑01<br /> -2020‑11<br /> -2020‑06<br /> -2020‑02<br /> -2018‑07<br /> -2018‑05<br /> -2018‑03<br /> -2017‑03<br /> -2017‑01<br /> -2016‑03<br /> -2015‑05<br /> -2014‑06<br /> -2014‑01</sub>
ESM Phase ImportsLuca Casonato<br />Guy BedfordLuca Casonato<br />Guy Bedford:question:<sub> -2024‑12<br /> -2024‑06<br /> -2024‑02</sub>
Immutable ArrayBuffersMark Miller<br />Peter Hoddie<br />Richard Gibson<br />Jack WorksMark Miller<br />Peter Hoddie<br />Richard Gibson<br />Jack Works:question:<sub> -2025‑07</sub>
iterator chunkingMichael FicarraMichael Ficarra:question:<sub> -2025‑09<br /> -2025‑07<br /> -2025‑05<br /> -2024‑10<br /> -2024‑02</sub>
Import BytesSteven SalatSteven Salat:question:<sub> -2025‑09</sub>
Await DictionaryAlexander J. VincentAshley Claymore<br />Jordan Harband<br />Chris de Almeida:question:<sub> -2025‑11</sub>
Iterator JoinKevin GibbonsKevin Gibbons:question:<sub> -2025‑11</sub>

Stage 2

ProposalAuthorChampionStage 2.7 reviewersMeeting Notes
function.sent metapropertyAllen Wirfs-Brock<sub> -2026-01<br /> -2024‑06<br /> -2022‑06<br /> -2019‑07<br /> -2018‑03<br /> -2015‑11</sub>
throw expressionsRon BucktonRon Buckton<sub> -2024‑02<br /> -2018‑01<br /> -2017‑11<br /> -2017‑09</sub>
Function implementation hidingDomenic Denicola<br />Michael FicarraMichael Ficarra<sub> -2020‑06</sub>
collection normalizationBradley Farias<sub> -2026‑01<br /> -2021‑03<br /> -2019‑01</sub>
isTemplateObjectMike Samuel, Krzysztof KotowiczJordan Harband<sub> -2024‑04</sub>
Dynamic Import Host AdjustmentMike Samuel, Krzysztof KotowiczKrzysztof Kotowicz<sub> -2019‑12</sub>
Module ExpressionsSurma<br />Daniel Ehrenberg<br />Nicolò RibaudoSurma<br />Nicolò Ribaudo<sub> -2022‑11</sub>
Pipeline OperatorJ. S. Choi<br />James DiGioia<br />Ron Buckton<br />Tab AtkinsJ. S. Choi<br />Ron Buckton<br />Tab Atkins<sub> -2022‑03<br /> -2022‑01<br /> -2021‑08<br /> -2018‑03<br /> -2017‑11<br /> -2017‑09</sub>
Destructure Private FieldsJustin Ridgewell<sub> -2021‑12</sub>
RegExp Buffer Boundaries (\A, \z, \Z)Ron BucktonRon Buckton<sub> -2021‑12</sub>
String.dedentMisha Kaletsky<br />Hemanth HM<br />Justin RidgewellHemanth HM<br />Justin Ridgewell<sub> -2022‑06</sub>
JSON.parseImmutableRobin Ricard<br />Richard Button<br />Nicolò Ribaudo<br />Ashley ClaymoreRobin Ricard<br />Richard Button<br />Nicolò Ribaudo<br />Ashley Claymore<sub> -2022‑07</sub>
Module DeclarationsDaniel Ehrenberg<br />Nicolò RibaudoMark Miller<br />Nicolò Ribaudo<sub> -2022‑11</sub>
Symbol PredicatesRobin Ricard<br />Jordan HarbandAshley Claymore<br />Jordan Harband<sub> -2023‑05</sub>
Async Iterator helpersGus CaplanMichael Ficarra<br />Jonathan Keslin<br />Kevin Gibbons<sub> -2025‑11</sub>
Iterator.rangeJack WorksJack Works<sub> -2024‑04</sub>
Async ContextChengzhong WuAndreu Botella<br />Chengzhong Wu<br />Justin RidgewellJames M Snell<br />Mark S. Miller<sub> -2025‑09<br /> -2025‑04<br /> -2024‑10<br /> -2023‑03<br /> -2023‑02</sub>
"Discard" (void) BindingsRon BucktonRon Buckton<sub> -2024‑06</sub>
Propagate active ScriptOrModule with JobCallback RecordChengzhong WuChengzhong Wu<sub> -2024‑07</sub>
Structs: Fixed Layout Objects and Some Synchronization PrimitivesShu-yu GuoShu-yu GuoMark Miller<br />Waldemar Horwat<br />Yulia Startsev<br />Nicolò Ribaudo<sub> -2024‑10</sub>
ExtractorsRon BucktonRon BucktonJordan Harband<br />Justin Ridgewell<sub> -2024‑10</sub>
Error Stack AccessorJordan HarbandJordan Harband<br />Mark MillerNicolò Ribaudo<br />Michael Ficarra<sub> -2025‑11</sub>
Deferred Re-exportsNicolò RibaudoNicolò RibaudoChengzhong Wu<br />Ashley Claymore<br />Guy Bedford<sub> -2025‑04</sub>
SeededPRNGTab AtkinsTab AtkinsKevin Gibbons<br />Jesse Alama<br />Mark Miller<sub> -2025‑05</sub>
Math.clampOliver MedhurstOliver Medhurst<sub> -2025‑05</sub>
Native Promise PredicateMathieu HofmanMathieu HofmanJordan Harband<br />James Snell<br />Justin Ridgewell<sub> -2025‑09</sub>
Error.captureStackTraceMatthew GaudetMatthew Gaudet<br />Dan MinorJordan Harband<br />Michael Ficarra<sub> -2025‑02</sub>
Import TextEemeli AroEemeli AroJordan Harband<br />Nicolò Ribaudo<sub> -2025‑11</sub>
Object.keysLengthRuben Bridgewater<br />Jordan HarbandRuben Bridgewater<br />Jordan HarbandEemeli Aro<br />James Snell<sub> -2025‑07</sub>
Sync ImportsGuy BedfordGuy BedfordNicolò Ribaudo<br />James Snell<sub> -2026‑01</sub>

The test262 feature flag links to a code search of tests using that feature flag, which may constitute complete or partial coverage. The :question: means there is no feature flag for tests yet.

Contributing to proposals

See Contributing to ECMAScript and How We Work for the most up-to-date information on contributing to proposals to TC39 standards and how proposals advance.

Onboarding proposals

Proposals that are Stage 1 and above must be transferred to the TC39 GitHub organization for discoverability and archival purposes. To onboard a proposal:

  1. Transfer your repository to the @tc39-transfer organization
    • if you are a TC39 delegate, but not a member of that organization, please contact @LJHarb
  2. The Github Administrator, or one of the chairs, will transfer your repository to the TC39 organization the next chance they get.

Note that as part of the onboarding process your repository name may be normalized. Don't worry, repo redirects will continue to work as long as you never create a fork, or a new repository, with the same name - although Github Pages redirects will be broken (please update your links!).