diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml
index 8883b966fc2..6c71514a0df 100644
--- a/features/draft/spec/html.yml
+++ b/features/draft/spec/html.yml
@@ -243,15 +243,6 @@ compat_features:
- api.HashChangeEvent.HashChangeEvent
- api.HashChangeEvent.newURL
- api.HashChangeEvent.oldURL
- - api.History
- - api.History.back
- - api.History.forward
- - api.History.go
- - api.History.length
- - api.History.pushState
- - api.History.replaceState
- - api.History.scrollRestoration
- - api.History.state
- api.ImageData
- api.ImageData.ImageData
- api.ImageData.colorSpace
diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist
index 8329d305ad3..a7f6283a5a1 100644
--- a/features/draft/spec/html.yml.dist
+++ b/features/draft/spec/html.yml.dist
@@ -47,11 +47,6 @@ compat_features:
- api.HTMLInputElement.src
- api.HTMLInputElement.type
- api.HTMLInputElement.value
- - api.History
- - api.History.back
- - api.History.forward
- - api.History.go
- - api.History.length
- api.Location
- api.Location.hash
- api.Location.host
@@ -1060,20 +1055,6 @@ compat_features:
# safari_ios: "3"
- html.elements.input.type_email
- # baseline: high
- # baseline_low_date: 2015-07-29
- # baseline_high_date: 2018-01-29
- # support:
- # chrome: "5"
- # chrome_android: "18"
- # edge: "12"
- # firefox: "4"
- # firefox_android: "4"
- # safari: "5"
- # safari_ios: "4"
- - api.History.pushState
- - api.History.replaceState
-
# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
@@ -1464,19 +1445,6 @@ compat_features:
# safari_ios: "6"
- html.elements.iframe.sandbox.allow-popups
- # baseline: high
- # baseline_low_date: 2015-07-29
- # baseline_high_date: 2018-01-29
- # support:
- # chrome: "19"
- # chrome_android: "25"
- # edge: "12"
- # firefox: "4"
- # firefox_android: "4"
- # safari: "6"
- # safari_ios: "6"
- - api.History.state
-
# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
@@ -2564,19 +2532,6 @@ compat_features:
# safari_ios: "11.3"
- html.elements.link.rel.preconnect
- # baseline: high
- # baseline_low_date: 2020-01-15
- # baseline_high_date: 2022-07-15
- # support:
- # chrome: "46"
- # chrome_android: "46"
- # edge: "79"
- # firefox: "46"
- # firefox_android: "46"
- # safari: "11"
- # safari_ios: "11"
- - api.History.scrollRestoration
-
# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
diff --git a/features/history.yml b/features/history.yml
new file mode 100644
index 00000000000..0085516ff11
--- /dev/null
+++ b/features/history.yml
@@ -0,0 +1,17 @@
+name: History
+description: "The History API manipulates the browser session history, from navigations to state management, in the tab or frame that the current page is loaded in."
+spec: https://html.spec.whatwg.org/multipage/nav-history-apis.html#the-history-interface
+caniuse: history
+# This gets the feature closest to matching Caniuse.
+status:
+ compute_from: api.History.pushState
+compat_features:
+ - api.History
+ - api.History.back
+ - api.History.forward
+ - api.History.go
+ - api.History.length
+ - api.History.pushState
+ - api.History.replaceState
+ - api.History.scrollRestoration
+ - api.History.state
diff --git a/features/history.yml.dist b/features/history.yml.dist
new file mode 100644
index 00000000000..906576ccb4c
--- /dev/null
+++ b/features/history.yml.dist
@@ -0,0 +1,73 @@
+# Generated from: history.yml
+# Do not edit this file by hand. Edit the source file instead!
+
+status:
+ baseline: high
+ baseline_low_date: 2015-07-29
+ baseline_high_date: 2018-01-29
+ support:
+ chrome: "5"
+ chrome_android: "18"
+ edge: "12"
+ firefox: "4"
+ firefox_android: "4"
+ safari: "5"
+ safari_ios: "4"
+compat_features:
+ # baseline: high
+ # baseline_low_date: 2015-07-29
+ # baseline_high_date: 2018-01-29
+ # support:
+ # chrome: "1"
+ # chrome_android: "18"
+ # edge: "12"
+ # firefox: "1"
+ # firefox_android: "4"
+ # safari: "1"
+ # safari_ios: "1"
+ - api.History
+ - api.History.back
+ - api.History.forward
+ - api.History.go
+ - api.History.length
+
+ # ⬇️ Same status as overall feature ⬇️
+ # baseline: high
+ # baseline_low_date: 2015-07-29
+ # baseline_high_date: 2018-01-29
+ # support:
+ # chrome: "5"
+ # chrome_android: "18"
+ # edge: "12"
+ # firefox: "4"
+ # firefox_android: "4"
+ # safari: "5"
+ # safari_ios: "4"
+ - api.History.pushState
+ - api.History.replaceState
+
+ # baseline: high
+ # baseline_low_date: 2015-07-29
+ # baseline_high_date: 2018-01-29
+ # support:
+ # chrome: "19"
+ # chrome_android: "25"
+ # edge: "12"
+ # firefox: "4"
+ # firefox_android: "4"
+ # safari: "6"
+ # safari_ios: "6"
+ - api.History.state
+
+ # baseline: high
+ # baseline_low_date: 2020-01-15
+ # baseline_high_date: 2022-07-15
+ # support:
+ # chrome: "46"
+ # chrome_android: "46"
+ # edge: "79"
+ # firefox: "46"
+ # firefox_android: "46"
+ # safari: "11"
+ # safari_ios: "11"
+ - api.History.scrollRestoration