The (Unofficial) Blog-style Changelog for the V8 JavaScript Engine

V8 release v12.5

Stable date:

Tags:javascript

Features (2)

RegExp duplicate named capture groups

Category: JavaScript Flag name: --js-regexp-duplicate-named-groups

https://github.com/tc39/proposal-duplicate-named-capturing-groups

JSON data
{
  "category": "JavaScript",
  "flag_name": "--js-regexp-duplicate-named-groups",
  "id": 5149208388829184,
  "milestone": 125,
  "name": "RegExp duplicate named capture groups",
  "summary": "https://github.com/tc39/proposal-duplicate-named-capturing-groups"
}
RegExp modifiers

Category: JavaScript Flag name: --js-regexp-modifiers

RegExp modifiers adds the ability to locally modify the 'i', 'm', and 's' flags inside a pattern. To enable a flag for a subexpression, use `(?X:subexpr)` where X is one of 'i', 'm', or 's'. To disable a flag for a subexpression, use `(-X:subexpr)`. For example, for the case-insensitivity 'i' flag: ``` const re1 = /^[a-z](?-i:[a-z])$/i; re1.test("ab"); // true re1.test("Ab"); // true re1.test("aB"); // false const re2 = /^(?i:[a-z])[a-z]$/; re2.test("ab"); // true re2.test("Ab"); // true re2.test("aB"); // false ```

JSON data
{
  "category": "JavaScript",
  "flag_name": "--js-regexp-modifiers",
  "id": 5100254548721664,
  "milestone": 125,
  "name": "RegExp modifiers",
  "summary": "RegExp modifiers adds the ability to locally modify the 'i', 'm', and 's' flags inside a pattern. To enable a flag for a subexpression, use `(?X:subexpr)` where X is one of 'i', 'm', or 's'. To disable a flag for a subexpression, use `(-X:subexpr)`.\r\n\r\nFor example, for the case-insensitivity 'i' flag:\r\n\r\n```\r\nconst re1 = /^[a-z](?-i:[a-z])$/i;\r\nre1.test(\"ab\"); // true\r\nre1.test(\"Ab\"); // true\r\nre1.test(\"aB\"); // false\r\n\r\nconst re2 = /^(?i:[a-z])[a-z]$/;\r\nre2.test(\"ab\"); // true\r\nre2.test(\"Ab\"); // true\r\nre2.test(\"aB\"); // false\r\n```"
}

V8 release v12.6

Stable date:

Tags:javascript

Features (1)

visualViewport.onscrollend Support

Category: JavaScript

Scrollend is a JavaScript event that fires to signal that a scrolling operation has come to an end. Similar to the Element interface[1], the visualViewport interface[2] includes an onscrollend event handler that should be invoked when a scrolling operation on the visualViewport has ended. Chromium already supports adding a scrollend event listener via `visualViewport.addEventListener("scrollend")`. This just makes it possible to also add an event listener using `visualViewport.onscrollend`. [1]https://html.spec.whatwg.org/multipage/webappapis.html#handler-onscrollend [2]https://drafts.csswg.org/cssom-view/#dom-visualviewport-onscrollend.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5774579609108480,
  "milestone": 126,
  "name": "visualViewport.onscrollend Support",
  "summary": "Scrollend is a JavaScript event that fires to signal that a scrolling operation has come to an end.\n\nSimilar to the Element interface[1], the visualViewport interface[2] includes an onscrollend event handler that should be invoked when a scrolling operation on the visualViewport has ended. Chromium already supports adding a scrollend event listener via `visualViewport.addEventListener(\"scrollend\")`. This just makes it possible to also add an event listener using `visualViewport.onscrollend`.\n\n[1]https://html.spec.whatwg.org/multipage/webappapis.html#handler-onscrollend\n[2]https://drafts.csswg.org/cssom-view/#dom-visualviewport-onscrollend."
}

V8 release v12.7

Stable date:

No new features in this version.

More releases...