Features (3)

`navigator.webdriver === false` when automation is not enabled.

Category: JavaScript

Prior to this change, Chromium only exposed `navigator.webdriver` when the browser was being automated. However, other browsers expose it unconditionally per the spec (https://w3c.github.io/webdriver/#interface), with the value `false` in case the browser is not being automated. We propose changing Chromium to align with other browsers and the spec. This is a potentially breaking change since web pages could in theory rely on the old `navigator.webdriver === undefined` behavior.

JSON data
{
  "category": "JavaScript",
  "flag_name": "",
  "id": 5670121114697728,
  "milestone": 89,
  "name": "`navigator.webdriver === false` when automation is not enabled.",
  "summary": "Prior to this change, Chromium only exposed `navigator.webdriver` when the browser was being automated. However, other browsers expose it unconditionally per the spec (https://w3c.github.io/webdriver/#interface), with the value `false` in case the browser is not being automated. \r\n\r\nWe propose changing Chromium to align with other browsers and the spec. This is a potentially breaking change since web pages could in theory rely on the old `navigator.webdriver === undefined` behavior."
}
Top-level await

Category: JavaScript

Allow the `await` keyword at the top-level within JavaScript modules.

JSON data
{
  "category": "JavaScript",
  "flag_name": "",
  "id": 5767881411264512,
  "milestone": 89,
  "name": "Top-level await",
  "summary": "Allow the `await` keyword at the top-level within JavaScript modules."
}
Import maps

Category: JavaScript

Import maps allows control over what URLs get fetched by JavaScript import statements and import() expressions.

JSON data
{
  "category": "JavaScript",
  "flag_name": "",
  "id": 5315286962012160,
  "milestone": 89,
  "name": "Import maps",
  "summary": "Import maps allows control over what URLs get fetched by JavaScript import statements and import() expressions."
}

API Changes (28)

  • Create V8 8.9 branch for Chrome M89
  • [inspector] Remove special wasm RemoteObject type.
  • [inspector] Synchronize the various `subtype` enums.
  • Step 1 (of 3-ish): Basic ETW Instrumentation in V8
  • [inspector][wasm] Remove obsolete Debugger.executeWasmEvaluator().
  • DevTools: add support for system-unique execution context ids
  • Delegate unique id generation to embedder
  • [modules][api] Implement HostGetSupportedImportAssertions
  • Expose scriptId as integer
  • [include][cleanup] Replace typedef by using
  • [api] Add Context::GetMicrotaskQueue method
  • [Jobs]: Deprecate IsCompleted and IsRunning.
  • Allow casting to Primitive types from Data
  • [wasm] Use WebAssembly.Memory objects in the scope chain.
  • [api] Clean up ScriptCompiler::StartStreaming* methods
  • [modules] Add ResolveModuleCallback that takes import assertions
  • [config] Add V8_NODISCARD to Scopes in v8.h
  • [config] Add [[nodiscard]] as an attribute to v8config
  • [modules] Add refactored API to get ModuleRequests and expose import assertions
  • (Step 3 of 3): Prepping Wasm events in the Recorder interface
  • [api] Simplify ScriptOrigin
  • [api] Add module streaming support
  • [fastcall] Add CPU profiler support for fast calls
  • [API] Advance API deprecation
  • [API] Advance API deprecation
  • [api] Introduce a single-threaded version of DefaultPlatform
  • Introduce CSPViolation as pause reason (V8)
  • Change Version number to 8.9
JSON data
[
  {
    "author": {
      "name": "Lutz Vahl",
      "email": "vahl@chromium.org",
      "time": "Thu Jan 14 11:56:19 2021"
    },
    "commit": "552b9b32534a113178f716f1eefe46862539e200",
    "committer": {
      "name": "Lutz Vahl",
      "email": "vahl@chromium.org",
      "time": "Thu Jan 14 13:29:26 2021"
    },
    "subject": "Create V8 8.9 branch for Chrome M89",
    "milestone": 89
  },
  {
    "author": {
      "name": "Benedikt Meurer",
      "email": "bmeurer@chromium.org",
      "time": "Thu Jan 07 18:35:22 2021"
    },
    "commit": "cde7a77e3a253dc96424a7ef8d7118022cd26dfd",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Jan 08 02:40:54 2021"
    },
    "subject": "[inspector] Remove special wasm RemoteObject type.",
    "milestone": 89
  },
  {
    "author": {
      "name": "Benedikt Meurer",
      "email": "bmeurer@chromium.org",
      "time": "Thu Jan 07 13:26:07 2021"
    },
    "commit": "99b72a674570547b9d4d2eefe173563386ad4351",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Jan 07 15:12:44 2021"
    },
    "subject": "[inspector] Synchronize the various `subtype` enums.",
    "milestone": 89
  },
  {
    "author": {
      "name": "Sara Tang",
      "email": "sartang@microsoft.com",
      "time": "Tue Jan 05 18:43:34 2021"
    },
    "commit": "8b33c87239c35f665c39ad1c4030e06069e4e277",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Jan 05 20:11:03 2021"
    },
    "subject": "Step 1 (of 3-ish): Basic ETW Instrumentation in V8",
    "milestone": 89
  },
  {
    "author": {
      "name": "Benedikt Meurer",
      "email": "bmeurer@chromium.org",
      "time": "Mon Dec 28 14:43:10 2020"
    },
    "commit": "39645430e219bce7f27cecdf0da2843ebc5bcc01",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Dec 28 16:00:42 2020"
    },
    "subject": "[inspector][wasm] Remove obsolete Debugger.executeWasmEvaluator().",
    "milestone": 89
  },
  {
    "author": {
      "name": "Andrey Kosyakov",
      "email": "caseq@chromium.org",
      "time": "Wed Dec 23 03:54:47 2020"
    },
    "commit": "f656eab5928876809ef46e18de0c9d35d489e17a",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Dec 23 05:15:47 2020"
    },
    "subject": "DevTools: add support for system-unique execution context ids",
    "milestone": 89
  },
  {
    "author": {
      "name": "Andrey Kosyakov",
      "email": "caseq@chromium.org",
      "time": "Tue Dec 22 07:13:23 2020"
    },
    "commit": "6e9f33f99cd6e1cfc048360feb0405dc931309eb",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Dec 22 18:40:10 2020"
    },
    "subject": "Delegate unique id generation to embedder",
    "milestone": 89
  },
  {
    "author": {
      "name": "Daniel Clark",
      "email": "daniec@microsoft.com",
      "time": "Mon Dec 14 20:40:56 2020"
    },
    "commit": "8ae4dc4088826210a52bd678b1921b4e68be2c4b",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Dec 16 03:48:45 2020"
    },
    "subject": "[modules][api] Implement HostGetSupportedImportAssertions",
    "milestone": 89
  },
  {
    "author": {
      "name": "Sigurd Schneider",
      "email": "sigurds@chromium.org",
      "time": "Tue Dec 15 07:27:53 2020"
    },
    "commit": "4df69aca81f6d84af86e5883cf80b8ccb8b465f8",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Dec 15 12:11:13 2020"
    },
    "subject": "Expose scriptId as integer",
    "milestone": 89
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Fri Dec 11 15:18:37 2020"
    },
    "commit": "e677c91f189878d441002a07880cbb2a33cd5624",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Dec 11 16:19:31 2020"
    },
    "subject": "[include][cleanup] Replace typedef by using",
    "milestone": 89
  },
  {
    "author": {
      "name": "Anna Henningsen",
      "email": "anna@addaleax.net",
      "time": "Tue Dec 08 21:13:54 2020"
    },
    "commit": "4bf051d536a172e7932845d82f918ad7280c7873",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Dec 11 13:36:41 2020"
    },
    "subject": "[api] Add Context::GetMicrotaskQueue method",
    "milestone": 89
  },
  {
    "author": {
      "name": "Etienne Pierre-doray",
      "email": "etiennep@chromium.org",
      "time": "Tue Dec 01 15:58:57 2020"
    },
    "commit": "72249208e745e01999669522f0e75bfe192e671e",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Dec 10 16:48:48 2020"
    },
    "subject": "[Jobs]: Deprecate IsCompleted and IsRunning.",
    "milestone": 89
  },
  {
    "author": {
      "name": "Daniel Clark",
      "email": "daniec@microsoft.com",
      "time": "Fri Dec 04 02:50:17 2020"
    },
    "commit": "a8f6c0610883ffd6ac3f2e06206e9b23335a2f48",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Dec 07 19:41:09 2020"
    },
    "subject": "Allow casting to Primitive types from Data",
    "milestone": 89
  },
  {
    "author": {
      "name": "Benedikt Meurer",
      "email": "bmeurer@chromium.org",
      "time": "Mon Dec 07 07:56:41 2020"
    },
    "commit": "058299a8817e60abf9ee37c769b00cda37d5bdfd",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Dec 07 11:45:45 2020"
    },
    "subject": "[wasm] Use WebAssembly.Memory objects in the scope chain.",
    "milestone": 89
  },
  {
    "author": {
      "name": "Camillo Bruni",
      "email": "cbruni@chromium.org",
      "time": "Tue Dec 01 09:22:59 2020"
    },
    "commit": "ed64b9822219f26660592ee5048418c1d4ade2a9",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Dec 01 12:16:06 2020"
    },
    "subject": "[api] Clean up ScriptCompiler::StartStreaming* methods",
    "milestone": 89
  },
  {
    "author": {
      "name": "Daniel Clark",
      "email": "daniec@microsoft.com",
      "time": "Wed Nov 25 19:10:03 2020"
    },
    "commit": "9d72d08a8c74d48eed53f742aebd56a5076cb8dd",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Nov 30 19:54:52 2020"
    },
    "subject": "[modules] Add ResolveModuleCallback that takes import assertions",
    "milestone": 89
  },
  {
    "author": {
      "name": "Santiago Aboy Solanes",
      "email": "solanes@chromium.org",
      "time": "Thu Nov 26 14:24:36 2020"
    },
    "commit": "9a1b4763765e8061db6d56c9d374c37fe8627f15",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Nov 27 17:29:35 2020"
    },
    "subject": "[config] Add V8_NODISCARD to Scopes in v8.h",
    "milestone": 89
  },
  {
    "author": {
      "name": "Santiago Aboy Solanes",
      "email": "solanes@chromium.org",
      "time": "Wed Nov 25 10:50:49 2020"
    },
    "commit": "03a940ebee4a18b6a595440a9c3793f1be3574d9",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Nov 25 11:49:05 2020"
    },
    "subject": "[config] Add [[nodiscard]] as an attribute to v8config",
    "milestone": 89
  },
  {
    "author": {
      "name": "Daniel Clark",
      "email": "daniec@microsoft.com",
      "time": "Tue Nov 24 19:13:00 2020"
    },
    "commit": "f588c889a40d8e67c93089bd0c816b0955747faa",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Nov 24 21:16:02 2020"
    },
    "subject": "[modules] Add refactored API to get ModuleRequests and expose import assertions",
    "milestone": 89
  },
  {
    "author": {
      "name": "Sara Tang",
      "email": "sartang@microsoft.com",
      "time": "Fri Nov 20 23:18:21 2020"
    },
    "commit": "9750bda3dfd985a5f2732f163daf3c24ceea1547",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Nov 24 21:02:32 2020"
    },
    "subject": "(Step 3 of 3): Prepping Wasm events in the Recorder interface",
    "milestone": 89
  },
  {
    "author": {
      "name": "Camillo Bruni",
      "email": "cbruni@chromium.org",
      "time": "Tue Nov 24 14:07:00 2020"
    },
    "commit": "546939fe77cdeee1f870b7393a82d88525a67963",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Nov 24 19:51:42 2020"
    },
    "subject": "[api] Simplify ScriptOrigin",
    "milestone": 89
  },
  {
    "author": {
      "name": "Camillo Bruni",
      "email": "cbruni@chromium.org",
      "time": "Wed Nov 18 12:30:06 2020"
    },
    "commit": "a48fcd6d3bdeaf7f6541b7de5c9609841ecd4dd2",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Nov 23 15:18:21 2020"
    },
    "subject": "[api] Add module streaming support",
    "milestone": 89
  },
  {
    "author": {
      "name": "Maya Lekova",
      "email": "mslekova@chromium.org",
      "time": "Wed Nov 18 11:19:56 2020"
    },
    "commit": "7a62cceb72cd9d9b95cf2517accb29c665a60330",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Nov 18 12:29:22 2020"
    },
    "subject": "[fastcall] Add CPU profiler support for fast calls",
    "milestone": 89
  },
  {
    "author": {
      "name": "Camillo Bruni",
      "email": "cbruni@chromium.org",
      "time": "Tue Nov 17 09:46:33 2020"
    },
    "commit": "9f5b10b19e8885010a72b6690275fe0211d8d3b7",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Nov 18 10:45:39 2020"
    },
    "subject": "[API] Advance API deprecation",
    "milestone": 89
  },
  {
    "author": {
      "name": "Camillo Bruni",
      "email": "cbruni@chromium.org",
      "time": "Mon Nov 16 16:12:20 2020"
    },
    "commit": "e50161e549579d6b4ea6a525c0b274b06d8d1ad2",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Nov 16 17:27:28 2020"
    },
    "subject": "[API] Advance API deprecation",
    "milestone": 89
  },
  {
    "author": {
      "name": "Ulan Degenbaev",
      "email": "ulan@chromium.org",
      "time": "Fri Nov 13 16:10:56 2020"
    },
    "commit": "a18a674bb8423d0eec98e3d3933f648a7029d79d",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Nov 13 17:20:58 2020"
    },
    "subject": "[api] Introduce a single-threaded version of DefaultPlatform",
    "milestone": 89
  },
  {
    "author": {
      "name": "Alfonso Castaño",
      "email": "alcastano@google.com",
      "time": "Wed Nov 04 10:18:59 2020"
    },
    "commit": "9ec952d76584beb3b95d1c54107b971c0ff55677",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Nov 13 09:42:04 2020"
    },
    "subject": "Introduce CSPViolation as pause reason (V8)",
    "milestone": 89
  },
  {
    "author": {
      "name": "Lutz Vahl",
      "email": "vahl@chromium.org",
      "time": "Thu Nov 12 10:39:44 2020"
    },
    "commit": "2970147b913c84df0c2dcafc99f7210a6c3bbe14",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Nov 12 11:55:44 2020"
    },
    "subject": "Change Version number to 8.9",
    "milestone": 89
  }
]