This site is a work in progress, proposal data is incomplete and may contain errors

TC39 Proposals

Last updated June 22, 2026
30 Stage 1 27 Stage 2 7 Stage 2.7 11 Stage 3 81 Stage 4 5 Withdrawn 161 Total
Stage
Tests unmerged
Tests merged
Not testable
Split/Merged
Stage Stage 1 Stage 2 Stage 2.7 Stage 3 Stage 4 Tests Duration
Async functions
Object.getOwnPropertyDescriptors
Array.prototype.includes
Decorators
Exponentiation Operator
Trailing Commas in Functions
Rest/Spread Properties
function.sent
Stage 2
n/a
n/a
n/a
n/a
n/a
11 years, 2 months
Function.prototype.toString revision
RegExp.escape
String.prototype.trimStart/trimEnd
Shared Memory and Atomics
String.prototype.padStart / padEnd
Object.values / Object.entries
String.prototype.matchAll
globalThis
Async Iteration
Private Fields
Stage 4
n/a
n/a
n/a
n/a
5 years
WeakRefs
Template Literals Revision
RegExp Unicode Property Escapes
Class Fields
Promise.prototype.finally
Legacy RegExp features
RegExp named capture groups
import()
RegExp dotAll flag
Promise.try
BigInt
RegExp Lookbehind Assertions
Optional Chaining
ShadowRealm
Temporal
Float16Array
Atomics.waitAsync
Numeric separators
import.meta
Symbol.prototype.description
Private methods
Stage 4
n/a
n/a
n/a
3 years, 8 months
Optional catch binding
Array.prototype.{flat,flatMap}
Throw Expressions
Stage 2
n/a
n/a
n/a
n/a
8 years, 10 months
Pipeline Operator
Stage 2
n/a
n/a
n/a
n/a
8 years, 8 months
JSON superset
Nullish Coalescing
String.prototype.replaceAll
Static Class Features
Stage 4
n/a
n/a
n/a
3 years, 4 months
Seeded Pseudo-Random Numbers
Stage 2
n/a
n/a
n/a
n/a
8 years, 4 months
Function implementation hiding
Stage 2
n/a
n/a
n/a
n/a
8 years, 4 months
Set methods
Top-level await
Logical Assignment
Object.fromEntries
Hashbang Grammar
Collection Normalization
Stage 2
n/a
n/a
n/a
n/a
8 years, 3 months
Sequence properties in Unicode property escapes
Withdrawn
n/a
n/a
n/a
n/a
5 years, 10 months
Well-formed JSON.stringify
Class Static Block
RegExp Match Indices
Explicit Resource Management
For-in order
Promise.allSettled
JSON.parse source text access
Iterator Helpers
Promise.any
Reflect.isTemplateObject
Withdrawn
n/a
n/a
n/a
n/a
6 years, 11 months
Dynamic Code Brand Checks
Dynamic Import Host Adjustment
Withdrawn
n/a
n/a
n/a
n/a
6 years, 7 months
Upsert
Records & Tuples
Withdrawn
n/a
n/a
n/a
n/a
5 years, 6 months
Declarations in Conditionals
Stage 1
n/a
n/a
n/a
n/a
n/a
6 years, 8 months
Import Attributes
Decimal
Stage 1
n/a
n/a
n/a
n/a
n/a
6 years, 4 months
Iterator.range
Stage 2
n/a
n/a
n/a
n/a
6 years, 2 months
Ergonomic brand checks for Private Fields
Symbols as WeakMap keys
Async Context
Relative Indexing Method
FinalizationRegistry.prototype.cleanupSome
Withdrawn
n/a
n/a
n/a
n/a
n/a
3 years, 2 months
JSON Modules
Resizable ArrayBuffers
String.dedent
Stage 2
n/a
n/a
n/a
n/a
5 years, 8 months
Error Cause
Module Expressions
Stage 2
n/a
n/a
n/a
n/a
5 years, 7 months
RegExp v flag
Array find from last
Deferring Module Evaluation
Module Declarations
Stage 2
n/a
n/a
n/a
n/a
5 years, 3 months
Change Array by Copy
Accessible Object.prototype.hasOwnProperty
Uint8Array to/from Base64
Array Grouping
Well-Formed Unicode Strings
Array.fromAsync
Structs
Stage 2
n/a
n/a
n/a
n/a
4 years, 9 months
Destructure Private Fields
Stage 2
n/a
n/a
n/a
n/a
4 years, 7 months
RegExp Modifiers
RegExp Buffer Boundaries
Source Phase Imports
Decorator Metadata
Duplicate Named Capture Groups
JSON.parseImmutable
Stage 2
n/a
n/a
n/a
n/a
n/a
3 years, 11 months
Symbol Predicates
Stage 2
n/a
n/a
n/a
n/a
3 years, 11 months
Extractors
Stage 2
n/a
n/a
n/a
n/a
3 years, 9 months
ArrayBuffer transfer
Async Iterator Helpers
Stage 2
n/a
n/a
n/a
n/a
n/a
3 years, 4 months
Await Dictionary
Promise.withResolvers
Iterator Sequencing
Joint Iteration
Math.sumPrecise
Module sync assert
Stage 1
n/a
n/a
n/a
n/a
n/a
2 years, 6 months
Redeclarable global eval-introduced vars
Iterator Unique
Stage 1
n/a
n/a
n/a
n/a
n/a
2 years, 4 months
Atomics.pause
Iterator Chunking
Improved Escapes for Template Literals
Stage 1
n/a
n/a
n/a
n/a
n/a
2 years, 4 months
ESM Phase Imports
Function and Object Literal Decorators
Stage 1
n/a
n/a
n/a
n/a
n/a
2 years, 4 months
Discard Bindings
Stage 2
n/a
n/a
n/a
n/a
2 years, 4 months
Error.isError
Strict Enforcement of 'using'
Stage 1
n/a
n/a
n/a
n/a
n/a
2 years, 2 months
JavaScript Signals standard proposal
Stage 1
n/a
n/a
n/a
n/a
n/a
2 years, 2 months
Concurrency Control
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 10 months
Unordered Async Iterator Helpers
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 10 months
Propagate active ScriptOrModule with JobCallback Record
Stage 2
n/a
n/a
n/a
n/a
n/a
1 year, 10 months
Array.zip
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 8 months
Immutable ArrayBuffers
Stabilize
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 6 months
Import Sync
Stage 2
n/a
n/a
n/a
n/a
1 year, 6 months
Thenable Curtailment
Stage 2
n/a
n/a
n/a
n/a
1 year, 4 months
Math.clamp
Stage 2
n/a
n/a
n/a
n/a
1 year, 4 months
Error.captureStackTrace
Stage 2
n/a
n/a
n/a
n/a
1 year, 4 months
Error Stack Accessor
Composites
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 2 months
Enums
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 2 months
Object.propertyCount
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 2 months
Non-extensible Applies to Private
Compare Strings by Codepoint
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 2 months
Deferred re-exports
Stage 2
n/a
n/a
n/a
n/a
n/a
1 year, 2 months
Disposable AsyncContext.Variable
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year, 2 months
More Random Functions
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year
Inspector
Stage 1
n/a
n/a
n/a
n/a
n/a
1 year
Module Global
Stage 1
n/a
n/a
n/a
n/a
n/a
10 months
Import Bytes
Amount
Stage 2
n/a
n/a
n/a
n/a
9 months
Array.prototype.pushAll
Stage 1
n/a
n/a
n/a
n/a
n/a
9 months
Promise.isPromise
Stage 2
n/a
n/a
n/a
n/a
9 months
Import Text
TypedArray Concatenation
Stage 1
n/a
n/a
n/a
n/a
n/a
7 months
TypedArray Find Within
Stage 1
n/a
n/a
n/a
n/a
n/a
7 months
Iterator Join
Object.keysLength
Stage 2
n/a
n/a
n/a
n/a
n/a
7 months
Object.getNonIndexStringProperties()
Stage 1
n/a
n/a
n/a
n/a
n/a
7 months
Error option limit
Stage 1
n/a
n/a
n/a
n/a
n/a
5 months
Error option framesAbove
Stage 1
n/a
n/a
n/a
n/a
n/a
5 months
Alias Accessors
Stage 1
n/a
n/a
n/a
n/a
n/a
5 months
Composable Accessors via built-in decorators
Stage 1
n/a
n/a
n/a
n/a
n/a
5 months
Iterator Includes
Export all from
Stage 1
n/a
n/a
n/a
n/a
n/a
1 month
Comparisons
Stage 1
n/a
n/a
n/a
n/a
n/a
1 month
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026