Features (6)

Animation.updatePlaybackRate

Category: JavaScript

Animation.updatePlaybackRate() lets you seamlessly transition the playback rate of an animation such that there is no visible jump in the animation. Current time is preserved at the instance the new playback rate takes effect.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 6276633918963712,
  "milestone": 76,
  "name": "Animation.updatePlaybackRate",
  "summary": "Animation.updatePlaybackRate() lets you seamlessly transition the playback rate of an animation such that there is no visible jump in the animation. Current time is preserved at the instance the new playback rate takes effect."
}
Implement Animation.pending

Category: JavaScript

Adds the pending attribute to the Web Animations API. A pending animation is one that is waiting on an asynchronous operation that affects the play state. Adding support for this attribute does not affect the rendering or timing of animations, but simply exposes the signal.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 4843845109940224,
  "milestone": 76,
  "name": "Implement Animation.pending",
  "summary": "Adds the pending attribute to the Web Animations API.\r\n\r\nA pending animation is one that is waiting on an asynchronous operation that affects the play state. Adding support for this attribute does not affect the rendering or timing of animations, but simply exposes the signal.  \r\n\r\n"
}
Promise.allSettled

Category: JavaScript

Adds Promise.allSettled(), which returns a promise that is fulfilled with an array of promise state snapshots, but only after all the original promises have settled, in other words after it has either fulfilled or rejected.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5547381053456384,
  "milestone": 76,
  "name": "Promise.allSettled",
  "summary": "Adds Promise.allSettled(), which returns a promise that is fulfilled with an array of promise state snapshots, but only after all the original promises have settled, in other words after it has either fulfilled or rejected.\r\n\r\n"
}
Locale sensitive BigInt.prototype.toLocaleString and allow Intl.NumberFormat format/formatToParts to take BigInt.

Category: JavaScript

Changes BigInt.prototype.toLocaleString() to locale-sensitive number formatting and changes Intl.NumberFormat.prototype.format() and formatToParts() to accept BigInt as input.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5742274625404928,
  "milestone": 76,
  "name": "Locale sensitive BigInt.prototype.toLocaleString and allow Intl.NumberFormat format/formatToParts to take BigInt.",
  "summary": "Changes BigInt.prototype.toLocaleString() to locale-sensitive number formatting and changes Intl.NumberFormat.prototype.format() and formatToParts() to accept BigInt as input."
}
Intl.DateTimeFormat.prototype.formatRange

Category: JavaScript

Adds formatRange() and formatRangeToParts() methods to Intl.DateTimeFormat to format a range of times between two dates, such as 'Jan 10 – 20, 2007', or 'Jan 10 – Feb 20, 2007'.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5077134515109888,
  "milestone": 76,
  "name": "Intl.DateTimeFormat.prototype.formatRange",
  "summary": "Adds formatRange() and formatRangeToParts() methods to Intl.DateTimeFormat to format a range of times between two dates, such as 'Jan 10 – 20, 2007', or 'Jan 10 – Feb 20, 2007'."
}
DateTimeFormat dateStyle and timeStyle

Category: JavaScript

Adds dateStyle and timeStyle options to functions on Intl.DateTimeFormat, specifically formatToParts() and resolveOptions(). These options provide a compact way to request the appropriate, locale-specific date and time of given length styles.

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5091631933947904,
  "milestone": 76,
  "name": "DateTimeFormat dateStyle and timeStyle ",
  "summary": "Adds dateStyle and timeStyle options to functions on Intl.DateTimeFormat, specifically formatToParts() and resolveOptions(). These options provide a compact way to request the appropriate, locale-specific date and time of given length styles. "
}

API Changes (30)

  • Create V8 7.6 branch for Chromium 76
  • [tracing] Add a way to test perfetto traces.
  • [api] Remove obsolete FunctionTemplate::SetHiddenPrototype().
  • [tracing] Add a configurable output stream for perfetto tracing
  • [cpu-profiler] Remove redundant record_samples option
  • [heap] Add global memory controller
  • [cpu-profiler] Implement CPU profiler subsampling/multiplexing
  • [DevTools] Switch inspector-test.cc to use the CBOR encoded inspector state.
  • make deleted functions public in include
  • [cleanup] Better implementation of SmiTagging<4>::IsValidSmi()
  • [cpu-profiler] Implement StartProfiling call accepting an options object
  • [api] Remove methods deprecated in 7.5 and earlier
  • [cpu-profiler] Add parameter to limit profiler samples taken
  • [api] Deprecate one {SetFlagsFromString} variant
  • [stack-trace] Add 'IsUserJavaScript' flag to stack frame API
  • [DevTools] Add V8InspectorSession::state(), which returns binary (CBOR).
  • [tracing] Implement the default TracingController with Perfetto
  • heap/api: Use regular enum to simplify embedder code
  • [DevTools] Add V8InspectorSession::state(), which returns binary (CBOR).
  • [api] Implement StartupData::CanBeRehashed() for the snapshot blob
  • [ubsan] Fix overflow in AdjustAmountOfExternalAllocatedMemory
  • heap/api: EmbedderHeapTracer: Pass along memory reducing mode
  • [api] Remove deprecated conversion functions
  • [api] Advance Object::Get/Set to V8_DEPRECATED
  • [cpu-profiler] Split out debug mode for CPU profiler naming
  • [Profiler] Ensure ticks in frameless bytecode handlers are interpreted frames.
  • [flags] Receive length as size_t
  • [cpu-profiler] Split out debug mode for CPU profiler naming
  • [api,heap] Remove deprecated Persistent APIs
  • Update master version to 7.6.
JSON data
[
  {
    "author": {
      "name": "Michael Hablich",
      "email": "hablich@chromium.org",
      "time": "Wed May 29 12:29:26 2019"
    },
    "commit": "6977d6133c7945d9859582d8a6c1f79f5e577528",
    "committer": {
      "name": "Michael Hablich",
      "email": "hablich@chromium.org",
      "time": "Wed May 29 12:30:28 2019"
    },
    "subject": "Create V8 7.6 branch for Chromium 76",
    "milestone": 76
  },
  {
    "author": {
      "name": "Peter Marshall",
      "email": "petermarshall@chromium.org",
      "time": "Mon May 27 12:46:35 2019"
    },
    "commit": "d365f62ec1c2681a05a358fa996533f79a673286",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon May 27 14:28:36 2019"
    },
    "subject": "[tracing] Add a way to test perfetto traces.",
    "milestone": 76
  },
  {
    "author": {
      "name": "Benedikt Meurer",
      "email": "bmeurer@chromium.org",
      "time": "Thu May 23 08:23:54 2019"
    },
    "commit": "99a927c6926490e436b34051b565306d890e7e30",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu May 23 09:05:56 2019"
    },
    "subject": "[api] Remove obsolete FunctionTemplate::SetHiddenPrototype().",
    "milestone": 76
  },
  {
    "author": {
      "name": "Peter Marshall",
      "email": "petermarshall@chromium.org",
      "time": "Tue May 21 11:24:16 2019"
    },
    "commit": "a03ed626797be8e9424bef58a7dde4415eb9181f",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed May 22 15:25:31 2019"
    },
    "subject": "[tracing] Add a configurable output stream for perfetto tracing",
    "milestone": 76
  },
  {
    "author": {
      "name": "Andrew Comminos",
      "email": "acomminos@fb.com",
      "time": "Wed May 22 00:06:41 2019"
    },
    "commit": "245a5b38e7ed136e3e88ffc13a390ff46e63376e",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed May 22 06:12:24 2019"
    },
    "subject": "[cpu-profiler] Remove redundant record_samples option",
    "milestone": 76
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Tue May 21 18:13:45 2019"
    },
    "commit": "cfe281f3dba735f14bc114ea3fd0e7cca2aa60db",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue May 21 19:06:01 2019"
    },
    "subject": "[heap] Add global memory controller",
    "milestone": 76
  },
  {
    "author": {
      "name": "Andrew Comminos",
      "email": "acomminos@fb.com",
      "time": "Tue May 14 20:24:49 2019"
    },
    "commit": "deb3231a23b231e423bc1a99cb26e7fad1ab8313",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed May 15 16:48:27 2019"
    },
    "subject": "[cpu-profiler] Implement CPU profiler subsampling/multiplexing",
    "milestone": 76
  },
  {
    "author": {
      "name": "Johannes Henkel",
      "email": "johannes@chromium.org",
      "time": "Tue May 14 23:07:29 2019"
    },
    "commit": "2021d4ef2c0f0088347806a9cdbdeb79d55bc96c",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed May 15 15:58:12 2019"
    },
    "subject": "[DevTools] Switch inspector-test.cc to use the CBOR encoded inspector state.",
    "milestone": 76
  },
  {
    "author": {
      "name": "gengjiawen",
      "email": "technicalcute@gmail.com",
      "time": "Sun May 12 15:50:25 2019"
    },
    "commit": "5554781f7453ce6f2017eda9b87a97b163ee0ad4",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon May 13 07:58:31 2019"
    },
    "subject": "make deleted functions public in include",
    "milestone": 76
  },
  {
    "author": {
      "name": "Igor Sheludko",
      "email": "ishell@chromium.org",
      "time": "Thu May 09 14:15:47 2019"
    },
    "commit": "e96d591e7e27d6cce0213726fea4f62f635d5cb8",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri May 10 10:39:43 2019"
    },
    "subject": "[cleanup] Better implementation of SmiTagging<4>::IsValidSmi()",
    "milestone": 76
  },
  {
    "author": {
      "name": "Andrew Comminos",
      "email": "acomminos@fb.com",
      "time": "Thu May 09 19:20:21 2019"
    },
    "commit": "68449685e96d2774c42bed5988a2a002930c9fa2",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri May 10 08:30:23 2019"
    },
    "subject": "[cpu-profiler] Implement StartProfiling call accepting an options object",
    "milestone": 76
  },
  {
    "author": {
      "name": "Dan Elphick",
      "email": "delphick@chromium.org",
      "time": "Fri May 03 14:16:13 2019"
    },
    "commit": "e0d7f816990ada28ebe1281ca9431236ef8c6e4f",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu May 09 10:38:38 2019"
    },
    "subject": "[api] Remove methods deprecated in 7.5 and earlier",
    "milestone": 76
  },
  {
    "author": {
      "name": "Andrew Comminos",
      "email": "acomminos@fb.com",
      "time": "Wed May 08 19:16:42 2019"
    },
    "commit": "89ed6b764afb0878ab0fb0a2f96e90e12220b490",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed May 08 20:12:02 2019"
    },
    "subject": "[cpu-profiler] Add parameter to limit profiler samples taken",
    "milestone": 76
  },
  {
    "author": {
      "name": "Clemens Hammacher",
      "email": "clemensh@chromium.org",
      "time": "Wed Apr 24 10:43:58 2019"
    },
    "commit": "2f4c928c65f2fa095be1991a58f78d10d55fca10",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon May 06 14:23:28 2019"
    },
    "subject": "[api] Deprecate one {SetFlagsFromString} variant",
    "milestone": 76
  },
  {
    "author": {
      "name": "Simon Zünd",
      "email": "szuend@chromium.org",
      "time": "Fri May 03 08:55:17 2019"
    },
    "commit": "7ebcb5a1531fa64815ed41bc7632585307c842f2",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon May 06 09:48:07 2019"
    },
    "subject": "[stack-trace] Add 'IsUserJavaScript' flag to stack frame API",
    "milestone": 76
  },
  {
    "author": {
      "name": "Johannes Henkel",
      "email": "johannes@chromium.org",
      "time": "Thu May 02 20:50:38 2019"
    },
    "commit": "9d7c1947f52dcfa6c678f63022c19027bf5536ac",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri May 03 16:54:51 2019"
    },
    "subject": "[DevTools] Add V8InspectorSession::state(), which returns binary (CBOR).",
    "milestone": 76
  },
  {
    "author": {
      "name": "Peter Marshall",
      "email": "petermarshall@chromium.org",
      "time": "Tue Apr 30 11:11:39 2019"
    },
    "commit": "8f4063c6ea5597e03a95f42631c33c1618c7cf38",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri May 03 14:33:58 2019"
    },
    "subject": "[tracing] Implement the default TracingController with Perfetto",
    "milestone": 76
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Fri May 03 13:39:37 2019"
    },
    "commit": "da8feb091111bb4c8fab9e6c5903e5f86594839c",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri May 03 14:31:51 2019"
    },
    "subject": "heap/api: Use regular enum to simplify embedder code",
    "milestone": 76
  },
  {
    "author": {
      "name": "Johannes Henkel",
      "email": "johannes@chromium.org",
      "time": "Thu May 02 00:20:31 2019"
    },
    "commit": "b7134d3af6c12393d317fe2b4fca7a03ec6184f9",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu May 02 19:06:48 2019"
    },
    "subject": "[DevTools] Add V8InspectorSession::state(), which returns binary (CBOR).",
    "milestone": 76
  },
  {
    "author": {
      "name": "Joyee Cheung",
      "email": "joyee@igalia.com",
      "time": "Thu May 02 13:49:45 2019"
    },
    "commit": "e0a109c05821fa36ec20e1f25895c23baa8d64c3",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu May 02 14:43:15 2019"
    },
    "subject": "[api] Implement StartupData::CanBeRehashed() for the snapshot blob",
    "milestone": 76
  },
  {
    "author": {
      "name": "Jakob Kummerow",
      "email": "jkummerow@chromium.org",
      "time": "Fri Apr 26 16:06:38 2019"
    },
    "commit": "4349e32d4cd7e9af391987d11b4b555109c14cf1",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Apr 29 20:36:39 2019"
    },
    "subject": "[ubsan] Fix overflow in AdjustAmountOfExternalAllocatedMemory",
    "milestone": 76
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Mon Apr 29 16:01:01 2019"
    },
    "commit": "8e01d664dcbd755689487d9c13450e37d42d193e",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Apr 29 16:56:09 2019"
    },
    "subject": "heap/api: EmbedderHeapTracer: Pass along memory reducing mode",
    "milestone": 76
  },
  {
    "author": {
      "name": "Dan Elphick",
      "email": "delphick@chromium.org",
      "time": "Fri Apr 26 10:45:52 2019"
    },
    "commit": "c76f377a990343b18953123c2726337b38c59812",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Apr 29 09:07:47 2019"
    },
    "subject": "[api] Remove deprecated conversion functions",
    "milestone": 76
  },
  {
    "author": {
      "name": "Dan Elphick",
      "email": "delphick@chromium.org",
      "time": "Tue Apr 16 14:46:38 2019"
    },
    "commit": "30eb6e7ed9f02481bba5f28e2c3e87f51f6b5194",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Apr 29 06:17:42 2019"
    },
    "subject": "[api] Advance Object::Get/Set to V8_DEPRECATED",
    "milestone": 76
  },
  {
    "author": {
      "name": "Andrew Comminos",
      "email": "acomminos@fb.com",
      "time": "Wed Apr 24 20:21:58 2019"
    },
    "commit": "b08412723b360cca9322803d965df36c9e4a6ea3",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Apr 25 14:29:25 2019"
    },
    "subject": "[cpu-profiler] Split out debug mode for CPU profiler naming",
    "milestone": 76
  },
  {
    "author": {
      "name": "Ross McIlroy",
      "email": "rmcilroy@chromium.org",
      "time": "Wed Apr 24 09:20:56 2019"
    },
    "commit": "381a7f9e76d5fd6ee78a45acf146ae5d29117792",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Apr 24 11:33:37 2019"
    },
    "subject": "[Profiler] Ensure ticks in frameless bytecode handlers are interpreted frames.",
    "milestone": 76
  },
  {
    "author": {
      "name": "Clemens Hammacher",
      "email": "clemensh@chromium.org",
      "time": "Tue Apr 23 18:17:01 2019"
    },
    "commit": "5f652b84c0f6049f8c9c4c8630e1f37b1a2b263c",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Apr 24 10:43:17 2019"
    },
    "subject": "[flags] Receive length as size_t",
    "milestone": 76
  },
  {
    "author": {
      "name": "Andrew Comminos",
      "email": "acomminos@fb.com",
      "time": "Wed Apr 17 20:08:26 2019"
    },
    "commit": "fa6ec3cb0836fe0ff8fd692ae2c94cf5de56ea32",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Apr 24 09:35:32 2019"
    },
    "subject": "[cpu-profiler] Split out debug mode for CPU profiler naming",
    "milestone": 76
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Tue Apr 23 12:53:34 2019"
    },
    "commit": "1ebf5f7281fc91cb4ad2d949e1e677c6eab24894",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Apr 23 14:08:51 2019"
    },
    "subject": "[api,heap] Remove deprecated Persistent APIs",
    "milestone": 76
  },
  {
    "author": {
      "name": "Michael Hablich",
      "email": "hablich@chromium.org",
      "time": "Thu Apr 18 08:12:07 2019"
    },
    "commit": "0d988491b6ba697d00b3a9f70d4d14f759cf8dba",
    "committer": {
      "name": "Commit Bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Apr 18 08:14:42 2019"
    },
    "subject": "Update master version to 7.6.",
    "milestone": 76
  }
]