Features (3)

Disallow unknown import attributes

Category: JavaScript

Throw an error when using unknown keys in import attributes (formerly known as import assertions), such as "import 'x' assert { unknown: 'val' }`, rather than ignoring them. The only accepted attribute remains "type".

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5123137502445568,
  "milestone": 119,
  "name": "Disallow unknown import attributes",
  "summary": "Throw an error when using unknown keys in import attributes (formerly known as import assertions), such as \"import 'x' assert { unknown: 'val' }`, rather than ignoring them. The only accepted attribute remains \"type\"."
}
Promise.withResolvers

Category: JavaScript Flag name: --js-promise-withresolvers

Promise.withResolvers is a static method that returns a new Promise along with its resolver functions, i.e. `const { promise, resolve, reject } = Promise.withResolvers()`. This is a standard version of a common helper function found in many JS libraries. Historically, some may know it as `defer` or `deferred`.

JSON data
{
  "category": "JavaScript",
  "flag_name": "--js-promise-withresolvers",
  "id": 5810984110784512,
  "milestone": 119,
  "name": "Promise.withResolvers",
  "summary": "Promise.withResolvers is a static method that returns a new Promise along with its resolver functions, i.e. `const { promise, resolve, reject } = Promise.withResolvers()`.\n\nThis is a standard version of a common helper function found in many JS libraries. Historically, some may know it as `defer` or `deferred`."
}
WebAssembly Garbage Collection (WasmGC)

Category: WebAssembly

The GC proposal adds efficient support for high-level managed languages to WebAssembly, via struct and array types that enable language compilers targeting Wasm to integrate with a garbage collector in the host VM. In Chrome, enabling this feature implies enabling Typed Function References, which allow function references to be stored in the aforementioned structs and arrays.

JSON data
{
  "category": "WebAssembly",
  "flag_name": "",
  "id": 6062715726462976,
  "milestone": 119,
  "name": "WebAssembly Garbage Collection (WasmGC)",
  "summary": "The GC proposal adds efficient support for high-level managed languages to WebAssembly, via struct and array types that enable language compilers targeting Wasm to integrate with a garbage collector in the host VM.\r\n\r\nIn Chrome, enabling this feature implies enabling Typed Function References, which allow function references to be stored in the aforementioned structs and arrays."
}

API Changes (15)

  • [objects] Force some inlining in debug builds
  • [api] Add Error.cause to V8 API
  • [heap] Refactor StrongRoot(Block)Allocator
  • [sandbox] Generalize indirect pointers
  • Remove deprecated `generateWebDriverValue`
  • Record start-to-stop wall time of INCREMENTAL_MARK_COMPACTOR
  • Unify TypedArray and ArrayBuffer max byte length
  • [api] Deprecate unused use counters
  • [wasm-gc] Enable stringref if imported strings are enabled
  • [api] Deprecate vector<v8::Local>, part 1
  • [api] Introduce v8::Array::Iterate
  • [sandbox] Introduce the IndirectPointerTable (IPT)
  • Deep serialize generators
  • [object] Change the deprecation status of `PROHIBITS_OVERWRITING` API
  • [tagged-ptr] Remove Smi & Object constructors
JSON data
[
  {
    "author": {
      "name": "Leszek Swirski",
      "email": "leszeks@chromium.org",
      "time": "Fri Sep 22 12:30:32 2023"
    },
    "commit": "8a12162da33d098ef629135b7b7ab8f676d7f701",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 29 08:09:21 2023"
    },
    "subject": "[objects] Force some inlining in debug builds",
    "milestone": 119
  },
  {
    "author": {
      "name": "Victor Gomes",
      "email": "victorgomes@chromium.org",
      "time": "Thu Sep 28 09:45:05 2023"
    },
    "commit": "341bce2202f33415e8a1ce710e4ef6834ca381c2",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 28 11:55:01 2023"
    },
    "subject": "[api] Add Error.cause to V8 API",
    "milestone": 119
  },
  {
    "author": {
      "name": "Nikolaos Papaspyrou",
      "email": "nikolaos@chromium.org",
      "time": "Wed Sep 27 10:27:08 2023"
    },
    "commit": "9131137b6ce5a9879ea6921ce8ba8d855c05329a",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 28 08:14:57 2023"
    },
    "subject": "[heap] Refactor StrongRoot(Block)Allocator",
    "milestone": 119
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Tue Sep 26 08:44:04 2023"
    },
    "commit": "775c143f711384a379c73eb37d5ff7bab0ef26fe",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 26 14:49:49 2023"
    },
    "subject": "[sandbox] Generalize indirect pointers",
    "milestone": 119
  },
  {
    "author": {
      "name": "Maksim Sadym",
      "email": "sadym@chromium.org",
      "time": "Mon Sep 25 14:02:00 2023"
    },
    "commit": "f6e230de9616570a861082e8a1a0b19921ff1ace",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 26 12:13:53 2023"
    },
    "subject": "Remove deprecated `generateWebDriverValue`",
    "milestone": 119
  },
  {
    "author": {
      "name": "Etienne Pierre-doray",
      "email": "etiennep@chromium.org",
      "time": "Fri Sep 15 19:07:37 2023"
    },
    "commit": "a907ddedaa45bdc16a21598927b0846f7cf1183c",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 22 19:14:25 2023"
    },
    "subject": "Record start-to-stop wall time of INCREMENTAL_MARK_COMPACTOR",
    "milestone": 119
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Wed Sep 20 17:07:36 2023"
    },
    "commit": "44b299590083b888637c79fb5632806e607ab861",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 22 13:19:44 2023"
    },
    "subject": "Unify TypedArray and ArrayBuffer max byte length",
    "milestone": 119
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Mon Sep 18 13:22:08 2023"
    },
    "commit": "67e2b8658a6040812a092f355d14619857ce2322",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 22 11:47:39 2023"
    },
    "subject": "[api] Deprecate unused use counters",
    "milestone": 119
  },
  {
    "author": {
      "name": "Matthias Liedtke",
      "email": "mliedtke@chromium.org",
      "time": "Wed Sep 20 12:28:21 2023"
    },
    "commit": "ce9544a142ebe5c3e4e899c3f021f68873bf8028",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 21 09:05:47 2023"
    },
    "subject": "[wasm-gc] Enable stringref if imported strings are enabled",
    "milestone": 119
  },
  {
    "author": {
      "name": "Nikolaos Papaspyrou",
      "email": "nikolaos@chromium.org",
      "time": "Wed Sep 20 08:36:49 2023"
    },
    "commit": "8ff02b7d93480a18c315ff88b9e460fe2b6fb2ca",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Sep 20 09:42:49 2023"
    },
    "subject": "[api] Deprecate vector<v8::Local>, part 1",
    "milestone": 119
  },
  {
    "author": {
      "name": "Jakob Kummerow",
      "email": "jkummerow@chromium.org",
      "time": "Thu Sep 14 14:16:16 2023"
    },
    "commit": "85b054e49c3fa0b0a6db4703daafa6cf8a4cccee",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 15 08:31:04 2023"
    },
    "subject": "[api] Introduce v8::Array::Iterate",
    "milestone": 119
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Tue Sep 12 10:42:31 2023"
    },
    "commit": "60fdd54c9168dcbc745a5f70cabc2232b0bd17fe",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 12 17:09:03 2023"
    },
    "subject": "[sandbox] Introduce the IndirectPointerTable (IPT)",
    "milestone": 119
  },
  {
    "author": {
      "name": "Maksim Sadym",
      "email": "sadym@chromium.org",
      "time": "Tue Sep 12 14:13:40 2023"
    },
    "commit": "22f6b9eca4219e66235d4c5b8fedc45160aba426",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 12 16:10:53 2023"
    },
    "subject": "Deep serialize generators",
    "milestone": 119
  },
  {
    "author": {
      "name": "Ho Cheung",
      "email": "uioptt24@gmail.com",
      "time": "Mon Sep 11 08:29:18 2023"
    },
    "commit": "85d36de7fb4dfd28f418fe4cf1d9c3a7be7f8dfc",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Sep 11 09:43:19 2023"
    },
    "subject": "[object] Change the deprecation status of `PROHIBITS_OVERWRITING` API",
    "milestone": 119
  },
  {
    "author": {
      "name": "Leszek Swirski",
      "email": "leszeks@chromium.org",
      "time": "Tue Sep 05 15:17:36 2023"
    },
    "commit": "a5001584c36018ce64114a6711df733483079930",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 05 18:01:52 2023"
    },
    "subject": "[tagged-ptr] Remove Smi & Object constructors",
    "milestone": 119
  }
]