Skip to content

mattijs/proposals

Repository files navigation

ECMAScript proposals

ECMAScript Internationalization API Specification proposals

Active proposals

Proposals follow this process document. This list contains only stage 1 proposals and higher that have not yet been withdrawn/rejected, or become finished.

Stage 3

🚀ProposalAuthorChampionTests
🚀Function.prototype.toString revisionMichael FicarraMichael Ficarra
globalJordan HarbandJordan Harband
import()Domenic DenicolaDomenic Denicola
Legacy RegExp features in JavaScriptClaude PacheMark Miller
Claude Pache
BigIntDaniel EhrenbergDaniel Ehrenberg🚧
import.metaDomenic DenicolaDomenic Denicola
Private instance methods and accessorsDaniel EhrenbergDaniel Ehrenberg
Kevin Gibbons
🚀Array.prototype.{flat,flatMap}Brian Terlson
Michael Ficarra
Brian Terlson
Michael Ficarra
Class Public Instance Fields & Private Instance FieldsDaniel Ehrenberg
Kevin Gibbons
Daniel Ehrenberg
Jeff Morrison
Kevin Smith
Kevin Gibbons
Static class fields and private static methodsDaniel Ehrenberg
Kevin Gibbons
Jeff Morrison
Kevin Smith
Shu-Yu Guo and Daniel Ehrenberg
String.prototype.{trimStart,trimEnd}Sebastian MarkbågeSebastian Markbåge
String.prototype.matchAllJordan HarbandJordan Harband
Symbol.prototype.descriptionMichael FicarraMichael Ficarra
Object.fromEntriesDarien Maillet ValentineJordan Harband
Kevin Gibbons

Stage 2

🚀ProposalAuthorChampion
Numeric separatorsSam Goto
Rick Waldron
Sam Goto
Rick Waldron
function.sent metapropertyAllen Wirfs-BrockAllen Wirfs-Brock
DecoratorsDaniel EhrenbergYehuda Katz
Brian Terlson
Daniel Ehrenberg
🚀throw expressionsRon BucktonRon Buckton
Atomics.waitAsyncLars HansenShu-yu Guo
Lars Hansen
Hashbang GrammarBradley FariasBradley Farias
WeakRefsDean TribbleDean Tribble
Top-level awaitMyles BorinsMyles Borins
Function.prototype.toString() censorshipDomenic DenicolaDomenic Denicola
New Set methodsMichał WadasSathya Gunasekaran
Well-formed JSON.stringifyRichard GibsonMathias Bynens
RealmsCaridy Patiño
Jean-Francois Paradis
Dave Herman
Mark Miller
Caridy Patiño
ArrayBuffer.prototype.transferDomenic DenicolaDomenic Denicola
RegExp Match array offsetsRon BucktonRon Buckton

Stage 1

🚀ProposalAuthorChampion
Date.parse fallback semanticsMorgan PhillipsMorgan Phillips
export v from "mod"; statementsLee ByronBen Newman
John-David Dalton
🚀ObservableJafar HusainJafar Husain
Mark Miller
Frozen RealmsMark Miller
Chip Morningstar
Caridy Patiño
Mark Miller
Chip Morningstar
Caridy Patiño
Math ExtensionsRick WaldronRick Waldron
of and from on collection constructorsLeo BalterLeo Balter
Generator arrow functions (=>*)Brendan Eich
Domenic Denicola
Promise.tryJordan HarbandJordan Harband
Optional ChainingGabriel Isenberg
Claude Pache
Gabriel Isenberg
Math.signbit: IEEE-754 sign bitJF BastienJF Bastien
Error stacksJordan HarbandJordan Harband
do expressionsDave HermanDave Herman
TemporalMaggie Pint
Matt Johnson
Maggie Pint
Brian Terlson
Float16 on TypedArrays, DataView, Math.hfroundLeo BalterLeo Balter
Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD)Brendan Eich
Binary ASTShu-yu GuoShu-yu Guo
Pipeline OperatorDaniel EhrenbergDaniel Ehrenberg
Extensible numeric literalsDaniel EhrenbergDaniel Ehrenberg
First-class protocolsMichael FicarraMichael Ficarra
Nullish coalescing OperatorGabriel IsenbergGabriel Isenberg
Partial applicationRon BucktonRon Buckton
Cancellation APIRon BucktonRon Buckton & Brian Terlson
InterpreterDirectiveBradley FariasBradley Farias
String.prototype.replaceAllPeter Marshall
Jakob Gruber
Mathias Bynens
Mathias Bynens
String.prototype.codePointsIngvar StepanyanMathias Bynens
Distinguishing literal stringsMike WestAdam Klein
Mike West
Object.freeze + Object.seal syntaxKeith CirkelKeith Cirkel
Block ParamsSam GotoSam Goto
{BigInt,Number}.fromStringMathias BynensMathias Bynens
Math.seededRandoms()Tab AtkinsTab Atkins
Maximally minimal mixinsJustin FagnaniJustin Fagnani
🚀Getting last element of ArrayKeith CirkelKeith Cirkel
Collection methodsMichał WadasSathya Gunasekaran
Richer KeysBradley FariasBradley Farias
Slice notationSathya GunasekaranSathya Gunasekaran
Logical Assignment OperatorsJustin RidgewellJustin Ridgewell
Sequence properties in Unicode property escapesMathias BynensMathias Bynens
Module KeysMike SamuelMike Samuel
Class Static BlockRon BucktonRon Buckton
class Access ExpressionsRon BucktonRon Buckton
Pattern MatchingKat Marchán
Brian Terlson
Kat Marchán
Brian Terlson
Sebastian Markbåge
Explicit Resource ManagementRon BucktonRon Buckton
Dynamic ModulesBradley FariasBradley Farias
JavaScript Standard LibraryMichael SaboffMichael Saboff
"use module"Dave Herman

🚀 means the champion thinks it's ready to advance but has not yet presented to the committee.

✅ means a pull request for tests was merged.

❓ means there is no pull request for tests yet.

🚧 means a pull request for tests was created, but not merged yet.

Contributing new proposals

Please see Contributing to ECMAScript for the most up-to-date information on contributing proposals to this standard.

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:

  1. Transfer your repository to the @tc39-transfer organization
  • if you are a TC39 delegate, but not an admin in that organization, please contact @LJHarb
  1. @bterlson, @littledan, or @leobalter 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!).

About

Tracking ECMAScript Proposals

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published