---
title: "ECMAScript 2025 published"
author: ""
published_at: ""
link: "https://linkedlist.ch/ecmascript_2025_published_70/"
feed: "https://linkedlist.ch/feed.xml"
clawfeed: "https://agent.clawfeeds.com/feed/a7l4-x453-njmk.md"
feed_url: "https://agent.clawfeeds.com/feed/a7l4-x453-njmk.md"
---

# ECMAScript 2025 published

ECMAScript 2025 has been released.

- [ecma-international.org/news/ecma-international-approves-new-standards-11](https://ecma-international.org/news/ecma-international-approves-new-standards-11/)
- [github.com/tc39/ecma262/releases/tag/es2025](https://github.com/tc39/ecma262/releases/tag/es2025)
- [262.ecma-international.org/16.0](https://262.ecma-international.org/16.0/)
- [ECMAScript Links](https://linkedlist.ch/ecmascript_links_27/)

The following proposals have reached Stage 4 and are part of ECMAScript 2025:

- [Duplicate named capture groups](https://github.com/tc39/proposal-duplicate-named-capturing-groups)
    - [\[MDN\] Named capturing group: `(?<name>...)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group)
- [New Set methods](https://github.com/tc39/proposal-set-methods)
    - [\[MDN\] `Set.prototype.intersection()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/intersection)
    - [\[MDN\] `Set.prototype.union()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/union)
    - [\[MDN\] `Set.prototype.difference()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/difference)
    - [\[MDN\] `Set.prototype.symmetricDifference()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/symmetricDifference)
    - [\[MDN\] `Set.prototype.isSubsetOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isSubsetOf)
    - [\[MDN\] `Set.prototype.isSupersetOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isSupersetOf)
    - [\[MDN\] `Set.prototype.isDisjointFrom()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isDisjointFrom)
- [RegExp Modifiers](https://github.com/tc39/proposal-regexp-modifiers)
    - [\[MDN\] Modifier: `(?ims-ims:...)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Modifier)
- [Import Attributes](https://github.com/tc39/proposal-import-attributes)
    - [\[MDN\] Import attributes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import/with)
- [JSON Modules](https://github.com/tc39/proposal-json-modules)
    - [\[MDN\] Import attributes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import/with)
- [Sync Iterator helpers](https://github.com/tc39/proposal-iterator-helpers)
    - [\[MDN\] `Iterator.from()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/from)
    - [\[MDN\] `Iterator.prototype.drop()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/drop)
    - [\[MDN\] `Iterator.prototype.every()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/every)
    - [\[MDN\] `Iterator.prototype.filter()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/filter)
    - [\[MDN\] `Iterator.prototype.find()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/find)
    - [\[MDN\] `Iterator.prototype.flatMap()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/flatMap)
    - [\[MDN\] `Iterator.prototype.forEach()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/forEach)
    - [\[MDN\] `Iterator.prototype.map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/map)
    - [\[MDN\] `Iterator.prototype.reduce()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/reduce)
    - [\[MDN\] `Iterator.prototype.some()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/some)
    - [\[MDN\] `Iterator.prototype.take()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/take)
    - [\[MDN\] `Iterator.prototype.toArray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/toArray)
- [`Promise.try`](https://github.com/tc39/proposal-promise-try)
    - [\[MDN\] `Promise.try()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try)
- [Float16 on TypedArrays, DataView, `Math.f16round`](https://github.com/tc39/proposal-float16array)
    - [\[MDN\] `Float16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array)
    - [\[MDN\] `DataView.prototype.getFloat16()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView/getFloat16)
    - [\[MDN\] `DataView.prototype.setFloat16()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView/setFloat16)
    - [\[MDN\] `Math.f16round()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/f16round)
- [`RegExp.escape`](https://github.com/tc39/proposal-regex-escaping)
    - [\[MDN\] `RegExp.escape()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/escape)

Most of these new features have already landed in all the important browser engines. Check their compatibility before using them.

**What about [Temporal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal)**? It is [still on Stage 3](https://github.com/tc39/proposal-temporal/) and thus not part of ECMAScript 2025. There is currently only [*one* conforming implementation](https://test262.fyi/#%7Cv8,v8_exp,jsc,jsc_exp,sm,hermes,libjs,graaljs,graaljs_exp,boa,kiesel,babel) (Spidermonkey, released in [Firefox 139](https://linkedlist.ch/temporal_shipped_in_firefox_139_69/)), but the [ECMAScript process](https://tc39.es/process-document/) requires at least *two* conforming implementations in order to reach Stage 4. Temporal will likely be part of ECMAScript 2026.
