ECMAScript proposals
ECMAScript Internationalization API Specification proposals
Contributing new proposals
Please see Contributing to ECMAScript for the most up-to-date information on contributing proposals to this standard.
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 Miller Claude Pache |
legacy-regexp | May 2017 |
Atomics.waitAsync |
Lars Hansen | Shu-yu Guo Lars Hansen |
Atomics.waitAsync | December 2019 |
JSON Modules | Myles Borins Sven Sauleau Dan Clark Daniel Ehrenberg |
Myles Borins Sven Sauleau Dan Clark Daniel Ehrenberg |
json-modules | January 2021 |
Temporal | Philipp Dunkel Maggie Johnson-Pint Matt Johnson-Pint Brian Terlson Shane Carr Ujjwal Sharma Philip Chimento Jason Williams Justin Grant |
Philipp Dunkel Maggie Johnson-Pint Matt Johnson-Pint Brian Terlson Shane Carr Ujjwal Sharma Philip Chimento Jason Williams Justin Grant |
Temporal | March 2021 |
Resizable and growable ArrayBuffers | Shu-yu Guo | Shu-yu Guo | resizable-arraybuffer | May 2021 |
ShadowRealm | Caridy Patiño Jean-Francois Paradis |
Dave Herman Mark Miller Caridy Patiño Leo Balter Rick Waldron Chengzhong Wu |
ShadowRealm | December 2021 |
Array Grouping | Justin Ridgewell | Justin Ridgewell | array-grouping | December 2021 |
Decorators | Daniel Ehrenberg Chris Garrett |
Chris Garrett | decorators | March 2022 |
RegExp v flag with set notation + properties of strings | Markus Scherer Mathias Bynens |
Mathias Bynens | regexp-v-flag | March 2022 |
JSON.parse source text access | Richard Gibson | Richard Gibson | ❓ | June 2022 |
RegExp Modifiers | Ron Buckton | Ron Buckton | ❓ | June 2022 |
Duplicate named capture groups | Kevin Gibbons | Kevin Gibbons | regexp-duplicate-named-groups | July 2022 |
Array.fromAsync |
J.S. Choi | J.S. Choi | Array.fromAsync | September 2022 |
New Set methods | Michał Wadas Sathya Gunasekaran Kevin Gibbons |
Kevin Gibbons | ❓ | November 2022 |
Well-Formed Unicode Strings | Guy Bedford Bradley Farias |
Guy Bedford Bradley Farias Michael Ficarra |
String.prototype.{is,to}WellFormed | November 2022 |
Sync Iterator helpers | Gus Caplan | Michael Ficarra Jonathan Keslin Kevin Gibbons |
❓ (see outdated) | November 2022 |
Explicit Resource Management | Ron Buckton | Ron Buckton | ❓ | November 2022 |
ArrayBuffer transfer | Shu-yu Guo Jordan Harband Yagiz Nizipli |
Shu-yu Guo Jordan Harband Yagiz Nizipli |
arraybuffer-transfer | January 2023 |
Stage 2
Proposal | Author | Champion | Last Presented |
---|---|---|---|
function.sent metaproperty |
Allen Wirfs-Brock | HE Shi-Jun | July 2019 |
throw expressions |
Ron Buckton | Ron Buckton | January 2018 |
Function implementation hiding | Domenic Denicola Michael Ficarra |
Michael Ficarra | June 2020 |
Sequence properties in Unicode property escapes | Mathias Bynens | Mathias Bynens | October 2019 |
collection normalization | Bradley Farias | Bradley Farias | January 2019 |
Array.isTemplateObject | Mike Samuel, Krzysztof Kotowicz | Krzysztof Kotowicz | December 2019 |
Async Explicit Resource Management | Ron Buckton | Ron Buckton | November 2022 |
Map.prototype.emplace |
Bradley Farias | Erica Pramer | July 2020 |
Dynamic Import Host Adjustment | Mike Samuel, Krzysztof Kotowicz | Krzysztof Kotowicz | December 2019 |
WeakRefs cleanupSome |
Yulia Startsev Daniel Ehrenberg |
Yulia Startsev Daniel Ehrenberg |
July 2020 |
Record & Tuple | Robin Ricard Richard Button |
Robin Ricard Richard Button |
December 2021 |
Module Expressions | Surma Daniel Ehrenberg Nicolò Ribaudo |
Surma Nicolò Ribaudo |
November 2022 |
Pipeline Operator | J. S. Choi James DiGioia Ron Buckton Tab Atkins |
J. S. Choi Ron Buckton Tab Atkins |
August 2021 |
Destructure Private Fields | Justin Ridgewell | Justin Ridgewell | December 2021 |
RegExp Buffer Boundaries (\A , \z , \Z ) |
Ron Buckton | Ron Buckton | December 2021 |
Decorator Metadata | Chris Garrett | Chris Garrett | March 2022 |
String.dedent | Misha Kaletsky Hemanth HM Justin Ridgewell |
Hemanth HM Justin Ridgewell |
June 2022 |
Import Reflection | Luca Casonato | Guy Bedford Luca Casonato |
November 2022 |
JSON.parseImmutable | Robin Ricard Richard Button Nicolò Ribaudo Ashley Claymore |
Robin Ricard Richard Button Nicolò Ribaudo Ashley Claymore |
July 2022 |
Module Declarations | Daniel Ehrenberg Nicolò Ribaudo |
Daniel Ehrenberg Mark Miller Nicolò Ribaudo |
November 2022 |
Symbol Predicates | Robin Ricard Jordan Harband |
Ashley Claymore Jordan Harband |
January 2023 |
Import Assertions | Myles Borins Sven Sauleau Dan Clark Daniel Ehrenberg |
Sven Sauleau Dan Clark Daniel Ehrenberg Nicolò Ribaudo |
January 2023 |
Async Iterator helpers | Gus Caplan | Michael Ficarra Jonathan Keslin Kevin Gibbons |
January 2023 |
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.
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 a member of that organization, please contact @LJHarb
- One of the chairs (@bterlson, @gesa, @MylesBorins, or @robpalme) 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!).