Skip to content

Instantly share code, notes, and snippets.

@dmchurch
Last active April 13, 2024 02:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmchurch/36866520d80822b48644dfefeeb8b6a0 to your computer and use it in GitHub Desktop.
Save dmchurch/36866520d80822b48644dfefeeb8b6a0 to your computer and use it in GitHub Desktop.
Survey and analysis of TC39 proposals by nature

Totals

Proposals by acceptance status

Status Syntactic only Any Syntactic Total Any Semantic Semantic only
Stage 4 6 (10.2%) 27 (45.8%) 59 53 (89.8%) 32 (54.2%)
Stage 3 0 (0%) 9 (60%) 15 15 (100%) 6 (40%)
Stage 2.7 0 (0%) 0 (0%) 3 3 (100%) 3 (100%)
Stage 2 0 (0%) 10 (41.7%) 24 24 (100%) 14 (58.3%)
Total 2+ 7 (6.9%) 46 (45.5%) 101 94 (93.1%) 55 (54.5%)
Total 32 (12.7%) 117 (46.4%) 252 220 (87.3%) 135 (53.6%)
Total 1- 25 (16.6%) 71 (47%) 151 126 (83.4%) 80 (53%)
Stage 1 14 (14.9%) 43 (45.7%) 94 80 (85.1%) 51 (54.3%)
Stage 0 3 (20%) 10 (66.7%) 15 12 (80%) 5 (33.3%)
Inactive 8 (19%) 18 (42.9%) 42 34 (81%) 24 (57.1%)

Proposals by nature

Natures Stage 4 Stage 3 Stage 2.7 Stage 2 Stage 1 Stage 0 Inactive Total 2+ Total 1- Total
Syntactic only 6 (19.4%) 0 (0) 0 (0%) 0 (0%) 14 (45.2%) 3 (9.7%) 8 (25.8%) 6 (19.4%) 25 (80.6%) 31
Semantic only 32 (23.7%) 6 (4.4%) 3 (2.2%) 14 (10.4%) 51 (37.8%) 5 (3.7%) 24 (17.8%) 55 (40.7%) 80 (59.3%) 135
Syntactic + Semantic 21 (24.4%) 9 (10.5%) 0 (0%) 10 (11.6%) 29 (33.7%) 7 (8.1%) 10 (11.6%) 40 (46.5%) 46 (53.5%) 86
Any Syntactic 28 (23.9%) 9 (7.7%) 0 (0%) 10 (8.5%) 43 (36.8%) 10 (8.5%) 18 (15.4%) 47 (40.2%) 71 (60.7%) 117
Any Semantic 53 (24.0%) 15 (6.8%) 3 (1.4%) 24 (10.9%) 80 (36.2%) 12 (5.4%) 34 (15.4%) 95 (43.0%) 126 (57.0%) 221
Any 59 (23.4%) 15 (6%) 3 (1.2%) 24 (9.5%) 94 (37.3%) 15 (6%) 42 (16.7%) 101 (40.1%) 151 (59.9%) 252

Finished Proposals

Finished proposals are proposals that have reached stage 4, and are included in the latest draft of the specification.

Syntactic Semantic 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
Leo Balter
July 2020 2021
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
April 2021 2022
RegExp Match Indices Ron Buckton Ron Buckton May 2021 2022
Top-level await Myles Borins
Yulia Startsev
Daniel Ehrenberg
Guy Bedford
Ms2ger
Myles Borins
Yulia Startsev
May 2021 2022
Ergonomic brand checks for Private Fields Jordan Harband Jordan Harband July 2021 2022
.at() Shu-yu Guo
Tab Atkins
Shu-yu Guo
Tab Atkins
August 2021 2022
Accessible Object.prototype.hasOwnProperty Jamie Kyle Tierney Cyren
Jamie Kyle
August 2021 2022
Class Static Block Ron Buckton Ron Buckton August 2021 2022
Error Cause Chengzhong Wu Chengzhong Wu
Hemanth HM
October 2021 2022
Array find from last Wenlu Wang Wenlu Wang
Daniel Rosenwasser
June 2022 2023
Hashbang Grammar Bradley Farias Bradley Farias July 2022 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
January 2023 2023
Change Array by Copy Ashley Claymore
Robin Ricard
Ashley Claymore
Robin Ricard
March 2022 2023
Well-Formed Unicode Strings Guy Bedford
Bradley Farias
Guy Bedford
Bradley Farias
Michael Ficarra
May 2023 2024
Atomics.waitAsync Lars Hansen Shu-yu Guo
Lars Hansen
May 2023 2024
RegExp v flag with set notation + properties of strings Markus Scherer
Mathias Bynens
Mathias Bynens May 2023 2024
Resizable and growable ArrayBuffers Shu-yu Guo Shu-yu Guo September 2023 2024
Array Grouping Justin Ridgewell Justin Ridgewell
Jordan Harband
November 2023 2024
Promise.withResolvers Peter Klecha Peter Klecha November 2023 2024
ArrayBuffer transfer Shu-yu Guo
Jordan Harband
Yagiz Nizipli
Shu-yu Guo
Jordan Harband
Yagiz Nizipli
February 2024 2024
Duplicate named capture groups Kevin Gibbons Kevin Gibbons April 2024 2025
New Set methods Michał Wadas
Sathya Gunasekaran
Kevin Gibbons
Kevin Gibbons April 2024 2025
27/59 53/59

See also the active proposals, stage 1 proposals, stage 0 proposals, and inactive proposals documents.

Stage 3

Syntactic Semantic Proposal Author Champion Test262 Feature Flag Last Presented
Legacy RegExp features in JavaScript Claude Pache Mark Miller
Claude Pache
legacy-regexp May 2017
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
Decorators Daniel Ehrenberg
Kristen Hewell Garrett
Kristen Hewell Garrett decorators March 2023
JSON.parse source text access Richard Gibson Richard Gibson json-parse-with-source January 2023
RegExp Modifiers Ron Buckton Ron Buckton regexp-modifiers June 2022
Array.fromAsync J.S. Choi J.S. Choi Array.fromAsync May 2023
Sync Iterator helpers Gus Caplan Michael Ficarra
Jonathan Keslin
Kevin Gibbons
iterator-helpers November 2022
Explicit Resource Management Ron Buckton Ron Buckton explicit-resource-management March 2023
Float16 on TypedArrays, DataView, Math.f16round Leo Balter Leo Balter
Kevin Gibbons
May 2023
Decorator Metadata Kristen Hewell Garrett Kristen Hewell Garrett May 2023
Import Attributes Myles Borins
Sven Sauleau
Dan Clark
Daniel Ehrenberg
Sven Sauleau
Dan Clark
Daniel Ehrenberg
Nicolò Ribaudo
import-attributes March 2023
Source Phase Imports Luca Casonato Guy Bedford
Luca Casonato
July 2023
Uint8Array to/from Base64 Kevin Gibbons Kevin Gibbons February 2024
Dynamic Code Brand Checks Nicolo Ribaudo Krzysztof Kotowicz
Mike Samuel</br />Nicolo Ribaudo
April 2024
9/15 15/15

Stage 2.7

Syntactic Semantic Proposal Author Champion Test262 Feature Flag Last Presented
ShadowRealm Caridy Patiño
Jean-Francois Paradis
Dave Herman
Mark Miller
Caridy Patiño
Leo Balter
Rick Waldron
Chengzhong Wu
ShadowRealm February 2024
Promise.try Jordan Harband Jordan Harband April 2024
Math.sumPrecise Kevin Gibbons Kevin Gibbons April 2024
0/3 3/3

Stage 2

Syntactic Semantic 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
collection normalization Bradley Farias Bradley Farias January 2019
Array.isTemplateObject Mike Samuel, Krzysztof Kotowicz Krzysztof Kotowicz December 2019
Map.prototype.emplace Bradley Farias Erica Pramer July 2020
Dynamic Import Host Adjustment Mike Samuel, Krzysztof Kotowicz Krzysztof Kotowicz December 2019
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
String.dedent Misha Kaletsky
Hemanth HM
Justin Ridgewell
Hemanth HM
Justin Ridgewell
June 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
Async Iterator helpers Gus Caplan Michael Ficarra
Jonathan Keslin
Kevin Gibbons
January 2023
Iterator.range Jack Works Jack Works March 2023
Async Context Chengzhong Wu Chengzhong Wu
Justin Ridgewell
March 2023
Time Zone Canonicalization Justin Grant Justin Grant
Richard Gibson
May 2023
Deferring Module Evaluation Yulia Startsev
Guy Bedford
Yulia Startsev
Guy Bedford
Nicolò Ribaudo
July 2023
RegExp.escape Domenic Denicola
Benjamin Gruenbaum
Jordan Harband
Jordan Harband
Kevin Gibbons
September 2023
Joint Iteration Michael Ficarra Michael Ficarra February 2024
Redeclarable global eval-introduced vars Shu-yu Guo Shu-yu Guo February 2024
10/24 24/24

Stage 1 Proposals

Stage 1 proposals represent problems that the committee is interested in spending time exploring solutions to.

Proposals follow this process document.

Syntactic Semantic Proposal Author Champion Last Presented
export v from "mod"; statements Lee Byron Ben Newman
John-David Dalton
July 2017
Observable Jafar Husain Jafar Husain
Mark Miller
May 2017
SES (Secure EcmaScript) Mark Miller
Chip Morningstar
Caridy Patiño
Mark Miller
Chip Morningstar
Caridy Patiño
February 2020
of and from on collection constructors Leo Balter Leo Balter September 2016
Error stacks Jordan Harband
Mark Miller
Jordan Harband
Mark Miller
January 2017
do expressions Dave Herman Kevin Gibbons June 2020
Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD) Brendan Eich July 2017
Binary AST Shu-yu Guo Shu-yu Guo May 2018
First-class protocols Michael Ficarra Michael Ficarra July 2018
Partial application Ron Buckton Ron Buckton July 2018
Cancellation API Ron Buckton Ron Buckton
Brian Terlson
July 2018
String.prototype.codePoints Ingvar Stepanyan Mathias Bynens May 2018
Object.freeze + Object.seal syntax Keith Cirkel Keith Cirkel November 2017
Block Params Sam Goto Sam Goto November 2017
{BigInt,Number}.fromString Mathias Bynens Mathias Bynens January 2018
Math.seededRandoms() Tab Atkins Tab Atkins January 2018
Maximally minimal mixins Justin Fagnani Justin Fagnani January 2018
Collection methods Michał Wadas Sathya Gunasekaran January 2018
Richer Keys Bradley Farias Bradley Farias January 2019
Slice notation Sathya Gunasekaran Sathya Gunasekaran July 2020
Module Keys Mike Samuel Mike Samuel May 2018
class Access Expressions Ron Buckton Ron Buckton September 2020
Pattern Matching Jordan Harband

Mark Cohen
Tab Atkins
Daniel Rosenwasser
Jack Works
Ross Kirsling
Jordan Harband

Mark Cohen
Tab Atkins
Daniel Rosenwasser
Jack Works
Ross Kirsling
March 2022
Dynamic Modules Bradley Farias Bradley Farias July 2018
Built In Modules (aka JS Standard Library) Michael Saboff
Mattijs Hoitink
Michael Saboff
Mattijs Hoitink
Mark Miller
September 2020
uniform parsing of quasi-standard Date.parse input Richard Gibson Richard Gibson September 2018
IDL for ECMAScript Daniel Ehrenberg Daniel Ehrenberg September 2018
Asset References Sebastian Markbage Sebastian Markbage November 2018
Freezing prototypes Kevin Gibbons Kevin Gibbons January 2019
new.initialize Daniel Ehrenberg Daniel Ehrenberg January 2019
Private declarations Justin Ridgewell Justin Ridgewell March 2019
Emitter Shu-yu Guo
Pedram Emrouznejad
Shu-yu Guo
Pedram Emrouznejad
June 2019
Reverse iteration Leo Balter
Jordan Harband
Leo Balter
Jordan Harband
July 2019
Declarations in Conditionals Devin Rousso Devin Rousso October 2019
UUID Benjamin Coe
Robert Kieffer
Christoph Tavan
Benjamin Coe October 2019
Readonly Collections Mark Miller
Peter Hoddie
Mark Miller
Peter Hoddie
October 2019
Support for Distributed Promise Pipelining Mark Miller
Chip Morningstar
Michael Fig
Mark Miller
Chip Morningstar
Michael Fig
October 2019
Wavy Dot: Syntactic Support for Promise Pipelining Mark Miller
Chip Morningstar
Michael Fig
Mark Miller
Chip Morningstar
Michael Fig
December 2019
OOM Fails Fast Mark Miller Mark Miller December 2019
Array filtering Justin Ridgewell Justin Ridgewell February 2020
Async initialization Bradley Farias Bradley Farias February 2020
Decimal Daniel Ehrenberg
Andrew Paprocki
Philip Chimento
Andrew Paprocki
Jesse Alama
December 2021
Preserve Host Virtualizability Mark Miller
J.F. Paradis
Caridy Patiño
Dan Finley
Alan Schmitt
Mark Miller
J.F. Paradis
Caridy Patiño
Dan Finley
Alan Schmitt
February 2020
Legacy reflection features for functions in JavaScript Mark Miller
Claude Pache
Jack Works
Mark Miller
Claude Pache
Jack Works
February 2020
Cryptographically Secure Random Number Generation Ron Buckton Ron Buckton February 2020
Compartments Bradley Farias Bradley Farias
Mark S. Miller
Caridy Patiño
J.F. Paradis
Patrick Soquet
Kris Kowal
March 2020
Deep Path Properties in Record Literals Rick Button Rick Button June 2020
Restrict subclassing support in built-in methods Yulia Startsev
Shu-yu Guo
Yulia Startsev
Shu-yu Guo
June 2020
Array Equality Hemanth HM
Jordan Harband
Hemanth HM
Jordan Harband
June 2020
await operations Jack Works Jack Works
Jordan Harband
July 2020
Array.prototype.unique() TechQuery Jack Works July 2020
Double-Ended Iterator and Destructuring HE Shi-Jun HE Shi-Jun September 2020
Standardized Debug Gus Caplan Gus Caplan November 2020 _
Modulus and Additional Integer Math Peter Hoddie Peter Hoddie September 2020
Extensions HE Shi-Jun HE Shi-Jun November 2020
Grouped Accessors and Auto-Accessors Ron Buckton Ron Buckton November 2020
async do expressions Kevin Gibbons Kevin Gibbons January 2021
Class Brand Checks HE Shi-Jun HE Shi-Jun January 2021
Limited ArrayBuffer Jack Works Jack Works April 2021
BigInt Math J.S. Choi J.S. Choi August 2021
Get Intrinsic Jordan Harband Jordan Harband August 2021
Structs: Fixed Layout Objects and Some Synchronization Primitives Shu-yu Guo Shu-yu Guo August 2021
String.cooked Darien Maillet Valentine Jamie Kyle
Hemanth HM
October 2021
Call-this operator J.S. Choi J.S. Choi October 2021
RegExp Extended Mode and Comments Ron Buckton Ron Buckton October 2021
RegExp \R Escape Ron Buckton Ron Buckton December 2021
Reversible string split Luca Casonato Luca Casonato January 2022
Function once J. S. Choi J. S. Choi March 2022
Type Annotations Gil Tayar
Daniel Rosenwasser
Romulo Cintra
Rob Palmer
Daniel Rosenwasser
Romulo Cintra
Rob Palmer
March 2022
Faster Promise adoption Justin Ridgewell Justin Ridgewell June 2022
RegExp Atomic Operators Ron Buckton Ron Buckton June 2022
Policy Maps and Sets J.S. Choi J.S. Choi
Hemanth HM
July 2022
Function Memoization J.S. Choi J.S. Choi
Hemanth HM
July 2022
Object pick/omit Hemanth HM
Aleen
Hemanth HM July 2022
Extractors Ron Buckton Ron Buckton September 2022
Mass Proxy Revocation Alex Vincent Mark S. Miller, Jack Works November 2022
Prototype pollution mitigation Santiago Díaz
Jun Kokatsu
Shu-yu Guo January 2023
Await Dictionary Alexander J. Vincent Ashley Claymore
Jordan Harband
Chris de Almeida
March 2023
Class Method Parameter Decorators Ron Buckton Ron Buckton March 2023
Optional chaining in assignment LHS Nicolò Ribaudo Nicolò Ribaudo July 2023
DataView get/set Uint8Clamped methods Jordan Harband Jordan Harband July 2023
Iterator Sequencing Michael Ficarra Michael Ficarra September 2023
Stable Formatting Eemeli Aro Eemeli Aro September 2023
Negated in and instanceof operators Pablo Gorostiaga Belio Pablo Gorostiaga Belio September 2023
Locale Extensions Ben Allen Ben Allen September 2023
Module sync assert Jack Works Jack Works November 2023
Iterator unique Michael Ficarra Michael Ficarra February 2024
Micro and mini waits Shu-yu Guo Shu-yu Guo February 2024
iterator chunking Michael Ficarra Michael Ficarra February 2024
Improved Escapes for Template Literals HE Shi-Jun HE Shi-Jun February 2024
ESM Phase Imports Luca Casonato
Guy Bedford
Luca Casonato
Guy Bedford
February 2024
Function and Object Literal Decorators Ron Buckton Ron Buckton February 2024
"Discard" (void) Bindings Ron Buckton Ron Buckton February 2024
Error.isError Jordan Harband Jordan Harband April 2024
43/94 80/94

See also the active proposals, stage 0 proposals, finished proposals, and inactive proposals documents.

Stage 0 Proposals

Stage 0 proposals are either

  • planned to be presented to the committee by a TC39 champion, or
  • have been presented to the committee and not rejected definitively, but have not yet achieved any of the criteria to get into stage 1.
Syntactic Semantic Proposal Author Champion Last Presented
Additional metaproperties Allen Wirfs-Brock Allen Wirfs-Brock
Defensible Classes Mark Miller
Doug Crockford
Mark Miller
Doug Crockford
Function bind syntax Kevin Smith Brian Terlson
Matthew Podwysocki
March 2015
Function expression decorators Igor Minar Igor Minar
Method parameter decorators Igor Minar Igor Minar
Nested import declarations Ben Newman Ben Newman July 2016
Orthogonal Classes Mark Miller
Allen Wirfs-Brock
Mark Miller
Allen Wirfs-Brock
March 2017
Reflect.{isCallable,isConstructor} Caitlin Potter Caitlin Potter
Relationships Mark Miller
Waldemar Horwat
Mark Miller
Waldemar Horwat
Structured Clone Dmitry Lomov Dmitry Lomov Jan 2014
WHATWG URL James M Snell James M Snell
Object Shorthand Improvements Ron Buckton Ron Buckton Sep 2017
as destructuring patterns Kat Marchán Kat Marchán
String trim characters Wenlu Wang Wenlu Wang
Catch Guard Willian Martins Willian Martins
10/15 12/15

See also the active proposals, stage 1 proposals, finished proposals, and inactive proposals documents.

Inactive Proposals

Inactive proposals are proposals that at one point were presented to the committee but were subsequently abandoned, withdrawn, or rejected.

Syntactic Semantic Proposal Champion Rationale
Callable class constructors Yehuda Katz
Allen Wirfs-Brock
Withdrawn: can be solved with decorators
{Set,Map}.prototype.toJSON David Bruant
Jordan Harband
Rejected: better solved by a custom replacer function.
Typed Objects Till Schneidereit (previously Dmitry Lomov, Niko Matsakis) Postponed: waiting for WebAssembly requirements to become clearer
Object enumerables Leo Balter
John-David Dalton
Rejected
Cancelable Promises Domenic Denicola Withdrawn
Proposed Grammar change to ES Modules Bradley Farias Rejected: No consensus on this specific solution.
Dynamic Module Reform Caridy Patiño Withdrawn: we decided to preserve the current semantics
SIMD.JS - SIMD APIs Peter Jensen
Yehuda Katz
Stage 1: Start with SIMD in WASM; implementations not pursuing SIMD.js for now.
Updates to Tail Calls to include an explicit syntactic opt-in Brian Terlson
Eric Faust
Inactive
Object.shallowEqual Sebastian Markbage Withdrawn
%constructor%.construct James M Snell Withdrawn
Builtins.typeOf() and Builtins.is() James M Snell Withdrawn: can be solved in other ways
Tagged Collection Literals Kat Marchán Withdrawn: pursuing when new syntax and other alternatives
Date.parse fallback semantics Morgan Phillips Inactive; likely replaced by uniform parsing of quasi-standard Date.parse input
Distinguishing literal strings Mike West
Adam Klein
Withdrawn: Trusted Types no longer a dependent
Annex B — HTML Attribute Event Handlers Allen Wirfs-Brock Withdrawn per PR comment
Normative ICU Reference Domenic Denicola Withdrawn; champion is no longer participating in TC39
Zones Domenic Denicola
Miško Hevery
Withdrawn; champion is no longer participating in TC39
Blöcks Domenic Denicola Withdrawn; champion is no longer participating in TC39
RegExp Atomic Groups & Possessive Quantifiers Justin Ridgewell Never presented; engines are not interested in the feature, mainly because it doesn't solve backtracking for most users
RefCollection Robin Ricard Withdrawn; replaced with Symbols as WeakMap keys; also there were OCAP/membrane concerns around providing a globally available pre-instantiated RefCollection
Generic Comparison Hemanth HM
Jordan Harband
Withdrawn: replaced with Array Equality
from ... import Bradley Farias Never presented; preliminary feedback about syntax cost not being worth the weight
TypedArray stride parameter Shu-yu Guo Withdrawn: concern about performance implications, and the proposal is not expressive enough
Unused Function Parameters Gus Caplan Rejected: the need to solve the problem does not outweigh the hazards
Improving iteration on Objects Jonathan Keslin Withdrawn: concern about need for such an API
String.prototype.at Mathias Bynens
Rick Waldron
Obsoleted by renamed String.prototype.item proposal
ArrayBuffer.prototype.transfer Domenic Denicola
Shu-yu Guo
Withdrawn: superseded by Resizable Buffers
deprecated James M Snell Never presented
Function helpers J. S. Choi Presented and rejected before Stage 1 on 2021-10; split up into multiple subsequent proposals
"use module" Dave Herman Inactive; champion does not wish to pursue
Function.pipe and flow J.S. Choi Withdrawn: rejected for stage 1
Symbol.thenable Gus Caplan
Jordan Harband
Myles Borins
Withdrawn; changing thenability on Module Namespace objects is not web compatible, and allowing non-Promise use of "then" is not worth slowing down all Promise operations
WeakRefs cleanupSome Yulia Startsev
Daniel Ehrenberg
Withdrawn; subsumed by WebAssembly JS Promise Integration, which avoids the long task issue
Operator overloading Daniel Ehrenberg Withdrawn
Extensible numeric literals Daniel Ehrenberg Withdrawn
JSON.tryParse Jack Works Rejected; some deemed this too specific a solution for a generalized language-wide problem
Math Extensions Rick Waldron Withdrawn: no interested champions in February 2024
Generator arrow functions Sergey Rubanov
Brendan Eich
Withdrawn: no interested champions in February 2024
Math.signbit: IEEE-754 sign bit JF Bastien Withdrawn: no interested champions in February 2024
Getting last element of Array Keith Cirkel Withdrawn; the Array#at proposal supersedes this work.
Sequence properties in Unicode property escapes Mathias Bynens Withdrawn; subsumed by RegExp v flag with set notation + properties of strings proposal
18/42 34/42

See also the active proposals, stage 1 proposals, stage 0 proposals, and finished proposals documents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment