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 |
Float16 on TypedArrays, DataView, Math.f16round | Leo Balter | Leo BalterKevin Gibbons | Float16Array | May 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 | Nicolo Ribaudo | Krzysztof KotowiczMike SamuelNicolo Ribaudo | ❓ | April 2024 |
Redeclarable global eval-introduced vars | Shu-yu Guo | Shu-yu Guo | Testing plan | April 2024 |
RegExp.escape | Domenic DenicolaBenjamin GruenbaumJordan Harband | Jordan HarbandKevin Gibbons | Testing plan | July 2024 |
Atomics.pause | Shu-yu Guo | Shu-yu Guo | Atomics.pause | 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 |
Math.sumPrecise | Kevin Gibbons | Kevin Gibbons | Math.sumPrecise testing plan | April 2024 |
Deferring Module Evaluation | Yulia StartsevGuy Bedford | Yulia StartsevGuy BedfordNicolò Ribaudo | Testing plan | June 2024 |
Joint Iteration | Michael Ficarra | Michael Ficarra | Testing plan | June 2024 |
Iterator Sequencing | Michael Ficarra | Michael Ficarra | ❓ | October 2024 |
Error.isError | Jordan Harband | Jordan Harband | ❓ | October 2024 |
Stage 2
Proposal | Author | Champion | 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 |
Map.prototype.emplace | Bradley Farias | Erica Pramer | July 2020 |
Dynamic Import Host Adjustment | Mike Samuel, Krzysztof Kotowicz | Krzysztof Kotowicz | December 2019 |
Record & Tuple | Robin RicardRichard Button | Robin RicardRichard Button | April 2024 |
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 | January 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 | April 2024 |
ESM Phase Imports | Luca CasonatoGuy Bedford | Luca CasonatoGuy Bedford | June 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 | October 2024 |
Extractors | Ron Buckton | Ron Buckton | October 2024 |
iterator chunking | Michael Ficarra | Michael Ficarra | October 2024 |
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!).