Features (3)

Import attributes 'with' syntax

Category: JavaScript Flag name: --js-flags=--harmony-import-attributes

Import attributes[^1] are a JavaScript feature to allow annotating import declarations, for example `import xxx from "mod" with { type: "json" }'. Chrome originally shipped a previous version of the proposal (in M91) using 'assert' as the keyword. This version has then been updated to use 'with' due to some changes needed while integrating it with HTML for JSON and CSS modules[^2]. [^1]: https://github.com/tc39/proposal-import-attributes/ [^2]: https://github.com/whatwg/html/issues/7233

JSON data
{
  "category": "JavaScript",
  "flag_name": "--js-flags=--harmony-import-attributes",
  "id": 5205869105250304,
  "milestone": 123,
  "name": "Import attributes 'with' syntax",
  "summary": "Import attributes[^1] are a JavaScript feature to allow annotating import declarations, for example `import xxx from \"mod\" with { type: \"json\" }'.\r\n\r\nChrome originally shipped a previous version of the proposal (in M91) using 'assert' as the keyword. This version has then been updated to use 'with' due to some changes needed while integrating it with HTML for JSON and CSS modules[^2].\r\n\r\n[^1]: https://github.com/tc39/proposal-import-attributes/\r\n[^2]: https://github.com/whatwg/html/issues/7233"
}
Allow for WebAuthn credential creation in a cross-origin iframe

Category: JavaScript

This feature allows web developers to create WebAuthn[0] credentials (that is, "publickey" credentials, aka passkeys) in cross-origin iframes. Two conditions are required for this new ability: 1. The iframe has a publickey-credentials-create-feature permission policy. 2. The iframe has transient user activation. This will allow developers to create passkeys in embedded scenarios, such as after an identity step-up flow where the Relying Party is providing a federated identity experience. [0]: https://w3c.github.io/webauthn/

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5175677674586112,
  "milestone": null,
  "name": "Allow for WebAuthn credential creation in a cross-origin iframe",
  "summary": "This feature allows web developers to create WebAuthn[0] credentials\r\n(that is, \"publickey\" credentials, aka passkeys) in cross-origin iframes.\r\nTwo conditions are required for this new ability:\r\n\r\n1. The iframe has a publickey-credentials-create-feature permission policy.\r\n2. The iframe has transient user activation.\r\n\r\nThis will allow developers to create passkeys in embedded scenarios, such as after an identity step-up flow where the Relying Party is providing a federated identity experience.\r\n\r\n[0]: https://w3c.github.io/webauthn/"
}
Back/forward cache NotRestoredReason API

Category: JavaScript Flag name: --enable-experimental-web-platform-features

NotRestoredReason API reports the list of reasons why a page is not served from BFcache in a frame tree structure, via PerformanceNavigationTiming API.

JSON data
{
  "category": "JavaScript",
  "flag_name": "--enable-experimental-web-platform-features",
  "id": 5684908759449600,
  "milestone": 123,
  "name": "Back/forward cache NotRestoredReason API",
  "summary": "NotRestoredReason API reports the list of reasons why a page is not served from BFcache in a frame tree structure, via PerformanceNavigationTiming API."
}

API Changes (12)

  • [api] Introduce fast-path for ArrayBuffer::IsResizableByUserJavaScript()
  • Remove unused HostImportModuleDynamicallyWithImportAssertionsCallback code
  • [wasm] Remove feature flags for wasm-gc
  • Fix use after free in mksnapshot
  • [sandbox] Move InterpreterData out of the sandbox
  • [handles] Fix PersistentValueMapBase for direct locals
  • [handles] Fix issues with direct locals
  • [api][handles] Fix TypecheckWitness for direct local handles
  • [api] Fix DictionaryTemplate
  • Refactor flag for JSPI to allow dynamic setting
  • [api] Add DictionaryTemplate to instantiate dictionary objects
  • [api] Remove deprecated wrapper class id
JSON data
[
  {
    "author": {
      "name": "Andreas Haas",
      "email": "ahaas@chromium.org",
      "time": "Wed Feb 07 09:32:38 2024"
    },
    "commit": "4f46325b21509a4e90f5c87257670599f4552218",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Feb 07 14:15:37 2024"
    },
    "subject": "[api] Introduce fast-path for ArrayBuffer::IsResizableByUserJavaScript()",
    "milestone": 123
  },
  {
    "author": {
      "name": "Nicolò Ribaudo",
      "email": "nribaudo@igalia.com",
      "time": "Thu Feb 01 17:53:34 2024"
    },
    "commit": "a08ad97bf9c447cfc45f6a872bb34cd279b26709",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Feb 05 13:40:16 2024"
    },
    "subject": "Remove unused HostImportModuleDynamicallyWithImportAssertionsCallback code",
    "milestone": 123
  },
  {
    "author": {
      "name": "Matthias Liedtke",
      "email": "mliedtke@chromium.org",
      "time": "Mon Jan 29 14:47:04 2024"
    },
    "commit": "8c2eadd3db62a2d37f0ba7dd125ff964656c7778",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 29 16:04:02 2024"
    },
    "subject": "[wasm] Remove feature flags for wasm-gc",
    "milestone": 123
  },
  {
    "author": {
      "name": "Alexey Fedorov",
      "email": "alexey.fedorov@lge.com",
      "time": "Wed Jan 24 13:41:24 2024"
    },
    "commit": "7c42077e0a1163d6e6c808a70ef3dfc113137181",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 29 11:43:08 2024"
    },
    "subject": "Fix use after free in mksnapshot",
    "milestone": 123
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Mon Jan 29 09:08:50 2024"
    },
    "commit": "9ad44615e82a3d2289d9803fb792d5e30ac9d203",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 29 11:30:18 2024"
    },
    "subject": "[sandbox] Move InterpreterData out of the sandbox",
    "milestone": 123
  },
  {
    "author": {
      "name": "Nikolaos Papaspyrou",
      "email": "nikolaos@chromium.org",
      "time": "Thu Jan 25 13:05:44 2024"
    },
    "commit": "2145678fbde71793c37c8a5ca991b07902828e77",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Jan 26 14:29:59 2024"
    },
    "subject": "[handles] Fix PersistentValueMapBase for direct locals",
    "milestone": 123
  },
  {
    "author": {
      "name": "Nikolaos Papaspyrou",
      "email": "nikolaos@chromium.org",
      "time": "Thu Jan 25 14:25:32 2024"
    },
    "commit": "b8290d158dcf44e14f28d811b45201d29ded2bd5",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Jan 26 13:41:43 2024"
    },
    "subject": "[handles] Fix issues with direct locals",
    "milestone": 123
  },
  {
    "author": {
      "name": "Nikolaos Papaspyrou",
      "email": "nikolaos@chromium.org",
      "time": "Wed Jan 24 16:57:53 2024"
    },
    "commit": "62c07c14dc565055e218e8eaee5dcbccfce1ecf0",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Jan 25 15:51:00 2024"
    },
    "subject": "[api][handles] Fix TypecheckWitness for direct local handles",
    "milestone": 123
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Wed Jan 24 08:24:22 2024"
    },
    "commit": "bbc1027a8c51dcbbbc9cd3b34a8badcdafee2d71",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jan 24 09:14:24 2024"
    },
    "subject": "[api] Fix DictionaryTemplate",
    "milestone": 123
  },
  {
    "author": {
      "name": "Francis McCabe",
      "email": "fgm@chromium.org",
      "time": "Tue Jan 23 17:07:28 2024"
    },
    "commit": "cf70bd3b911510bdba8a657c3805a221a908f55b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Jan 23 17:57:03 2024"
    },
    "subject": "Refactor flag for JSPI to allow dynamic setting",
    "milestone": 123
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Mon Jan 22 20:20:20 2024"
    },
    "commit": "2d691723580738af1c772d8d11bcab780a4d009b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Jan 23 12:40:21 2024"
    },
    "subject": "[api] Add DictionaryTemplate to instantiate dictionary objects",
    "milestone": 123
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Mon Jan 22 15:20:50 2024"
    },
    "commit": "75a2f23ea3a2221ca8bff42e8c876f2c0241081b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 22 16:58:29 2024"
    },
    "subject": "[api] Remove deprecated wrapper class id",
    "milestone": 123
  }
]