Features (4)

Object.hasOwn

Category: JavaScript Flag name: --harmony-object-has-own

Object.hasOwn provides an easier-to-use, static method version of Object.prototype.hasOwnProperty. For example, Object.hasOwn({ prop:42 }, 'prop') returns true.

JSON data
{
  "category": "JavaScript",
  "flag_name": "--harmony-object-has-own",
  "id": 5662263404920832,
  "milestone": 93,
  "name": "Object.hasOwn",
  "summary": "Object.hasOwn provides an easier-to-use, static method version of Object.prototype.hasOwnProperty. For example, Object.hasOwn({ prop:42 }, 'prop') returns true."
}
Error.cause property

Category: JavaScript

Adds an additional options parameter to the Error() constructor with a cause property, the value of which will be assigned to the error instances as a property. This allows errors to be chained without unnecessary and overelaborate formalities on wrapping the errors in conditions.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5727099325251584,
  "milestone": 93,
  "name": "Error.cause property",
  "summary": "Adds an additional options parameter to the Error() constructor with a cause property, the value of which will be assigned to the error instances as a property. This allows errors to be chained without unnecessary and overelaborate formalities on wrapping the errors in conditions."
}
Intl BestFitMatcher by using ICU LocaleMatcher

Category: JavaScript Flag name: --harmony_intl_best_fit_matcher

Use the ICU LocaleMatcher to implement the BestFitMatcher of ECMA402 in v8 JavaScript engine. ECMA402 defined the BestFitMatcher abstract operation to allow browser implementation to implement a better way to match locale data. UTS35 sec "4.4 Language Matching" details a data driven algorithm to use CLDR. ICU 67.1 (launched in April 2020) comes with an improved icu::LocaleMatcher API and implementation . This document shows how we implement v8's BestFitMatcher to use such API.

JSON data
{
  "category": "JavaScript",
  "flag_name": "--harmony_intl_best_fit_matcher",
  "id": 5407573287108608,
  "milestone": 93,
  "name": "Intl BestFitMatcher by using ICU LocaleMatcher",
  "summary": "Use the ICU LocaleMatcher to implement the BestFitMatcher of ECMA402  in v8 JavaScript engine.\r\nECMA402 defined the BestFitMatcher abstract operation to allow browser implementation to implement a better way to match locale data. \r\nUTS35 sec \"4.4 Language Matching\" details a data driven algorithm to use CLDR. ICU 67.1 (launched in April 2020) comes with an improved icu::LocaleMatcher API and implementation . This document shows how we implement v8's BestFitMatcher to use such API.\r\n\r\n\r\n"
}
CSS module scripts

Category: JavaScript Flag name: --enable-blink-features=CSSModules

CSS Module Scripts are an extension of the ES Script Modules system that allows web developers to load CSS into a component definition in a manner that interacts seamlessly with other module types: import styleSheet from "./styles.css" assert { type: "css" };

JSON data
{
  "category": "JavaScript",
  "flag_name": "--enable-blink-features=CSSModules",
  "id": 5948572598009856,
  "milestone": 93,
  "name": "CSS module scripts",
  "summary": "CSS Module Scripts are an extension of the ES Script Modules system that allows web developers to load CSS into a component definition in a manner that interacts seamlessly with other module types:\r\n\r\nimport styleSheet from \"./styles.css\" assert { type: \"css\" };\r\n"
}

API Changes (20)

  • Make roller owner of touched files
  • Create V8 BRANCH branch for Chrome 93
  • [fastcall] Resolve CFunction overloads based on type checks at runtime
  • Promises: Add is_silent flag and ignore rejects when it is set
  • [inspector] Add `throwOnSideEffect` to `Runtime.callFunctionOn`.
  • [build] Separate out inspector as a shared library
  • [fastcall] Support JSArray as arguments
  • api: Make sure TracedReference never is a zap value
  • Use vanilla context for exception meta data
  • [ext-code-space] Add CodeDataContainer::code field and friends
  • [API] Allow embedders to assign instance types
  • Introduce Isolate::ClearCachesForTesting API method
  • Add TryGetCurrent() method to v8::Isolate
  • Add exception metadata handling to V8 inspector
  • [api] Support PropertyAttribute in v8::Template::Set
  • [fastcall] Extend the fast API interface with sequences
  • [fastcall] Resolve CFunction overloads based on arity
  • Fix various typos in PDL comments + 1 event param.
  • Remove one-shot function optimizations.
  • Update V8 version to 9.3
JSON data
[
  {
    "author": {
      "name": "Liviu Rau",
      "email": "liviurau@chromium.org",
      "time": "Tue Oct 05 12:39:50 2021"
    },
    "commit": "19e693a35736422155db09562bb6105b10bf8285",
    "committer": {
      "name": "Liviu Rau",
      "email": "liviurau@chromium.org",
      "time": "Tue Oct 05 12:48:01 2021"
    },
    "subject": "Make roller owner of touched files",
    "milestone": 93
  },
  {
    "author": {
      "name": "Lutz Vahl",
      "email": "vahl@chromium.org",
      "time": "Thu Jul 15 06:38:31 2021"
    },
    "commit": "47212e20be4878bf9d3e725965f21f37fb127509",
    "committer": {
      "name": "Lutz Vahl",
      "email": "vahl@chromium.org",
      "time": "Thu Jul 15 06:39:48 2021"
    },
    "subject": "Create V8 BRANCH branch for Chrome 93",
    "milestone": 93
  },
  {
    "author": {
      "name": "Paolo Severini",
      "email": "paolosev@microsoft.com",
      "time": "Thu Jul 08 00:48:40 2021"
    },
    "commit": "2690d46507027ffa5ae55efb4f5669b99cf14b6e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Jul 09 18:30:01 2021"
    },
    "subject": "[fastcall] Resolve CFunction overloads based on type checks at runtime",
    "milestone": 93
  },
  {
    "author": {
      "name": "Jesper van den Ende",
      "email": "jespertheend@gmail.com",
      "time": "Tue Jul 06 21:26:10 2021"
    },
    "commit": "f5fa0694688c9f5a95f1bbb1359a0d6c88d6d121",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jul 07 08:48:00 2021"
    },
    "subject": "Promises: Add is_silent flag and ignore rejects when it is set",
    "milestone": 93
  },
  {
    "author": {
      "name": "Benedikt Meurer",
      "email": "bmeurer@chromium.org",
      "time": "Mon Jul 05 11:32:01 2021"
    },
    "commit": "32328edd548c9183a70ebf46decc2e25afc2f590",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jul 05 12:53:07 2021"
    },
    "subject": "[inspector] Add `throwOnSideEffect` to `Runtime.callFunctionOn`.",
    "milestone": 93
  },
  {
    "author": {
      "name": "Dan Elphick",
      "email": "delphick@chromium.org",
      "time": "Fri Jul 02 13:33:18 2021"
    },
    "commit": "92bfb63cace73b967644abb6a26e8703350a7507",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Jul 02 15:11:30 2021"
    },
    "subject": "[build] Separate out inspector as a shared library",
    "milestone": 93
  },
  {
    "author": {
      "name": "Maya Lekova",
      "email": "mslekova@chromium.org",
      "time": "Wed Jun 23 13:08:06 2021"
    },
    "commit": "d0aebc06e020afd44e35fe3b398ddb6fb7711759",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jun 23 14:01:40 2021"
    },
    "subject": "[fastcall] Support JSArray as arguments",
    "milestone": 93
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Wed Jun 23 11:29:25 2021"
    },
    "commit": "e8c5de213737baaa35deac9b6bc44e1f7e6ace23",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jun 23 12:32:48 2021"
    },
    "subject": "api: Make sure TracedReference never is a zap value",
    "milestone": 93
  },
  {
    "author": {
      "name": "Sigurd Schneider",
      "email": "sigurds@chromium.org",
      "time": "Thu Jun 17 06:41:11 2021"
    },
    "commit": "60dfa4de6b43a1824fd7dc32017a317cf63af728",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Jun 17 08:25:21 2021"
    },
    "subject": "Use vanilla context for exception meta data",
    "milestone": 93
  },
  {
    "author": {
      "name": "Igor Sheludko",
      "email": "ishell@chromium.org",
      "time": "Wed Jun 16 12:35:34 2021"
    },
    "commit": "227e90188b9d26a366f048c72fbc65ff08375a21",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jun 16 13:53:17 2021"
    },
    "subject": "[ext-code-space] Add CodeDataContainer::code field and friends",
    "milestone": 93
  },
  {
    "author": {
      "name": "Sathya Gunasekaran",
      "email": "gsathya@chromium.org",
      "time": "Wed Jun 09 10:06:08 2021"
    },
    "commit": "5f82dbbe534635a8b1e93f27e8fd7e68c0eaf291",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jun 14 13:30:26 2021"
    },
    "subject": "[API] Allow embedders to assign instance types",
    "milestone": 93
  },
  {
    "author": {
      "name": "Simon Zünd",
      "email": "szuend@chromium.org",
      "time": "Wed Jun 09 10:46:02 2021"
    },
    "commit": "0b95f282f726490f89a38d7bea00b5598d33acfb",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jun 09 12:14:28 2021"
    },
    "subject": "Introduce Isolate::ClearCachesForTesting API method",
    "milestone": 93
  },
  {
    "author": {
      "name": "Daniel Bevenius",
      "email": "daniel.bevenius@gmail.com",
      "time": "Tue May 25 09:39:45 2021"
    },
    "commit": "ca05c5a2e53b3c3b4e3cba410cac5c99c134bb5f",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Jun 08 08:11:17 2021"
    },
    "subject": "Add TryGetCurrent() method to v8::Isolate",
    "milestone": 93
  },
  {
    "author": {
      "name": "Sigurd Schneider",
      "email": "sigurds@chromium.org",
      "time": "Wed Jun 02 08:36:06 2021"
    },
    "commit": "cda92a6150f6a97bfb6e5ee3eee364b198d44ca5",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Jun 02 09:33:58 2021"
    },
    "subject": "Add exception metadata handling to V8 inspector",
    "milestone": 93
  },
  {
    "author": {
      "name": "Camillo Bruni",
      "email": "cbruni@chromium.org",
      "time": "Mon May 31 21:03:43 2021"
    },
    "commit": "22a32f11f7a39e4a73105608a51ebab0ad97960f",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Jun 01 09:46:46 2021"
    },
    "subject": "[api] Support PropertyAttribute in v8::Template::Set",
    "milestone": 93
  },
  {
    "author": {
      "name": "Maya Lekova",
      "email": "mslekova@chromium.org",
      "time": "Mon May 31 09:34:01 2021"
    },
    "commit": "7261bf01d7a244afee69eb342dcced303dd73072",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon May 31 12:18:16 2021"
    },
    "subject": "[fastcall] Extend the fast API interface with sequences",
    "milestone": 93
  },
  {
    "author": {
      "name": "Paolo Severini",
      "email": "paolosev@microsoft.com",
      "time": "Thu May 20 18:26:07 2021"
    },
    "commit": "3e12e60a27cd166e024bce2793d330f63713ab2e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu May 27 21:30:55 2021"
    },
    "subject": "[fastcall] Resolve CFunction overloads based on arity",
    "milestone": 93
  },
  {
    "author": {
      "name": "Daniel Abraham",
      "email": "daab@google.com",
      "time": "Tue Apr 27 04:04:21 2021"
    },
    "commit": "87132919a42f0ddedee557145ee3d8336a8320c7",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu May 27 09:42:43 2021"
    },
    "subject": "Fix various typos in PDL comments + 1 event param.",
    "milestone": 93
  },
  {
    "author": {
      "name": "Ross McIlroy",
      "email": "rmcilroy@chromium.org",
      "time": "Wed May 19 15:13:43 2021"
    },
    "commit": "55cbb2ce3be503d9096688b72d5af0e40a9e598b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri May 21 12:38:18 2021"
    },
    "subject": "Remove one-shot function optimizations.",
    "milestone": 93
  },
  {
    "author": {
      "name": "Michael Hablich",
      "email": "hablich@chromium.org",
      "time": "Thu May 20 12:43:01 2021"
    },
    "commit": "1ace3b5cac1cb114091aeed6996c24c74c26f06a",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu May 20 12:56:48 2021"
    },
    "subject": "Update V8 version to 9.3",
    "milestone": 93
  }
]