Finished proposals are proposals that have reached stage 4, and are (or soon will be) included in the latest draft of the specification.
| Proposal | Author | Champion(s) | Meeting Notes | Expected Publication Year |
|---|---|---|---|---|
| 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 |
-2025‑09 -2024‑10 -2024‑02 -2023‑03 -2022‑06 -2021‑03 -2020‑09 -2018‑09 |
2027 |
Upsert |
Daniel Minor Lauritz Thoresen Angeltveit Jonas Haukenes Sune Lianes Vetle Larsen Mathias Hop Ness |
Daniel Minor | -2026‑01 -2025‑07 -2025‑04 -2024‑12 -2024‑10 -2020‑07 -2019‑10 |
2026 |
| JSON.parse source text access | Richard Gibson | Richard Gibson | -2025‑11 -2023‑09 -2023‑01 -2022‑06 -2021‑10 -2020‑07 -2018‑09 |
2026 |
| Iterator Sequencing | Michael Ficarra | Michael Ficarra | -2025‑11 -2025‑07 -2025‑05 -2024‑12 -2024‑10 -2024‑06 -2024‑02 -2023‑11 -2023‑09 |
2026 |
| Uint8Array to/from Base64 | Kevin Gibbons | Kevin Gibbons | -2025‑07 -2024‑06 -2024‑02 -2023‑11 -2023‑09 -2023‑07 -2023‑05 -2021‑07 |
2026 |
Math.sumPrecise |
Kevin Gibbons | Kevin Gibbons | -2025‑07 -2024‑10 -2024‑04 -2024‑02 -2023‑11 |
2026 |
Error.isError |
Jordan Harband | Jordan Harband | -2025‑05 -2024‑12 -2024‑10 -2024‑07 -2024‑06 -2024‑04 -2016‑03 |
2026 |
Array.fromAsync |
J.S. Choi | J.S. Choi | -2025‑05 -2025‑04 -2023‑05 -2022‑09 -2022‑01 -2021‑12 -2021‑10 -2021‑08 |
2026 |
RegExp.escape |
Domenic Denicola Benjamin Gruenbaum Jordan Harband |
Jordan Harband Kevin Gibbons |
-2025‑02 -2024‑07 -2024‑04 -2024‑02 -2023‑09 -2021‑01 -2015‑07 |
2025 |
Redeclarable global eval-introduced vars |
Shu-yu Guo | Shu-yu Guo | -2025‑02 -2024‑04 |
2025 |
Float16 on TypedArrays, DataView, Math.f16round |
Leo Balter | Leo Balter Kevin Gibbons |
-2025‑02 -2023‑05 -2023‑03 -2017‑05 |
2025 |
Promise.try |
Jordan Harband | Jordan Harband | -2024‑10 -2024‑06 -2024‑04 -2024‑02 -2016‑11 |
2025 |
| Sync Iterator helpers | Gus Caplan | Michael Ficarra Jonathan Keslin Kevin Gibbons |
-2024‑10 -2024‑12 -2023‑11 -2023‑07 -2023‑05 [2] -2023‑03 -2022‑11 -2022‑09 -2022‑07 -2021‑08 -2020‑07 -2020‑06 -2019‑01 |
2025 |
| JSON Modules | Myles Borins Sven Sauleau Dan Clark Daniel Ehrenberg |
Myles Borins Sven Sauleau Dan Clark Daniel Ehrenberg |
-2024‑10 -2024‑06 -2023‑07 -2021‑01 [2] -2020‑11 [2] -2020‑09 -2020‑07 |
2025 |
| Import Attributes | Myles Borins Sven Sauleau Dan Clark Daniel Ehrenberg |
Sven Sauleau Dan Clark Daniel Ehrenberg Nicolò Ribaudo |
-2024‑10 -2024‑07 -2023‑09 -2023‑07 -2023‑03 -2020‑06 [2] -2020‑02 -2019‑12 [2] |
2025 |
| RegExp Modifiers | Ron Buckton | Ron Buckton | -2024‑10 -2023‑11 -2023‑07 -2022‑06 -2021‑12 -2021‑10 |
2025 |
| New Set methods | Michał Wadas Sathya Gunasekaran Kevin Gibbons |
Kevin Gibbons | -2024‑04 -2024‑02 -2023‑07 -2023‑03 -2022‑11 -2022‑09 -2022‑07 -2019‑01 -2018‑05 |
2025 |
| Duplicate named capture groups | Kevin Gibbons | Kevin Gibbons | -2024‑04 -2023‑07 -2022‑06 [2] |
2025 |
| ArrayBuffer transfer | Shu-yu Guo Jordan Harband Yagiz Nizipli |
Shu-yu Guo Jordan Harband Yagiz Nizipli |
-2024‑02 -2023‑01 -2018‑07 |
2024 |
Promise.withResolvers |
Peter Klecha | Peter Klecha | -2023‑11 -2023‑07 -2023‑05 -2023‑03 |
2024 |
| Array Grouping | Justin Ridgewell | Justin Ridgewell Jordan Harband |
-2023‑11 -2023‑01 -2021‑07 |
2024 |
| Resizable and growable ArrayBuffers | Shu-yu Guo | Shu-yu Guo | -2023‑09 -2022‑03 -2021‑01 -2020‑09 -2020‑07 |
2024 |
| RegExp v flag with set notation + properties of strings | Markus Scherer Mathias Bynens |
Mathias Bynens | -2023‑05 -2022‑09 |
2024 |
Atomics.waitAsync |
Lars Hansen | Shu-yu Guo Lars Hansen |
-2023‑05 -2020‑03 -2019‑12 -2017‑09 |
2024 |
| Well-Formed Unicode Strings | Guy Bedford Bradley Farias |
Guy Bedford Bradley Farias Michael Ficarra |
-2023‑05 -2022‑09 |
2024 |
| Change Array by Copy | Ashley Claymore Robin Ricard |
Ashley Claymore Robin Ricard |
-2022‑03 -2022‑07 -2021‑10 |
2023 |
| Symbols as WeakMap keys | Daniel Ehrenberg Richard Button Robin Ricard Leo Balter Rick Waldron Caridy Patiño |
Daniel Ehrenberg Richard Button Robin Ricard Leo Balter Rick Waldron Caridy Patiño |
-2023‑01 -2022‑11 -2022‑06 -2021‑12 |
2023 |
| Hashbang Grammar | Bradley Farias | Bradley Farias | -2022‑07 -2018‑03 |
2023 |
| Array find from last | Wenlu Wang | Wenlu Wang Daniel Rosenwasser |
-2022‑06 -2022‑03 -2021‑01 |
2023 |
| Error Cause | Chengzhong Wu | Chengzhong Wu Hemanth HM |
-2021‑10 -2021‑03 -2020‑09 |
2022 |
| Class Static Block | Ron Buckton | Ron Buckton | -2021‑08 -2021‑01 |
2022 |
Accessible Object.prototype.hasOwnProperty |
Jamie Kyle | Tierney Cyren Jamie Kyle |
-2021‑08 -2021‑05 |
2022 |
.at() |
Shu-yu Guo Tab Atkins |
Shu-yu Guo Tab Atkins |
-2021‑08 -2020‑11 -2020‑09 |
2022 |
| Ergonomic brand checks for Private Fields | Jordan Harband | Jordan Harband | -2021‑07 -2021‑04 |
2022 |
Top-level await |
Myles Borins Yulia Startsev Daniel Ehrenberg Guy Bedford Ms2ger |
Myles Borins Yulia Startsev |
-2021‑05 -2019‑06 |
2022 |
| RegExp Match Indices | Ron Buckton | Ron Buckton | -2021‑05 -2021‑04 |
2022 |
| Class Fields (Private instance methods and accessors, Class Public Instance Fields & Private Instance Fields, Static class fields and private static methods) | Daniel Ehrenberg | Daniel Ehrenberg Kevin Gibbons |
-2021‑04 -2021‑01 |
2022 |
| Numeric separators | Sam Goto Rick Waldron |
Sam Goto Rick Waldron Leo Balter |
-2020‑07 -2019‑12 |
2021 |
| Logical Assignment Operators | Justin Ridgewell | Justin Ridgewell Hemanth HM |
-2020‑07 -2020‑03 |
2021 |
| WeakRefs | Dean Tribble Sathya Gunasekaran |
Dean Tribble Mark Miller Till Schneidereit Sathya Gunasekaran Daniel Ehrenberg |
-2020‑07 -2019‑06 |
2021 |
Promise.any |
Mathias Bynens Kevin Gibbons Sergey Rubanov |
Mathias Bynens | -2020‑07 -2020‑02 |
2021 |
String.prototype.replaceAll |
Peter Marshall Jakob Gruber Mathias Bynens |
Mathias Bynens | -2020‑06 -2019‑10 |
2021 |
import.meta |
Domenic Denicola | Gus Caplan | -2020‑03 -2018‑09 |
2020 |
| Nullish coalescing Operator | Gabriel Isenberg | Gabriel Isenberg Justin Ridgewell Daniel Rosenwasser |
-2019‑12 -2019‑07 |
2020 |
| Optional Chaining | Gabriel Isenberg Claude Pache Dustin Savery |
Gabriel Isenberg Dustin Savery Justin Ridgewell Daniel Rosenwasser |
-2019‑12 -2019‑07 |
2020 |
for-in mechanics |
Kevin Gibbons | Kevin Gibbons | -2019‑12 -2019‑06 |
2020 |
globalThis |
Jordan Harband | Jordan Harband | -2019‑10 -2018‑07 |
2020 |
Promise.allSettled |
Jason Williams Robert Pamely Mathias Bynens |
Mathias Bynens | -2019‑07 -2019‑06 |
2020 |
BigInt |
Daniel Ehrenberg | Daniel Ehrenberg | -2019‑06 -2018‑05 |
2020 |
import() |
Domenic Denicola | Domenic Denicola | -2019‑06 -2018‑07 |
2020 |
String.prototype.matchAll |
Jordan Harband | Jordan Harband | -2019‑03 -2018‑05 |
2020 |
Array.prototype.{flat,flatMap} |
Brian Terlson Michael Ficarra Mathias Bynens |
Brian Terlson Michael Ficarra |
-2019‑01 -2018‑05 |
2019 |
String.prototype.{trimStart,trimEnd} |
Sebastian Markbåge | Sebastian Markbåge Mathias Bynens |
-2019‑01 -2017‑07 |
2019 |
Well-formed JSON.stringify |
Richard Gibson | Mathias Bynens | -2019‑01 -2018‑05 |
2019 |
Object.fromEntries |
Darien Maillet Valentine | Jordan Harband Kevin Gibbons |
-2019‑01 -2018‑05 |
2019 |
Function.prototype.toString revision |
Michael Ficarra | Michael Ficarra | -2018‑11 -2017‑05 |
2019 |
Symbol.prototype.description |
Michael Ficarra | Michael Ficarra | -2018‑11 -2017‑05 |
2019 |
| JSON superset | Richard Gibson | Mark Miller Mathias Bynens |
-2018‑05 -2017‑09 |
2019 |
Optional catch binding |
Michael Ficarra | Michael Ficarra | -2018‑05 -2017‑07 |
2019 |
| Asynchronous Iteration | Domenic Denicola | Domenic Denicola | -2018‑01 -2017‑07 |
2018 |
Promise.prototype.finally |
Jordan Harband | Jordan Harband | -2018‑01 -2017‑07 |
2018 |
| RegExp Unicode Property Escapes | Mathias Bynens | Brian Terlson Daniel Ehrenberg Mathias Bynens |
-2018‑01 -2017‑05 |
2018 |
| RegExp Lookbehind Assertions | Gorkem Yakin Nozomu Katō Daniel Ehrenberg |
Daniel Ehrenberg Mathias Bynens |
-2018‑01 -2017‑01 |
2018 |
| Rest/Spread Properties | Sebastian Markbåge | Sebastian Markbåge | -2018‑01 -2017‑07 |
2018 |
| RegExp named capture groups | Gorkem Yakin Daniel Ehrenberg |
Daniel Ehrenberg Brian Terlson Mathias Bynens |
-2017‑11 -2017‑05 |
2018 |
s (dotAll) flag for regular expressions |
Mathias Bynens | Brian Terlson Mathias Bynens |
-2017‑11 -2017‑05 |
2018 |
| Lifting template literal restriction | Tim Disney | Tim Disney | -2017‑03 -2016‑11 |
2018 |
| Shared memory and atomics | Lars T Hansen | Lars T Hansen | -2017‑01 -2016‑05 |
2017 |
| Async functions | Brian Terlson | Brian Terlson | -2016‑07 -2015‑07 |
2017 |
| Trailing commas in function parameter lists and calls | Jeff Morrison | Jeff Morrison | -2016‑07 -2016‑01 |
2017 |
Object.getOwnPropertyDescriptors |
Jordan Harband Andrea Giammarchi |
Jordan Harband Andrea Giammarchi |
-2016‑05 -2015‑09 |
2017 |
| String padding | Jordan Harband | Jordan Harband Rick Waldron |
-2016‑05 -2015‑07 |
2017 |
Object.values/Object.entries |
Jordan Harband | Jordan Harband | -2016‑03 -2015‑03 |
2017 |
| Exponentiation operator | Rick Waldron | Rick Waldron | -2016‑01 -2015‑01 |
2016 |
Array.prototype.includes |
Domenic Denicola | Domenic Denicola Rick Waldron |
-2015‑11 -2015‑07 -2014‑11 -2014‑09 -2014‑07 -2014‑04 |
2016 |
See also the active proposals, stage 1 proposals, stage 0 proposals, and inactive proposals documents.