Finished proposals are proposals that have reached stage 4, and are included in the latest draft of the specification.
Proposal | Author | Champion(s) | TC39 meeting notes | Expected Publication Year |
---|---|---|---|---|
Array.prototype.includes |
Domenic Denicola | Domenic Denicola Rick Waldron |
November 2015 | 2016 |
Exponentiation operator | Rick Waldron | Rick Waldron | January 2016 | 2016 |
Object.values /Object.entries |
Jordan Harband | Jordan Harband | March 2016 | 2017 |
String padding | Jordan Harband | Jordan Harband Rick Waldron |
May 2016 | 2017 |
Object.getOwnPropertyDescriptors |
Jordan Harband Andrea Giammarchi |
Jordan Harband Andrea Giammarchi |
May 2016 | 2017 |
Trailing commas in function parameter lists and calls | Jeff Morrison | Jeff Morrison | July 2016 | 2017 |
Async functions | Brian Terlson | Brian Terlson | July 2016 | 2017 |
Shared memory and atomics | Lars T Hansen | Lars T Hansen | January 2017 | 2017 |
Lifting template literal restriction | Tim Disney | Tim Disney | March 2017 | 2018 |
s (dotAll ) flag for regular expressions |
Mathias Bynens | Brian Terlson Mathias Bynens |
November 2017 | 2018 |
RegExp named capture groups | Gorkem Yakin Daniel Ehrenberg |
Daniel Ehrenberg Brian Terlson Mathias Bynens |
November 2017 | 2018 |
Rest/Spread Properties | Sebastian Markbåge | Sebastian Markbåge | January 2018 | 2018 |
RegExp Lookbehind Assertions | Gorkem Yakin Nozomu Katō Daniel Ehrenberg |
Daniel Ehrenberg Mathias Bynens |
January 2018 | 2018 |
RegExp Unicode Property Escapes | Mathias Bynens | Brian Terlson Daniel Ehrenberg Mathias Bynens |
January 2018 | 2018 |
Promise.prototype.finally |
Jordan Harband | Jordan Harband | January 2018 | 2018 |
Asynchronous Iteration | Domenic Denicola | Domenic Denicola | January 2018 | 2018 |
Optional catch binding |
Michael Ficarra | Michael Ficarra | May 2018 | 2019 |
JSON superset | Richard Gibson | Mark Miller Mathias Bynens |
May 2018 | 2019 |
Symbol.prototype.description |
Michael Ficarra | Michael Ficarra | November 2018 | 2019 |
Function.prototype.toString revision |
Michael Ficarra | Michael Ficarra | November 2018 | 2019 |
Object.fromEntries |
Darien Maillet Valentine | Jordan Harband Kevin Gibbons |
January 2019 | 2019 |
Well-formed JSON.stringify |
Richard Gibson | Mathias Bynens | January 2019 | 2019 |
String.prototype.{trimStart,trimEnd} |
Sebastian Markbåge | Sebastian Markbåge Mathias Bynens |
January 2019 | 2019 |
Array.prototype.{flat,flatMap} |
Brian Terlson Michael Ficarra Mathias Bynens |
Brian Terlson Michael Ficarra |
January 2019 | 2019 |
String.prototype.matchAll |
Jordan Harband | Jordan Harband | March 2019 | 2020 |
import() |
Domenic Denicola | Domenic Denicola | June 2019 | 2020 |
BigInt |
Daniel Ehrenberg | Daniel Ehrenberg | June 2019 | 2020 |
Promise.allSettled |
Jason Williams Robert Pamely Mathias Bynens |
Mathias Bynens | July 2019 | 2020 |
globalThis |
Jordan Harband | Jordan Harband | October 2019 | 2020 |
for-in mechanics |
Kevin Gibbons | Kevin Gibbons | December 2019 | 2020 |
Optional Chaining | Gabriel Isenberg Claude Pache Dustin Savery |
Gabriel Isenberg Dustin Savery Justin Ridgewell Daniel Rosenwasser |
December 2019 | 2020 |
Nullish coalescing Operator | Gabriel Isenberg | Gabriel Isenberg Justin Ridgewell Daniel Rosenwasser |
December 2019 | 2020 |
import.meta |
Domenic Denicola | Gus Caplan | March 2020 | 2020 |
String.prototype.replaceAll |
Peter Marshall Jakob Gruber Mathias Bynens |
Mathias Bynens | June 2020 | 2021 |
Promise.any |
Mathias Bynens Kevin Gibbons Sergey Rubanov |
Mathias Bynens | July 2020 | 2021 |
WeakRefs | Dean Tribble Sathya Gunasekaran |
Dean Tribble Mark Miller Till Schneidereit Sathya Gunasekaran Daniel Ehrenberg |
July 2020 | 2021 |
Logical Assignment Operators | Justin Ridgewell | Justin Ridgewell Hemanth HM |
July 2020 | 2021 |
Numeric separators | Sam Goto Rick Waldron |
Sam Goto Rick Waldron |
July 2020 | 2021 |
See also the active proposals, stage 1 proposals, stage 0 proposals, and inactive proposals documents.