For AI agents: the complete documentation index is available at /tc39-atlas/en/llms.txt, the full documentation bundle is available at /tc39-atlas/en/llms-full.txt, and this page is available as Markdown at /tc39-atlas/en/proposals/index.md.
  • English
  • Proposal index

    Tip

    Browse by stage in the sidebar, or use full-text search in the top-right corner.

    Stage 4 · 99

    ProposalStatusECMAScript edition
    .at()FinishedES2022
    Accessible Object.prototype.hasOwnPropertyFinishedES2022
    Array find from lastFinishedES2023
    Array GroupingFinishedES2024
    Array.fromAsyncFinishedES2026
    Array.prototype.{flat,flatMap}FinishedES2019
    Array.prototype.includesFinishedES2016
    ArrayBuffer transferFinishedES2024
    Async functionsFinishedES2017
    Asynchronous IterationFinishedES2018
    Atomics.pauseFinishedES2027
    Atomics.waitAsyncFinishedES2024
    BigIntFinishedES2020
    Change Array by CopyFinishedES2023
    Class Fields (Private instance methods and accessors, Class Public Instance Fields & Private Instance Fields, Static class fields and private static methods)FinishedES2022
    Class Static BlockFinishedES2022
    DateTimeFormat dateStyle & timeStyleFinishedES2021
    Duplicate named capture groupsFinishedES2025
    Ergonomic brand checks for Private FieldsFinishedES2022
    Error CauseFinishedES2022
    Error.isErrorFinishedES2026
    Explicit Resource ManagementFinishedES2027
    Exponentiation operatorFinishedES2016
    Extend TimeZoneName Option ProposalFinishedES2022
    Float16 on TypedArrays, DataView, Math.f16roundFinishedES2025
    for-in mechanicsFinishedES2020
    Function.prototype.toString revisionFinishedES2019
    globalThisFinishedES2020
    Hashbang GrammarFinishedES2023
    Import AttributesFinishedES2025
    import.metaFinishedES2020
    import()FinishedES2020
    Intl Enumeration APIFinishedES2022
    Intl Era and MonthCode ProposalFinishedES2026
    Intl Locale InfoFinishedES2026
    Intl.DateFormat.prototype.formatRangeFinishedES2021
    Intl.DateTimeFormat.prototype.formatToPartsFinishedES2017
    Intl.DisplayNamesFinishedES2021
    Intl.DisplayNames v2FinishedES2022
    Intl.DurationFormatFinishedES2025
    Intl.ListFormatFinishedES2021
    Intl.LocaleFinishedES2020
    Intl.NumberFormat Unified API ProposalFinishedES2020
    Intl.NumberFormat V3FinishedES2023
    Intl.NumberFormat.prototype.formatToPartsFinishedES2018
    Intl.PluralRulesFinishedES2018
    Intl.RelativeTimeFormatFinishedES2020
    Intl.Segmenter: Unicode Segmentation in JavaScriptFinishedES2022
    iterator chunkingFinishedES2027
    Iterator IncludesFinishedES2027
    Iterator JoinFinishedES2027
    Iterator SequencingFinishedES2026
    Joint IterationFinishedES2027
    JSON ModulesFinishedES2025
    JSON supersetFinishedES2019
    JSON.parse source text accessFinishedES2026
    Lifting template literal restrictionFinishedES2018
    Logical Assignment OperatorsFinishedES2021
    Math.sumPreciseFinishedES2026
    New Set methodsFinishedES2025
    Nullish coalescing OperatorFinishedES2020
    Numeric separatorsFinishedES2021
    Object.fromEntriesFinishedES2019
    Object.getOwnPropertyDescriptorsFinishedES2017
    Object.values/Object.entriesFinishedES2017
    Optional catch bindingFinishedES2019
    Optional ChainingFinishedES2020
    Promise.allSettledFinishedES2020
    Promise.anyFinishedES2021
    Promise.prototype.finallyFinishedES2018
    Promise.tryFinishedES2025
    Promise.withResolversFinishedES2024
    Redeclarable global eval-introduced varsFinishedES2025
    RegExp Lookbehind AssertionsFinishedES2018
    RegExp Match IndicesFinishedES2022
    RegExp ModifiersFinishedES2025
    RegExp named capture groupsFinishedES2018
    RegExp Unicode Property EscapesFinishedES2018
    RegExp v flag with set notation + properties of stringsFinishedES2024
    RegExp.escapeFinishedES2025
    Resizable and growable ArrayBuffersFinishedES2024
    Rest/Spread PropertiesFinishedES2018
    s (dotAll) flag for regular expressionsFinishedES2018
    Shared memory and atomicsFinishedES2017
    String paddingFinishedES2017
    String.prototype.{trimStart,trimEnd}FinishedES2019
    String.prototype.matchAllFinishedES2020
    String.prototype.replaceAllFinishedES2021
    Symbol.prototype.descriptionFinishedES2019
    Symbols as WeakMap keysFinishedES2023
    Sync Iterator helpersFinishedES2025
    TemporalFinishedES2027
    Top-level awaitFinishedES2022
    Trailing commas in function parameter lists and callsFinishedES2017
    Uint8Array to/from Base64FinishedES2026
    UpsertFinishedES2026
    WeakRefsFinishedES2021
    Well-formed JSON.stringifyFinishedES2019
    Well-Formed Unicode StringsFinishedES2024

    Stage 3 · 11

    Stage 2.7 · 9

    ProposalStatusECMAScript edition
    Decorator MetadataActive—
    DecoratorsActive—
    Deferred Re-exportsActive—
    ESM Phase ImportsActive—
    export all fromActive—
    Immutable ArrayBuffersActive—
    Import BytesActive—
    JSON.parse optionsActive—
    ShadowRealmActive—

    Stage 2 · 28

    Stage 1 · 108

    ProposalStatusECMAScript edition
    {BigInt,Number}.fromStringActive—
    Abort ControllerActive—
    Alias AccessorsActive—
    Array EqualityActive—
    Array filteringActive—
    Array.prototype.unique()Active—
    Array.zip and Array.zipKeyedActive—
    Asset ReferencesActive—
    async do expressionsActive—
    Async initializationActive—
    await operationsActive—
    BigInt MathActive—
    Binary ASTActive—
    Block ParamsActive—
    Built In Modules (aka JS Standard Library)Active—
    Bulk-add array elementsActive—
    Call-this operatorActive—
    Cancellation APIActive—
    Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD)Active—
    class Access ExpressionsActive—
    Class Brand ChecksActive—
    Class Method Parameter DecoratorsActive—
    Collection methodsActive—
    Compare Strings by CodepointActive—
    ComparisonsActive—
    CompartmentsActive—
    Composable Accessors via built-in decoratorsActive—
    Concurrency ControlActive—
    Cryptographically Secure Random Number GenerationActive—
    DataView get/set Uint8Clamped methodsActive—
    DecimalActive—
    Declarations in ConditionalsActive—
    Deep Path Properties in Record LiteralsActive—
    Disposable AsyncContext.VariableActive—
    do expressionsActive—
    Double-Ended Iterator and DestructuringActive—
    Dynamic ModulesActive—
    EmitterActive—
    EnumsActive—
    eraDisplay option for Intl.DateTimeFormatActive—
    Error option framesAboveActive—
    Error option limitActive—
    Error stacksActive—
    export v from "mod"; statementsActive—
    ExtensionsActive—
    Faster Promise adoptionActive—
    First-class protocolsActive—
    Freezing prototypesActive—
    Function and Object Literal DecoratorsActive—
    Function MemoizationActive—
    Function onceActive—
    Get IntrinsicActive—
    Grouped Accessors and Auto-AccessorsActive—
    IDL for ECMAScriptActive—
    Improved Escapes for Template LiteralsActive—
    InspectorActive—
    Iterator uniqueActive—
    Legacy reflection features for functions in JavaScriptActive—
    Limited ArrayBufferActive—
    Linear MatchingActive—
    Locale ExtensionsActive—
    Map get and deleteActive—
    Mass Proxy RevocationActive—
    Maximally minimal mixinsActive—
    Module GlobalActive—
    Module KeysActive—
    Module sync assertActive—
    Modulus and Additional Integer MathActive—
    More Currency Display ChoicesActive—
    More Random FunctionsActive—
    Negated in and instanceof operatorsActive—
    new.initializeActive—
    Object pick/omitActive—
    Object.freeze + Object.seal syntaxActive—
    Object.propertyCountActive—
    ObservableActive—
    of and from on collection constructorsActive—
    OOM Fails FastActive—
    Optional chaining in assignment LHSActive—
    Partial applicationActive—
    Pattern MatchingActive—
    Policy Maps and SetsActive—
    Preserve Host VirtualizabilityActive—
    Private declarationsActive—
    Prototype pollution mitigationActive—
    Readonly CollectionsActive—
    RegExp \R EscapeActive—
    RegExp Atomic OperatorsActive—
    RegExp Extended Mode and CommentsActive—
    Restrict subclassing support in built-in methodsActive—
    Reverse iterationActive—
    Reversible string splitActive—
    Richer KeysActive—
    SES (Secure EcmaScript)Active—
    SignalsActive—
    Slice notationActive—
    StabilizeActive—
    Standardized DebugActive—
    Strict Enforcement of 'using'Active—
    String.cookedActive—
    String.prototype.codePointsActive—
    Support for Distributed Promise PipeliningActive—
    Type AnnotationsActive—
    TypedArray ConcatActive—
    TypedArray Find WithinActive—
    uniform parsing of quasi-standard Date.parse inputActive—
    Unordered Async Iterator HelpersActive—
    Wavy Dot: Syntactic Support for Promise PipeliningActive—

    Stage 0 · 16

    Unstaged · 54

    ProposalStatusECMAScript edition
    "use module"Inactive—
    [Stable Formatting] stable-formattingActive—
    {Set,Map}.prototype.toJSONInactive—
    Annex B — HTML Attribute Event HandlersWithdrawn—
    ArrayBuffer.prototype.transferWithdrawn—
    BlöcksWithdrawn—
    Builtins.typeOf() and Builtins.is()Withdrawn—
    Callable class constructorsWithdrawn—
    Cancelable PromisesWithdrawn—
    Date.parse fallback semanticsInactive—
    Default Behaviours for some Intl APIsActive—
    Distinguishing literal stringsWithdrawn—
    Dynamic Import Host AdjustmentWithdrawn—
    Dynamic Module ReformWithdrawn—
    explore associating a unit with a numberActive—
    Extensible numeric literalsWithdrawn—
    Function helpersInactive—
    Function.pipe and flowWithdrawn—
    Generator arrow functionsWithdrawn—
    Generic ComparisonWithdrawn—
    Getting last element of ArrayWithdrawn—
    Improving iteration on ObjectsWithdrawn—
    Intl Energy UnitsActive—
    Intl LocaleMatcherActive—
    Intl Sequence UnitsActive—
    Intl.DateTimeFormat Alignment With Other StandardsActive—
    Intl.MessageFormatActive—
    Intl.MessageResourceActive—
    Intl.Segmenter v2Active—
    Intl.ZonedDateTimeFormatActive—
    isTemplateObjectWithdrawn—
    JSON.tryParseInactive—
    Math ExtensionsWithdrawn—
    Math.signbit: IEEE-754 sign bitWithdrawn—
    Normative ICU ReferenceWithdrawn—
    Object enumerablesInactive—
    Object.shallowEqualWithdrawn—
    Operator overloadingWithdrawn—
    Proposed Grammar change to ES ModulesInactive—
    Record & TupleWithdrawn—
    RefCollectionWithdrawn—
    RegExp Atomic Groups & Possessive QuantifiersInactive—
    Sequence properties in Unicode property escapesWithdrawn—
    SIMD.JS - SIMD APIsInactive—
    Smart Unit Preferences in Intl.NumberFormatActive—
    Symbol.thenableWithdrawn—
    Tagged Collection LiteralsWithdrawn—
    Typed ObjectsInactive—
    TypedArray stride parameterWithdrawn—
    Unused Function ParametersInactive—
    Updates to Tail Calls to include an explicit syntactic opt-inInactive—
    UUIDWithdrawn—
    WeakRefs cleanupSomeWithdrawn—
    ZonesWithdrawn—