Stage 1 Proposals
April 13, 2026 · View on GitHub
Stage 1 proposals represent problems that the committee is interested in spending time exploring solutions to.
Proposals follow this process document.
| Proposal | Author | Champion | Meeting Notes |
|---|---|---|---|
export v from "mod"; statements | Lee Byron | Ben Newman John-David Dalton | -2023‑09 -2017‑07 -2015‑05 |
| Observable | Jafar Husain | Jafar Husain Mark Miller | -2017‑05 -2016‑09 -2015‑11 -2015‑07 -2015‑05 |
| SES (Secure EcmaScript) | Mark Miller Chip Morningstar Caridy Patiño | Mark Miller Chip Morningstar Caridy Patiño | -2020‑02 -2019‑12 -2018‑05 |
of and from on collection constructors | Leo Balter | Leo Balter | -2016‑09 |
| Error stacks | Jordan Harband Mark Miller | Jordan Harband Mark Miller | -2019‑03 -2019‑01 -2017‑01 |
do expressions | Dave Herman | Kevin Gibbons | -2020‑06 -2017‑01 -2014‑01 |
Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD) | Brendan Eich | -2017‑07 | |
| Binary AST | Shu-yu Guo | Shu-yu Guo | -2018‑05 -2017‑07 |
| First-class protocols | Michael Ficarra | Michael Ficarra Lea Verou Jordan Harband | -2018‑07 |
| Partial application | Ron Buckton | Ron Buckton | -2021‑10 -2018‑07 -2017‑09 |
| Cancellation API | Ron Buckton | Ron Buckton James Snell | -2018‑07 -2017‑07 -2017‑05 |
String.prototype.codePoints | Ingvar Stepanyan | Mathias Bynens | -2018‑05 |
Object.freeze + Object.seal syntax | Keith Cirkel | Keith Cirkel | -2017‑11 |
| Block Params | Sam Goto | Sam Goto | -2017‑11 |
{BigInt,Number}.fromString | Mathias Bynens | Mathias Bynens | -2018‑01 |
| Maximally minimal mixins | Justin Fagnani | Justin Fagnani | -2018‑01 |
| Collection methods | Michał Wadas | Sathya Gunasekaran | -2018‑01 |
| Richer Keys | Bradley Farias | Bradley Farias | -2019‑01 |
| Slice notation | Sathya Gunasekaran | Sathya Gunasekaran | -2020‑07 -2018‑03 |
| Module Keys | Mike Samuel | Mike Samuel | -2018‑05 |
| class Access Expressions | Ron Buckton | Ron Buckton | -2020‑09 |
| 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 | -2023‑09 -2022‑03 -2021‑04 -2020‑03 -2018‑05 |
| Dynamic Modules | Bradley Farias | Bradley Farias | -2018‑07 |
| Built In Modules (aka JS Standard Library) | Michael Saboff Mattijs Hoitink | Michael Saboff Mattijs Hoitink Mark Miller | -2020‑09 |
uniform parsing of quasi-standard Date.parse input | Richard Gibson | Richard Gibson | -2018‑09 |
| IDL for ECMAScript | Daniel Ehrenberg | Daniel Ehrenberg | -2018‑09 |
| Asset References | Sebastian Markbage | Sebastian Markbage | -2018‑11 |
| Freezing prototypes | Kevin Gibbons | Kevin Gibbons | -2019‑01 |
new.initialize | Daniel Ehrenberg | Daniel Ehrenberg | -2019‑01 |
| Private declarations | Justin Ridgewell | Justin Ridgewell | -2019‑03 |
| Emitter | Shu-yu Guo Pedram Emrouznejad | Shu-yu Guo Pedram Emrouznejad | -2019‑06 |
| Reverse iteration | Leo Balter Jordan Harband | Leo Balter Jordan Harband | -2019‑07 |
| Declarations in Conditionals | Devin Rousso | Devin Rousso | -2019‑10 |
| Readonly Collections | Mark Miller Peter Hoddie | Mark Miller Peter Hoddie | -2019‑10 |
| Support for Distributed Promise Pipelining | Mark Miller Chip Morningstar Michael Fig | Mark Miller Chip Morningstar Michael Fig | -2019‑10 |
| Wavy Dot: Syntactic Support for Promise Pipelining | Mark Miller Chip Morningstar Michael Fig | Mark Miller Chip Morningstar Michael Fig | -2019‑12 |
| OOM Fails Fast | Mark Miller | Mark Miller | -2019‑12 |
| Array filtering | Justin Ridgewell | Justin Ridgewell | -2020‑02 |
| Async initialization | Bradley Farias | Bradley Farias | -2020‑02 |
| Decimal | Daniel Ehrenberg Andrew Paprocki | Philip Chimento Andrew Paprocki Jesse Alama | -2024‑10 -2024‑07 -2024‑06 -2024‑04 -2023‑11 -2023‑09 -2023‑07 -2023‑03 -2021‑12 -2020‑03 -2020‑02 -2017‑11 |
| 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 | -2020‑02 |
| Legacy reflection features for functions in JavaScript | Mark Miller Claude Pache Jack Works | Mark Miller Claude Pache Jack Works | -2020‑02 |
| Cryptographically Secure Random Number Generation | Ron Buckton | Ron Buckton | -2020‑02 |
| Compartments | Bradley Farias | Bradley Farias Mark S. Miller Caridy Patiño J.F. Paradis Patrick Soquet Kris Kowal | -2022‑07 -2020‑03 |
| Deep Path Properties in Record Literals | Rick Button | Rick Button | -2020‑06 |
| Restrict subclassing support in built-in methods | Yulia Startsev Shu-yu Guo | Yulia Startsev Shu-yu Guo | -2020‑06 |
| Array Equality | Hemanth HM Jordan Harband | Hemanth HM Jordan Harband | -2020‑06 |
| await operations | Jack Works | Jack Works Jordan Harband | -2020‑07 |
Array.prototype.unique() | TechQuery | Jack Works | -2020‑07 |
| Double-Ended Iterator and Destructuring | HE Shi-Jun | HE Shi-Jun | -2020‑09 |
| Standardized Debug | Gus Caplan | Gus Caplan | -2020‑11 |
| Modulus and Additional Integer Math | Peter Hoddie | Peter Hoddie | -2020‑09 |
| Extensions | HE Shi-Jun | HE Shi-Jun | -2020‑11 |
| Grouped Accessors and Auto-Accessors | Ron Buckton | Ron Buckton | -2020‑11 |
async do expressions | Kevin Gibbons | Kevin Gibbons | -2021‑03 -2021‑01 |
| Class Brand Checks | HE Shi-Jun | HE Shi-Jun | -2021‑01 |
| Limited ArrayBuffer | Jack Works | Jack Works | -2021‑04 |
| BigInt Math | J.S. Choi | J.S. Choi | -2021‑10 |
| Get Intrinsic | Jordan Harband | Jordan Harband | -2021‑08 |
String.cooked | Darien Maillet Valentine | Jamie Kyle Hemanth HM | -2021‑10 |
| Call-this operator | J.S. Choi | J.S. Choi | -2021‑10 |
| RegExp Extended Mode and Comments | Ron Buckton | Ron Buckton | -2021‑10 |
RegExp \R Escape | Ron Buckton | Ron Buckton | -2021‑12 |
| Reversible string split | Luca Casonato | Luca Casonato | -2022‑01 |
| Function once | J. S. Choi | J. S. Choi | -2022‑03 |
| Type Annotations | Gil Tayar Daniel Rosenwasser Romulo Cintra Rob Palmer | Daniel Rosenwasser Romulo Cintra Rob Palmer | -2023‑09 -2023‑03 -2022‑03-31 -2022‑03-29 |
| Faster Promise adoption | Justin Ridgewell | Justin Ridgewell | -2022‑06 |
| RegExp Atomic Operators | Ron Buckton | Ron Buckton | -2022‑06 |
| Policy Maps and Sets | J.S. Choi | J.S. Choi Hemanth HM | -2022‑07 |
| Function Memoization | J.S. Choi | J.S. Choi Hemanth HM | -2022‑07 |
| Object pick/omit | Hemanth HM Aleen | Hemanth HM | -2022‑07 |
| Mass Proxy Revocation | Alex Vincent | Mark S. Miller, Jack Works | -2022‑11 |
| Prototype pollution mitigation | Santiago Díaz Jun Kokatsu | Shu-yu Guo | -2023‑01 |
| Class Method Parameter Decorators | Ron Buckton | Ron Buckton | -2023‑03 |
| Optional chaining in assignment LHS | Nicolò Ribaudo | Nicolò Ribaudo | -2023‑07 |
| DataView get/set Uint8Clamped methods | Jordan Harband | Jordan Harband | -2023‑07 |
| Stable Formatting | Eemeli Aro | Eemeli Aro | -2023‑09 |
Negated in and instanceof operators | Pablo Gorostiaga Belio | Pablo Gorostiaga Belio | -2023‑09 |
| Locale Extensions | Ben Allen | Ben Allen | -2023‑09 |
| Module sync assert | Jack Works | Jack Works | -2023‑11 |
| Iterator unique | Michael Ficarra | Michael Ficarra | -2024‑02 |
| Improved Escapes for Template Literals | HE Shi-Jun | HE Shi-Jun | -2024‑02 |
| Function and Object Literal Decorators | Ron Buckton | Ron Buckton | -2024‑02 |
| Strict Enforcement of 'using' | Ron Buckton | Ron Buckton | -2024‑04 |
| Signals | Rob Eisenberg Daniel Ehrenberg | Daniel Ehrenberg Yehuda Katz Jatin Ramanathan Shay Lewis Kristen Hewell Garrett Dominic Gannaway Preston Sego Milo M Rob Eisenberg | -2024‑04 |
| Concurrency Control | Michael Ficarra Luca Casonato Kevin Gibbons | Michael Ficarra Luca Casonato | -2024‑07 |
| Unordered Async Iterator Helpers | Michael Ficarra | Michael Ficarra | -2024‑07 |
Array.zip and Array.zipKeyed | Jordan Harband | Jordan Harband | -2024‑10 |
| Stabilize | Mark Miller Chip Morningstar Richard Gibson Mathieu Hofman | Mark Miller Chip Morningstar Richard Gibson Mathieu Hofman | -2024‑12 |
Composites | Ashley Claymore | Ashley Claymore | -2025‑04 |
| Enums | Ron Buckton | Ron Buckton | -2025‑04 |
Object.propertyCount | Ruben Bridgewater Jordan Harband | Ruben Bridgewater Jordan Harband | -2025‑04 |
| Compare Strings by Codepoint | Mathieu Hofman Mark Miller Christopher Hiller | Mathieu Hofman Mark Miller Christopher Hiller | -2025‑04 |
| Disposable AsyncContext.Variable | Chengzhong Wu Luca Casonato Gus Caplan | Chengzhong Wu Luca Casonato Gus Caplan | -2025‑04 |
| More Random Functions | Tab Atkins | Tab Atkins | -2025‑05 |
| Inspector | Jacob Smith | Jacob Smith Richard Gibson | -2025‑05 |
| Module Global | Zbyszek Tenerowicz Kris Kowal Richard Gibson Mark S. Miller | Zbyszek Tenerowicz Kris Kowal Richard Gibson Mark S. Miller | -2025‑07 |
| Representing Measures/Amounts | Ben Allen | Ben Allen | -2025‑09 |
| Bulk-add array elements | Daniel Rosenwasser | Daniel Rosenwasser | -2025‑09 |
| TypedArray Concat | James Snell | James Snell | -2025‑11 |
| TypedArray Find Within | James Snell | James Snell | -2025‑11 |
Object.getNonIndexStringProperties() | Ruben Bridgewater Jordan Harband | Ruben Bridgewater Jordan Harband | -2025‑11 |
Error option framesAbove | Ruben Bridgewater | Ruben Bridgewater | -2026‑01 |
Error option limit | Ruben Bridgewater | Ruben Bridgewater | -2026‑01 |
| Alias Accessors | Lea Verou | Lea Verou | -2026‑01 |
| Composable Accessors via built-in decorators | Lea Verou | Lea Verou | -2026‑01 |
See also the active proposals, stage 0 proposals, finished proposals, and inactive proposals documents.