Technical Documentation: tc39/proposals
ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference
Overview (`README.md`)
[ECMAScript](https://github.com/tc39/ecma262) proposals
ECMAScript Internationalization API Specification 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
Stage 2.7
Stage 2
| Proposal | Author | Champion | Stage 2.7 reviewers | Meeting Notes |
|---|---|---|---|---|
function.sent metaproperty |
Allen Wirfs-Brock | Daniel EhrenbergDomenic Denicola | -2026-01 -2026‑01 -2024‑06 -2022‑06 -2019‑07 -2018‑03 -2015‑11 -2015‑11 | |
throw expressions |
Ron Buckton | Ron Buckton | Nicolò Ribaudo | -2024‑06 -2024‑02 -2023‑09 -2023‑09 -2023‑07 -2018‑01 -2017‑11 -2017‑09 -2017‑07 |
| Function implementation hiding | Domenic DenicolaMichael Ficarra | Michael Ficarra | Yehuda KatzWaldemar HorwatMike Samuel | -2026‑01 -2024‑06 -2023‑07 -2020‑06 -2019‑12 -2019‑07 -2018‑05 |
| collection normalization | Bradley Farias | Michael FicarraAshley ClaymoreJordan Harband | -2026‑01 -2021‑03 -2019‑07 -2019‑01 | |
| Module Expressions | SurmaDaniel EhrenbergNicolò Ribaudo | SurmaNicolò Ribaudo | Leo BalterGuy BedfordMathieu HofmanJordan Harband | -2022‑11 |
| Pipeline Operator | J. S. ChoiJames DiGioiaRon BucktonTab Atkins | J. S. ChoiRon BucktonTab Atkins | Ross KirslingChristian Ulbrich | -2026‑01 -2023‑07 -2022‑03 -2022‑01 -2021‑08 -2021‑03 -2018‑03 -2017‑11 -2017‑09 |
| Destructure Private Fields | Justin Ridgewell | Kevin Gibbons | Robin RicardWaldemar HorwatSarah Groff Hennigh-PalermoJordan HarbandSergey Rubanov | -2026‑01 -2023‑07 -2021‑12 |
| String.dedent | Misha KaletskyHemanth HMJustin Ridgewell | Hemanth HMJustin Ridgewell | Robin RicardJordan HarbandMark CohenSarah Groff Hennigh-Palermo | -2026‑01 -2022‑11 -2022‑09 -2022‑06 -2020‑09 |
| Module Declarations | Daniel EhrenbergNicolò Ribaudo | Mark MillerNicolò Ribaudo | Richard GibsonGuy Bedford | -2022‑11 |
| Symbol Predicates | Robin RicardJordan Harband | Ashley ClaymoreJordan Harband | Daniel MinorNicolò RibaudoMathieu Hofman | -2026‑01 -2023‑09 -2023‑05 -2023‑01 -2022‑07 |
| Async Iterator helpers | Gus Caplan | Michael FicarraJonathan KeslinKevin Gibbons | Richard GibsonYulia StartsevJason Orendorff | -2026‑07 -2026‑07 -2025‑11 -2024‑06 -2023‑09 -2023‑05 |
| Iterator.range | Jack Works | Jack Works | Waldemar HorwatJordan Harband | -2026‑01 -2024‑04 -2023‑03 |
| Async Context | Chengzhong Wu | Andreu BotellaChengzhong WuJustin Ridgewell | James M SnellMark S. Miller | -2026‑05 -2025‑09 -2025‑07 -2025‑05 -2025‑04 -2024‑12 -2024‑10 -2024‑04 -2023‑09 -2023‑05 -2023‑03 -2023‑02 -2020‑07 -2020‑06 |
"Discard" (void) Bindings |
Ron Buckton | Ron Buckton | Ashley ClaymoreOliver Medhurst | -2026‑01 -2024‑10 -2024‑10 -2024‑06 -2024‑04 -2024‑02 |
| Propagate active ScriptOrModule with JobCallback Record | Chengzhong Wu | Chengzhong Wu | Nicolò RibaudoChris de Almeida | -2026‑01 -2024‑07 |
| Structs: Fixed Layout Objects and Some Synchronization Primitives | Shu-yu Guo | Shu-yu Guo | Mark MillerWaldemar HorwatYulia StartsevNicolò Ribaudo | -2024‑10 -2024‑06 -2024‑04 -2024‑02 -2023‑03 |
| Extractors | Ron Buckton | Ron Buckton | Jordan HarbandJustin Ridgewell | -2024‑10 -2024‑04 -2024‑02 |
| SeededPRNG | Tab Atkins | Tab Atkins | Kevin GibbonsJesse AlamaMark Miller | -2025‑05 -2025‑05 |
Math.clamp |
Oliver Medhurst | Oliver Medhurst | Jordan Harband | -2025‑05 -2025‑02 |
| Native Promise Predicate | Mathieu Hofman | Mathieu Hofman | Jordan HarbandJames SnellJustin Ridgewell | -2025‑09 |
Error.captureStackTrace |
Matthew Gaudet | Matthew GaudetDan Minor | Jordan HarbandMichael Ficarra | -2025‑11 -2025‑07 -2025‑02 |
Object.keysLength |
Ruben BridgewaterJordan Harband | Ruben BridgewaterJordan Harband | Eemeli AroJames Snell | -2025‑07 |
| Sync Imports | Guy Bedford | Guy Bedford | Nicolò RibaudoJames Snell | -2026‑01 -2024‑12 |
| Amount | Ben Allen | Ben Allen | Waldemar HorwatJordan Harband | -2026‑07 -2026‑05 -2026‑03 -2025‑11 -2025‑09 -2025‑09 |
| Error code property | James Snell | James Snell | Jordan HarbandRichard Gibson | -2026‑07 -2026‑07 -2026‑03 |
| Fused Multiply-Add | Waldemar Horwat | Waldemar Horwat | Jordan HarbandMichael Ficarra | -2026‑07 |
| Bigint from exponential | Richard Gibson | Richard Gibson | Michael FicarraRuben Bridgewater | -2026‑09 -2026‑07 -2026‑07 |
Composites |
Ashley Claymore | Ashley Claymore | Jordan HarbandMichael FicarraRoss Kirsling | -2026‑09 -2026‑07 -2025‑11 -2025‑11 -2025‑04 |
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:
- Transfer your repository to the @tc39-transfer organization
- if you are a TC39 delegate, but not a member of that organization, please contact @LJHarb
- 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!).
Overview (`ecma402/README.md`)
[ECMAScript Internationalization API Specification](https://github.com/tc39/ecma402) proposals
ECMAScript proposals
Active proposals
Proposals follow this process document.
This list contains only stage 1 proposals and higher that have not yet been withdrawn/rejected, or become finished.
Stage 3
| Proposal | Author | Champion | Test262 Feature Flag | Meeting Notes |
|---|---|---|---|---|
| Keep trailing zeros in Intl.NumberFormat and Intl.PluralRules | Eemeli Aro | Eemeli Aro | Intl.NumberFormat-v3 | -2026-05 -2026‑03 -2025‑11 -2025‑07 -2025‑05 |
Stage 2.7
| Proposal | Author | Champion | Test262 Feature Flag | Meeting Notes |
|---|
Stage 2
| Proposal | Author | Champion | Stage 2.7 reviewers | Meeting Notes |
|---|---|---|---|---|
eraDisplay option for Intl.DateTimeFormat |
Louis-Aime | Shane Carr, Louis-Aime | Eemeli AroDaniel Minor | -2022‑11 -2021‑01 |
| More Currency Display Choices | Eemeli Aro | Eemeli Aro | Jordan HarbandNicolò Ribaudo | -2024‑12 |
Stage 1
| Proposal | Author | Champion | Meeting Notes |
|---|---|---|---|
| Smart Unit Preferences in Intl.NumberFormat | Younies Mahmoud | Younies Mahmoud | -2024‑10 -2024‑06 -2020‑06 |
| Intl LocaleMatcher | Long Ho | Shane Carr, Long Ho | -2021‑01 |
Intl.Segmenter v2 |
Frank Yung-Fong Tang | Frank Yung-Fong Tang | -2022‑01 -2021‑12 |
Intl.MessageFormat |
Eemeli Aro | Eemeli Aro | -2024‑06 -2024‑04 -2024‑02 -2024‑02 -2023‑09 -2022‑03 |
Intl.MessageResource |
Eemeli Aro | Eemeli Aro | -2022‑11 |
| Intl.ZonedDateTimeFormat | Frank Yung-Fong Tang | Frank Yung-Fong Tang | -2023‑05 |
| explore associating a unit with a number | Shane Carr | Shane Carr | -2025‑11 |
| [Stable Formatting] stable-formatting | Eemeli Aro | Eemeli Aro | -2023‑09 -2025‑02 -2026‑05 |
| Default Behaviours for some Intl APIs | Eemeli Aro | Eemeli Aro | -2026‑05 |
| Intl Sequence Units | Shane Carr | Shane Carr | -2026‑07 -2026‑05 |
| Intl Energy Units | Johan Røed | Nicolò Ribaudo, Shane Carr | -2026‑03 -2025‑11 |
| Intl.DateTimeFormat Alignment With Other Standards | Eemeli Aro | Eemeli Aro | -2026‑07 |
Contributing new proposals
Please see Contributing to ECMAScript for the most up-to-date information on contributing proposals to this standard.
Onboarding existing 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 that lives outside the TC39 organization:
- Transfer your repository to the @tc39-transfer organization
- if you are a TC39 delegate, but not an admin in that organization, please contact @LJHarb
- @bterlson, @gesa, or @codehag 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!).
--- METRICS ---
- Files Extracted: 2
- Estimated Token Budget: ~22037 tokens
- Canonical Reference: https://codewiki.google/github.com/tc39/proposals