GitHub - tc39/proposals: Tracking ECMAScript Proposals (original) (raw)
ECMAScript 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
Proposal | Author | Champion | Test262 Feature Flag | Last Presented |
---|---|---|---|---|
Legacy RegExp features in JavaScript | Claude Pache | Mark MillerClaude Pache | legacy-regexp | May 2017 |
Temporal | Philipp DunkelMaggie Johnson-PintMatt Johnson-PintBrian TerlsonShane CarrUjjwal SharmaPhilip ChimentoJason WilliamsJustin Grant | Philipp DunkelMaggie Johnson-PintMatt Johnson-PintBrian TerlsonShane CarrUjjwal SharmaPhilip ChimentoJason WilliamsJustin Grant | Temporal testing plan | July 2024 |
Decorators | Daniel EhrenbergKristen Hewell Garrett | Kristen Hewell Garrett | decorators testing plan | March 2023 |
JSON.parse source text access | Richard Gibson | Richard Gibson | json-parse-with-source testing plan | January 2023 |
Array.fromAsync | J.S. Choi | J.S. Choi | Array.fromAsync | May 2023 |
Explicit Resource Management | Ron Buckton | Ron Buckton | explicit-resource-management | March 2023 |
Decorator Metadata | Kristen Hewell Garrett | Kristen Hewell Garrett | decorator-metadata | May 2023 |
Source Phase Imports | Luca Casonato | Guy BedfordLuca Casonato | source-phase-imports | July 2023 |
Time Zone Canonicalization | Justin Grant | Justin GrantRichard Gibson | Temporal.TimeZone | July 2023 |
Uint8Array to/from Base64 | Kevin Gibbons | Kevin Gibbons | uint8array-base64 | February 2024 |
Dynamic Code Brand Checks | Nicolò Ribaudo | Krzysztof KotowiczMike SamuelNicolò Ribaudo | ❓ | April 2024 |
Redeclarable global eval-introduced vars | Shu-yu Guo | Shu-yu Guo | Testing plan | April 2024 |
Atomics.pause | Shu-yu Guo | Shu-yu Guo | Atomics.pause | October 2024 |
Error.isError | Jordan Harband | Jordan Harband | Error.isError | December 2024 |
Deferring Module Evaluation | Yulia StartsevGuy Bedford | Yulia StartsevGuy BedfordNicolò Ribaudo | Testing plan | February 2025 |
Math.sumPrecise | Kevin Gibbons | Kevin Gibbons | Math.sumPrecise | October 2024 |
Stage 2.7
Proposal | Author | Champion | Test262 Feature Flag | Last Presented |
---|---|---|---|---|
ShadowRealm | Caridy PatiñoJean-Francois Paradis | Dave HermanMark MillerCaridy PatiñoLeo BalterRick WaldronChengzhong Wu | ShadowRealm | February 2024 |
Joint Iteration | Michael Ficarra | Michael Ficarra | Testing plan | June 2024 |
Iterator Sequencing | Michael Ficarra | Michael Ficarra | ❓ | October 2024 |
ESM Phase Imports | Luca CasonatoGuy Bedford | Luca CasonatoGuy Bedford | ❓ | December 2024 |
Immutable ArrayBuffers | Mark MillerPeter HoddieRichard GibsonJack Works | Mark MillerPeter HoddieRichard GibsonJack Works | ❓ | February 2025 |
Non-extensible Applies to Private | Mark MillerShu-yu GuoChip MorningstarErik Marks | Mark MillerShu-yu GuoChip MorningstarErik Marks | ❓ | April 2025 |
Upsert | Daniel Minor, Lauritz Thoresen Angeltveit, Jonas Haukenes, Sune Lianes, Vetle Larsen, Mathias Hop Ness | Daniel Minor | Testing plan | April 2025 |
Stage 2
Proposal | Author | Champion | Stage 2.7 reviewers | Last Presented |
---|---|---|---|---|
function.sent metaproperty | Allen Wirfs-Brock | HE Shi-Jun | July 2019 | |
throw expressions | Ron Buckton | Ron Buckton | February 2024 | |
Function implementation hiding | Domenic DenicolaMichael Ficarra | Michael Ficarra | June 2020 | |
collection normalization | Bradley Farias | Bradley Farias | January 2019 | |
isTemplateObject | Mike Samuel, Krzysztof Kotowicz | Daniel EhrenbergJordan Harband | April 2024 | |
Dynamic Import Host Adjustment | Mike Samuel, Krzysztof Kotowicz | Krzysztof Kotowicz | December 2019 | |
Module Expressions | SurmaDaniel EhrenbergNicolò Ribaudo | SurmaNicolò Ribaudo | November 2022 | |
Pipeline Operator | J. S. ChoiJames DiGioiaRon BucktonTab Atkins | J. S. ChoiRon BucktonTab Atkins | August 2021 | |
Destructure Private Fields | Justin Ridgewell | Justin Ridgewell | December 2021 | |
RegExp Buffer Boundaries (\A, \z, \Z) | Ron Buckton | Ron Buckton | December 2021 | |
String.dedent | Misha KaletskyHemanth HMJustin Ridgewell | Hemanth HMJustin Ridgewell | June 2022 | |
JSON.parseImmutable | Robin RicardRichard ButtonNicolò RibaudoAshley Claymore | Robin RicardRichard ButtonNicolò RibaudoAshley Claymore | July 2022 | |
Module Declarations | Daniel EhrenbergNicolò Ribaudo | Daniel EhrenbergMark MillerNicolò Ribaudo | November 2022 | |
Symbol Predicates | Robin RicardJordan Harband | Ashley ClaymoreJordan Harband | May 2023 | |
Async Iterator helpers | Gus Caplan | Michael FicarraJonathan KeslinKevin Gibbons | June 2024 | |
Iterator.range | Jack Works | Jack Works | April 2024 | |
Async Context | Chengzhong Wu | Andreu BotellaChengzhong WuJustin Ridgewell | James M SnellMark S. Miller | April 2024 |
"Discard" (void) Bindings | Ron Buckton | Ron Buckton | June 2024 | |
Propagate active ScriptOrModule with JobCallback Record | Chengzhong Wu | Chengzhong Wu | July 2024 | |
Structs: Fixed Layout Objects and Some Synchronization Primitives | Shu-yu Guo | Shu-yu Guo | Mark MillerWaldemar HorwatYulia StartsevNicolò Ribaudo | October 2024 |
Extractors | Ron Buckton | Ron Buckton | Jordan HarbandJustin Ridgewell | October 2024 |
iterator chunking | Michael Ficarra | Michael Ficarra | Ashley ClaymoreJordan HarbandJesse Alama | October 2024 |
Error Stack Accessor | Jordan Harband | Jordan HarbandMark Miller | Nicolò RibaudoMichael Ficarra | February 2025 |
Deferred Re-exports | Nicolò Ribaudo | Nicolò Ribaudo | Chengzhong WuAshley Claymore | April 2025 |
The test262 feature flag links to a code search of tests using that feature flag, which may constitute complete or partial coverage. The ❓ 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!).