diff --git a/docs/publishing.md b/docs/publishing.md index e33d23fa325..d7c8d75a77d 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -1,9 +1,24 @@ -# Publishing +# Publishing releases + +## Announcements + +web-features uses a GitHub Discussions thread to give notice of breaking changes and other major changes to interested web-features consumers. + +If you want to receive these announcements, subscribe to the [Upcoming changes](https://github.com/web-platform-dx/web-features/discussions/2613) announcements thread or to all discussions through the repository's _Watch_ menu. + +> [!NOTE] +> The remainder of this section is for [project owners](../GOVERNANCE.md#roles-and-responsibilities). + +If you're planning to publish a breaking release (see [Regular releases](#regular-releases)) in the next two weeks, then post a message to the [Upcoming changes](https://github.com/web-platform-dx/web-features/discussions/2613) announcements thread. +Include a summary of the expected changes, citing relevant issues and pull requests. + +Note that an announcement is not a substitute for seeking consumer feedback early in the design and implementation process. +Announcements should not provoke surprising responses from consumers. ## Regular releases > [!NOTE] -> This information is for [project owners](../GOVERNANCE.md#roles-and-responsibilities). +> This section is for [project owners](../GOVERNANCE.md#roles-and-responsibilities). These are the steps to publish a regular release on npm and as a GitHub release: @@ -50,6 +65,12 @@ These are the steps to publish a regular release on npm and as a GitHub release: ``` 1. Remove all lines from Dependabot. + 1. Append this message to the end of the release notes: + + ```markdown + Subscribe to the [Upcoming changes](https://github.com/web-platform-dx/web-features/discussions/2613) announcements thread for news about upcoming releases, such as breaking changes or major features. + ``` + 1. Click **Publish release**. Publishing the GitHub release creates the tag. This triggers the [Publish web-features GitHub Actions workflows](https://github.com/web-platform-dx/web-features/blob/main/.github/workflows/publish_web-features.yml), uploads GitHub release artifacts and publishes the package to npm. @@ -69,7 +90,7 @@ You can install these prereleases using a command such as `npm install web-featu ## Secrets > [!NOTE] -> This information is for [project owners](../GOVERNANCE.md#roles-and-responsibilities). +> This section is for [project owners](../GOVERNANCE.md#roles-and-responsibilities). Publishing requires the `NPM_TOKEN` repository secret. diff --git a/features/a.yml b/features/a.yml index 957281de6be..44837fad122 100644 --- a/features/a.yml +++ b/features/a.yml @@ -26,7 +26,10 @@ compat_features: - api.HTMLAnchorElement.username - html.elements.a - html.elements.a.href + - html.elements.a.href.href_sms + - html.elements.a.href.href_top - html.elements.a.hreflang + - html.elements.a.implicit_noopener - html.elements.a.rel - html.elements.a.rel.noopener - html.elements.a.rel.noreferrer diff --git a/features/a.yml.dist b/features/a.yml.dist index 05b379d0170..bc4ef8feb65 100644 --- a/features/a.yml.dist +++ b/features/a.yml.dist @@ -47,6 +47,19 @@ compat_features: - html.elements.a.target - html.elements.a.type + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "10" + # firefox_android: "10" + # safari: ≤4 + # safari_ios: ≤3.2 + - html.elements.a.href.href_top + # baseline: high # baseline_low_date: 2015-11-12 # baseline_high_date: 2018-05-12 @@ -125,3 +138,22 @@ compat_features: # safari: "10.1" # safari_ios: "10.3" - html.elements.a.rel.noopener + + # baseline: high + # baseline_low_date: 2021-01-21 + # baseline_high_date: 2023-07-21 + # support: + # chrome: "88" + # chrome_android: "88" + # edge: "88" + # firefox: "79" + # firefox_android: "79" + # safari: "12.1" + # safari_ios: "12.2" + - html.elements.a.implicit_noopener + + # baseline: false + # support: + # firefox: "12" + # firefox_android: "14" + - html.elements.a.href.href_sms diff --git a/features/async-clipboard.yml.dist b/features/async-clipboard.yml.dist index db599856498..b2e6a8d4bb9 100644 --- a/features/async-clipboard.yml.dist +++ b/features/async-clipboard.yml.dist @@ -82,9 +82,12 @@ compat_features: # safari_ios: "13.4" - api.Clipboard.type_text-html - # baseline: false + # baseline: low + # baseline_low_date: 2025-02-06 # support: + # chrome: "133" # chrome_android: "98" + # edge: "133" # firefox: "127" # firefox_android: "127" # safari: "13.1" diff --git a/features/atomics-pause.yml.dist b/features/atomics-pause.yml.dist index caaf1d6ffbb..5d14c6aa2bf 100644 --- a/features/atomics-pause.yml.dist +++ b/features/atomics-pause.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - javascript.builtins.Atomics.pause diff --git a/features/attr.yml.dist b/features/attr.yml.dist index 634f38f5997..850a6957aed 100644 --- a/features/attr.yml.dist +++ b/features/attr.yml.dist @@ -7,14 +7,23 @@ status: compat_features: # baseline: false # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" # firefox: "119" # firefox_android: "119" - css.types.attr.fallback + # baseline: false + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + - css.types.attr.type-or-unit + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: {} - - css.types.attr.type-or-unit - css.types.attr.type-or-unit.angle - css.types.attr.type-or-unit.color - css.types.attr.type-or-unit.frequency diff --git a/features/attribution-reporting.yml b/features/attribution-reporting.yml index ea556c85a1a..1b9fcc23869 100644 --- a/features/attribution-reporting.yml +++ b/features/attribution-reporting.yml @@ -3,6 +3,7 @@ description: The Attribution Reporting API measures when an ad click or view lea spec: https://wicg.github.io/attribution-reporting-api/ compat_features: - api.HTMLAnchorElement.attributionSrc + - api.HTMLAreaElement.attributionSrc - api.HTMLImageElement.attributionSrc - api.HTMLScriptElement.attributionSrc - api.Request.Request.init_attributionReporting_parameter @@ -10,6 +11,7 @@ compat_features: - api.XMLHttpRequest.setAttributionReporting - api.fetch.init_attributionReporting_parameter - html.elements.a.attributionsrc + - html.elements.area.attributionsrc - html.elements.iframe.allow.attribution-reporting - html.elements.img.attributionsrc - html.elements.script.attributionsrc diff --git a/features/attribution-reporting.yml.dist b/features/attribution-reporting.yml.dist index c89d9ec54ea..1233d16c25f 100644 --- a/features/attribution-reporting.yml.dist +++ b/features/attribution-reporting.yml.dist @@ -4,9 +4,9 @@ status: baseline: false support: - chrome: "125" - chrome_android: "125" - edge: "125" + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: # baseline: false # support: @@ -20,7 +20,6 @@ compat_features: - http.headers.Attribution-Reporting-Support - http.headers.Permissions-Policy.attribution-reporting - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "125" @@ -34,5 +33,14 @@ compat_features: - api.XMLHttpRequest.setAttributionReporting - api.fetch.init_attributionReporting_parameter - html.elements.a.attributionsrc + - html.elements.area.attributionsrc - html.elements.img.attributionsrc - html.elements.script.attributionsrc + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + - api.HTMLAreaElement.attributionSrc diff --git a/features/container-scroll-state-queries.yml.dist b/features/container-scroll-state-queries.yml.dist index 02b0bba17ed..bbe326bbf77 100644 --- a/features/container-scroll-state-queries.yml.dist +++ b/features/container-scroll-state-queries.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - css.properties.container-type.scroll-state diff --git a/features/contenteditable.yml b/features/contenteditable.yml index b7e62532d01..20eaac140bd 100644 --- a/features/contenteditable.yml +++ b/features/contenteditable.yml @@ -5,5 +5,4 @@ caniuse: contenteditable compat_features: - html.global_attributes.contenteditable - api.HTMLElement.contentEditable - - api.HTMLElement.inputMode - api.HTMLElement.isContentEditable diff --git a/features/contenteditable.yml.dist b/features/contenteditable.yml.dist index e494c16e8bc..6d2f0177b4e 100644 --- a/features/contenteditable.yml.dist +++ b/features/contenteditable.yml.dist @@ -3,16 +3,16 @@ status: baseline: high - baseline_low_date: 2021-12-07 - baseline_high_date: 2024-06-07 + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 support: - chrome: "66" - chrome_android: "66" - edge: "79" - firefox: "95" - firefox_android: "79" - safari: "12.1" - safari_ios: "12.2" + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "4" + firefox_android: "4" + safari: ≤4 + safari_ios: ≤3.2 compat_features: # baseline: high # baseline_low_date: 2015-07-29 @@ -52,17 +52,3 @@ compat_features: # safari: "3" # safari_ios: "1" - api.HTMLElement.isContentEditable - - # ⬇️ Same status as overall feature ⬇️ - # baseline: high - # baseline_low_date: 2021-12-07 - # baseline_high_date: 2024-06-07 - # support: - # chrome: "66" - # chrome_android: "66" - # edge: "79" - # firefox: "95" - # firefox_android: "79" - # safari: "12.1" - # safari_ios: "12.2" - - api.HTMLElement.inputMode diff --git a/features/declarative-shadow-dom.yml b/features/declarative-shadow-dom.yml index ff6e8c60c4b..808d6388bbc 100644 --- a/features/declarative-shadow-dom.yml +++ b/features/declarative-shadow-dom.yml @@ -5,3 +5,14 @@ group: - html - web-components caniuse: declarative-shadow-dom +status: + compute_from: html.elements.template.shadowrootmode +compat_features: + - api.HTMLTemplateElement.shadowRootClonable + - api.HTMLTemplateElement.shadowRootMode + - api.HTMLTemplateElement.shadowRootDelegatesFocus + - api.HTMLTemplateElement.shadowRootSerializable + - html.elements.template.shadowrootmode + - html.elements.template.shadowrootclonable + - html.elements.template.shadowrootdelegatesfocus + - html.elements.template.shadowrootserializable diff --git a/features/declarative-shadow-dom.yml.dist b/features/declarative-shadow-dom.yml.dist index 2d896c8429e..bfe65d79176 100644 --- a/features/declarative-shadow-dom.yml.dist +++ b/features/declarative-shadow-dom.yml.dist @@ -13,5 +13,77 @@ status: safari: "16.4" safari_ios: "16.4" compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: low + # baseline_low_date: 2024-02-20 + # support: + # chrome: "111" + # chrome_android: "111" + # edge: "111" + # firefox: "123" + # firefox_android: "123" + # safari: "16.4" + # safari_ios: "16.4" - api.HTMLTemplateElement.shadowRootMode - html.elements.template.shadowrootmode + + # baseline: low + # baseline_low_date: 2024-09-16 + # support: + # chrome: "123" + # chrome_android: "123" + # edge: "123" + # firefox: "123" + # firefox_android: "123" + # safari: "18" + # safari_ios: "18" + - api.HTMLTemplateElement.shadowRootDelegatesFocus + + # baseline: low + # baseline_low_date: 2024-09-16 + # support: + # chrome: "124" + # chrome_android: "124" + # edge: "124" + # firefox: "125" + # firefox_android: "125" + # safari: "18" + # safari_ios: "18" + - api.HTMLTemplateElement.shadowRootClonable + + # baseline: low + # baseline_low_date: 2024-09-16 + # support: + # chrome: "125" + # chrome_android: "125" + # edge: "125" + # firefox: "128" + # firefox_android: "128" + # safari: "18" + # safari_ios: "18" + - api.HTMLTemplateElement.shadowRootSerializable + + # baseline: false + # support: + # chrome: "123" + # chrome_android: "123" + # edge: "123" + # firefox: "123" + # firefox_android: "123" + - html.elements.template.shadowrootdelegatesfocus + + # baseline: false + # support: + # chrome: "124" + # chrome_android: "124" + # edge: "124" + # firefox: "125" + # firefox_android: "125" + - html.elements.template.shadowrootclonable + + # baseline: false + # support: + # chrome: "125" + # chrome_android: "125" + # edge: "125" + - html.elements.template.shadowrootserializable diff --git a/features/device-posture.yml.dist b/features/device-posture.yml.dist index 866036352b5..fb2a2e2a414 100644 --- a/features/device-posture.yml.dist +++ b/features/device-posture.yml.dist @@ -3,19 +3,13 @@ status: baseline: false - support: {} + support: + chrome: "132" + chrome_android: "132" + edge: "132" compat_features: - # baseline: false - # support: - # chrome: "132" - # chrome_android: "132" - # edge: "132" - api.DevicePosture - api.DevicePosture.change_event - api.DevicePosture.type - api.Navigator.devicePosture - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: {} - css.at-rules.media.device-posture diff --git a/features/draft/spec/attribution-reporting-api.yml b/features/draft/spec/attribution-reporting-api.yml deleted file mode 100644 index 8f85af2ff73..00000000000 --- a/features/draft/spec/attribution-reporting-api.yml +++ /dev/null @@ -1,24 +0,0 @@ -draft_date: 2025-01-20 -name: Attribution Reporting -description: TODO -spec: https://wicg.github.io/attribution-reporting-api/ -compat_features: - - api.HTMLAreaElement.attributionSrc - -# The following features in the spec are already part of web-features: -# - Attribution reporting: -# - api.HTMLAnchorElement.attributionSrc -# - api.HTMLImageElement.attributionSrc -# - api.HTMLScriptElement.attributionSrc -# - api.Request.Request.init_attributionReporting_parameter -# - api.XMLHttpRequest.setAttributionReporting -# - api.fetch.init_attributionReporting_parameter -# - html.elements.a.attributionsrc -# - html.elements.iframe.allow.attribution-reporting -# - html.elements.img.attributionsrc -# - html.elements.script.attributionsrc -# - http.headers.Attribution-Reporting-Eligible -# - http.headers.Attribution-Reporting-Register-Source -# - http.headers.Attribution-Reporting-Register-Trigger -# - http.headers.Attribution-Reporting-Support -# - http.headers.Permissions-Policy.attribution-reporting diff --git a/features/draft/spec/attribution-reporting-api.yml.dist b/features/draft/spec/attribution-reporting-api.yml.dist deleted file mode 100644 index f9e0b642080..00000000000 --- a/features/draft/spec/attribution-reporting-api.yml.dist +++ /dev/null @@ -1,8 +0,0 @@ -# Generated from: attribution-reporting-api.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: {} -compat_features: - - api.HTMLAreaElement.attributionSrc diff --git a/features/draft/spec/css-color-hdr-1.yml b/features/draft/spec/css-color-hdr-1.yml new file mode 100644 index 00000000000..a49c07ddad3 --- /dev/null +++ b/features/draft/spec/css-color-hdr-1.yml @@ -0,0 +1,9 @@ +draft_date: 2025-02-10 +name: CSS Color HDR Module Level 1 +description: TODO +spec: https://drafts.csswg.org/css-color-hdr-1/ +compat_features: + - css.properties.dynamic-range-limit + - css.properties.dynamic-range-limit.constrained-high + - css.properties.dynamic-range-limit.high + - css.properties.dynamic-range-limit.standard diff --git a/features/draft/spec/css-color-hdr-1.yml.dist b/features/draft/spec/css-color-hdr-1.yml.dist new file mode 100644 index 00000000000..96926a829ed --- /dev/null +++ b/features/draft/spec/css-color-hdr-1.yml.dist @@ -0,0 +1,11 @@ +# Generated from: css-color-hdr-1.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + - css.properties.dynamic-range-limit + - css.properties.dynamic-range-limit.constrained-high + - css.properties.dynamic-range-limit.high + - css.properties.dynamic-range-limit.standard diff --git a/features/draft/spec/css-fonts-5.yml b/features/draft/spec/css-fonts-5.yml deleted file mode 100644 index f02c8f0864b..00000000000 --- a/features/draft/spec/css-fonts-5.yml +++ /dev/null @@ -1,245 +0,0 @@ -draft_date: 2025-01-27 -name: CSS Fonts Module Level 5 -description: TODO -spec: https://drafts.csswg.org/css-fonts-5/ -compat_features: - - css.properties.font-family.ui-monospace - - css.properties.font-family.ui-rounded - - css.properties.font-family.ui-sans-serif - - css.properties.font-family.ui-serif - -# The following features in the spec are already part of web-features: -# - @font-face: -# - api.CSSFontFaceRule -# - api.CSSFontFaceRule.style -# - css.at-rules.font-face -# - css.at-rules.font-face.OpenType_CBDT_CBLC -# - css.at-rules.font-face.OpenType_SBIX -# - css.at-rules.font-face.font-family -# - css.at-rules.font-face.src -# - css.at-rules.font-face.src.drop_invalid_item -# - css.at-rules.font-face.src.format_keyword -# - css.at-rules.font-face.src.tech_keyword -# - css.at-rules.font-face.unicode-range -# - font-variant-alternates: -# - api.CSSFontFeatureValuesMap -# - api.CSSFontFeatureValuesMap.@@iterator -# - api.CSSFontFeatureValuesMap.clear -# - api.CSSFontFeatureValuesMap.delete -# - api.CSSFontFeatureValuesMap.entries -# - api.CSSFontFeatureValuesMap.forEach -# - api.CSSFontFeatureValuesMap.get -# - api.CSSFontFeatureValuesMap.has -# - api.CSSFontFeatureValuesMap.keys -# - api.CSSFontFeatureValuesMap.set -# - api.CSSFontFeatureValuesMap.size -# - api.CSSFontFeatureValuesMap.values -# - api.CSSFontFeatureValuesRule -# - api.CSSFontFeatureValuesRule.annotation -# - api.CSSFontFeatureValuesRule.characterVariant -# - api.CSSFontFeatureValuesRule.fontFamily -# - api.CSSFontFeatureValuesRule.ornaments -# - api.CSSFontFeatureValuesRule.styleset -# - api.CSSFontFeatureValuesRule.stylistic -# - api.CSSFontFeatureValuesRule.swash -# - css.at-rules.font-feature-values -# - css.at-rules.font-feature-values.annotation -# - css.at-rules.font-feature-values.character-variant -# - css.at-rules.font-feature-values.historical-forms -# - css.at-rules.font-feature-values.ornaments -# - css.at-rules.font-feature-values.styleset -# - css.at-rules.font-feature-values.stylistic -# - css.at-rules.font-feature-values.swash -# - css.properties.font-variant-alternates -# - css.properties.font-variant-alternates.annotation -# - css.properties.font-variant-alternates.character_variant -# - css.properties.font-variant-alternates.historical-forms -# - css.properties.font-variant-alternates.normal -# - css.properties.font-variant-alternates.ornaments -# - css.properties.font-variant-alternates.styleset -# - css.properties.font-variant-alternates.stylistic -# - css.properties.font-variant-alternates.swash -# - font-palette: -# - api.CSSFontPaletteValuesRule -# - api.CSSFontPaletteValuesRule.basePalette -# - api.CSSFontPaletteValuesRule.fontFamily -# - api.CSSFontPaletteValuesRule.name -# - api.CSSFontPaletteValuesRule.overrideColors -# - css.at-rules.font-palette-values -# - css.at-rules.font-palette-values.base-palette -# - css.at-rules.font-palette-values.font-family -# - css.at-rules.font-palette-values.override-colors -# - css.properties.font-palette -# - css.properties.font-palette.dark -# - css.properties.font-palette.light -# - css.properties.font-palette.normal -# - COLRv0: -# - css.at-rules.font-face.OpenType_COLRv0 -# - COLRv1: -# - css.at-rules.font-face.OpenType_COLRv1 -# - SVG: -# - css.at-rules.font-face.OpenType_SVG -# - Font metric overrides: -# - css.at-rules.font-face.ascent-override -# - css.at-rules.font-face.descent-override -# - css.at-rules.font-face.line-gap-override -# - font-display: -# - css.at-rules.font-face.font-display -# - font-feature-settings: -# - css.at-rules.font-face.font-feature-settings -# - css.properties.font-feature-settings -# - css.properties.font-feature-settings.normal -# - font-stretch: -# - css.at-rules.font-face.font-stretch -# - css.properties.font.font_stretch_support -# - css.properties.font-stretch -# - css.properties.font-stretch.percentage -# - svg.global_attributes.font-stretch -# - font-style: -# - css.at-rules.font-face.font-style -# - css.properties.font-style -# - css.properties.font-style.italic -# - css.properties.font-style.normal -# - css.properties.font-style.oblique-angle -# - svg.global_attributes.font-style -# - font-variation-settings: -# - css.at-rules.font-face.font-variation-settings -# - css.properties.font-variation-settings -# - font-weight: -# - css.at-rules.font-face.font-weight -# - css.properties.font-weight -# - css.properties.font-weight.bold -# - css.properties.font-weight.bolder -# - css.properties.font-weight.lighter -# - css.properties.font-weight.normal -# - css.properties.font-weight.number -# - svg.global_attributes.font-weight -# - font-size-adjust: -# - css.at-rules.font-face.size-adjust -# - css.properties.font-size-adjust -# - css.properties.font-size-adjust.from-font -# - css.properties.font-size-adjust.none -# - css.properties.font-size-adjust.two-values -# - svg.global_attributes.font-size-adjust -# - Font shorthand: -# - css.properties.font -# - css.properties.font.caption -# - css.properties.font.icon -# - css.properties.font.menu -# - css.properties.font.message-box -# - css.properties.font.small-caption -# - css.properties.font.status-bar -# - font-family: -# - css.properties.font-family -# - svg.global_attributes.font-family -# - Math font family: -# - css.properties.font-family.math -# - System font: -# - css.properties.font-family.system-ui -# - font-kerning: -# - css.properties.font-kerning -# - font-language-override: -# - css.properties.font-language-override -# - font-optical-sizing: -# - css.properties.font-optical-sizing -# - css.properties.font-optical-sizing.auto -# - css.properties.font-optical-sizing.none -# - font-palette animation: -# - css.properties.font-palette.animation_computed -# - css.properties.font-palette.palette-mix_function -# - font-size: -# - css.properties.font-size -# - css.properties.font-size.rem_values -# - css.properties.font-size.xxx-large -# - svg.global_attributes.font-size -# - MathML: -# - css.properties.font-size.math -# - font-synthesis: -# - css.properties.font-synthesis -# - css.properties.font-synthesis.position -# - css.properties.font-synthesis.small-caps -# - css.properties.font-synthesis.style -# - css.properties.font-synthesis.weight -# - font-synthesis-position: -# - css.properties.font-synthesis-position -# - css.properties.font-synthesis-position.auto -# - css.properties.font-synthesis-position.none -# - font-synthesis-small-caps: -# - css.properties.font-synthesis-small-caps -# - css.properties.font-synthesis-small-caps.auto -# - css.properties.font-synthesis-small-caps.none -# - font-synthesis-style: -# - css.properties.font-synthesis-style -# - css.properties.font-synthesis-style.auto -# - css.properties.font-synthesis-style.none -# - font-synthesis-weight: -# - css.properties.font-synthesis-weight -# - css.properties.font-synthesis-weight.auto -# - css.properties.font-synthesis-weight.none -# - font-variant: -# - css.properties.font-variant -# - css.properties.font-variant.css_fonts_shorthand -# - css.properties.font-variant.greek_accented_characters -# - css.properties.font-variant.historical-forms -# - css.properties.font-variant.none -# - css.properties.font-variant.normal -# - css.properties.font-variant.sub -# - css.properties.font-variant.super -# - css.properties.font-variant.turkic_is -# - css.properties.font-variant.uppercase_eszett -# - svg.global_attributes.font-variant -# - font-variant-caps: -# - css.properties.font-variant-caps -# - css.properties.font-variant-caps.all-petite-caps -# - css.properties.font-variant-caps.all-small-caps -# - css.properties.font-variant-caps.normal -# - css.properties.font-variant-caps.petite-caps -# - css.properties.font-variant-caps.small-caps -# - css.properties.font-variant-caps.titling-caps -# - css.properties.font-variant-caps.unicase -# - font-variant-east-asian: -# - css.properties.font-variant-east-asian -# - css.properties.font-variant-east-asian.full-width -# - css.properties.font-variant-east-asian.jis04 -# - css.properties.font-variant-east-asian.jis78 -# - css.properties.font-variant-east-asian.jis83 -# - css.properties.font-variant-east-asian.jis90 -# - css.properties.font-variant-east-asian.normal -# - css.properties.font-variant-east-asian.proportional-width -# - css.properties.font-variant-east-asian.ruby -# - css.properties.font-variant-east-asian.simplified -# - css.properties.font-variant-east-asian.traditional -# - font-variant-emoji: -# - css.properties.font-variant-emoji -# - css.properties.font-variant-emoji.emoji -# - css.properties.font-variant-emoji.normal -# - css.properties.font-variant-emoji.text -# - css.properties.font-variant-emoji.unicode -# - font-variant-ligatures: -# - css.properties.font-variant-ligatures -# - css.properties.font-variant-ligatures.common-ligatures -# - css.properties.font-variant-ligatures.contextual -# - css.properties.font-variant-ligatures.discretionary-ligatures -# - css.properties.font-variant-ligatures.historical-ligatures -# - css.properties.font-variant-ligatures.no-common-ligatures -# - css.properties.font-variant-ligatures.no-contextual -# - css.properties.font-variant-ligatures.no-discretionary-ligatures -# - css.properties.font-variant-ligatures.no-historical-ligatures -# - css.properties.font-variant-ligatures.none -# - css.properties.font-variant-ligatures.normal -# - font-variant-numeric: -# - css.properties.font-variant-numeric -# - css.properties.font-variant-numeric.diagonal-fractions -# - css.properties.font-variant-numeric.lining-nums -# - css.properties.font-variant-numeric.normal -# - css.properties.font-variant-numeric.oldstyle-nums -# - css.properties.font-variant-numeric.ordinal -# - css.properties.font-variant-numeric.proportional-nums -# - css.properties.font-variant-numeric.slashed-zero -# - css.properties.font-variant-numeric.stacked-fractions -# - css.properties.font-variant-numeric.tabular-nums -# - font-variant-position: -# - css.properties.font-variant-position -# - css.properties.font-variant-position.normal -# - css.properties.font-variant-position.sub -# - css.properties.font-variant-position.super diff --git a/features/draft/spec/css-inline-3.yml b/features/draft/spec/css-inline-3.yml index 8e2fae031b1..01f86116ab4 100644 --- a/features/draft/spec/css-inline-3.yml +++ b/features/draft/spec/css-inline-3.yml @@ -1,4 +1,4 @@ -draft_date: 2025-01-27 +draft_date: 2025-02-10 name: CSS Inline Layout Module Level 3 description: TODO spec: https://drafts.csswg.org/css-inline-3/ @@ -7,8 +7,6 @@ compat_features: - css.types.text-edge.alphabetic - css.types.text-edge.cap - css.types.text-edge.ex - - css.types.text-edge.ideographic - - css.types.text-edge.ideographic-ink - css.types.text-edge.text # The following features in the spec are already part of web-features: @@ -55,6 +53,16 @@ compat_features: # - css.properties.text-box-trim.trim-both # - css.properties.text-box-trim.trim-end # - css.properties.text-box-trim.trim-start +# - vertical-align: +# - css.properties.vertical-align +# - css.properties.vertical-align.baseline +# - css.properties.vertical-align.bottom +# - css.properties.vertical-align.middle +# - css.properties.vertical-align.sub +# - css.properties.vertical-align.super +# - css.properties.vertical-align.text-bottom +# - css.properties.vertical-align.text-top +# - css.properties.vertical-align.top # - SVG: # - svg.global_attributes.alignment-baseline # - svg.global_attributes.baseline-shift diff --git a/features/draft/spec/css-inline-3.yml.dist b/features/draft/spec/css-inline-3.yml.dist index e043e5ca5dc..dc61c878adf 100644 --- a/features/draft/spec/css-inline-3.yml.dist +++ b/features/draft/spec/css-inline-3.yml.dist @@ -3,20 +3,15 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" + safari: "18.2" + safari_ios: "18.2" compat_features: - # baseline: false - # support: - # safari: "18.2" - # safari_ios: "18.2" - css.types.text-edge - css.types.text-edge.alphabetic - css.types.text-edge.cap - css.types.text-edge.ex - css.types.text-edge.text - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: {} - - css.types.text-edge.ideographic - - css.types.text-edge.ideographic-ink diff --git a/features/draft/spec/css-scroll-snap-2.yml.dist b/features/draft/spec/css-scroll-snap-2.yml.dist index 3120ec88b2c..ebd03ae2779 100644 --- a/features/draft/spec/css-scroll-snap-2.yml.dist +++ b/features/draft/spec/css-scroll-snap-2.yml.dist @@ -3,7 +3,10 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - css.properties.scroll-initial-target - css.properties.scroll-initial-target.nearest diff --git a/features/draft/spec/cssom-view-1.yml.dist b/features/draft/spec/cssom-view-1.yml.dist index ab5f02734ce..296723e85ff 100644 --- a/features/draft/spec/cssom-view-1.yml.dist +++ b/features/draft/spec/cssom-view-1.yml.dist @@ -19,11 +19,17 @@ compat_features: # edge: "128" - api.Document.caretPositionFromPoint.options_parameter + # baseline: false + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + - api.Document.moveBefore + - api.Element.moveBefore + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: {} - api.Document.getBoxQuads - - api.Document.moveBefore - api.Element.getBoxQuads - - api.Element.moveBefore - api.Text.getBoxQuads diff --git a/features/draft/spec/dom-parsing.yml.dist b/features/draft/spec/dom-parsing.yml.dist index f5f3842e765..6b0a34adbe5 100644 --- a/features/draft/spec/dom-parsing.yml.dist +++ b/features/draft/spec/dom-parsing.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - api.Element.moveBefore diff --git a/features/draft/spec/dom.yml.dist b/features/draft/spec/dom.yml.dist index 0307a67b73d..06f7865c040 100644 --- a/features/draft/spec/dom.yml.dist +++ b/features/draft/spec/dom.yml.dist @@ -3,7 +3,10 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: # baseline: high # baseline_low_date: ≤2020-01-15 @@ -84,7 +87,10 @@ compat_features: # ⬇️ Same status as overall feature ⬇️ # baseline: false - # support: {} + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" - api.Document.moveBefore - api.DocumentFragment.moveBefore - api.Element.moveBefore diff --git a/features/draft/spec/ecmascript.yml b/features/draft/spec/ecmascript.yml index e2f584a8cf8..e966d79e3aa 100644 --- a/features/draft/spec/ecmascript.yml +++ b/features/draft/spec/ecmascript.yml @@ -1,9 +1,8 @@ -draft_date: 2025-01-30 -name: ECMAScript Language Specification +draft_date: 2025-02-10 +name: ECMAScript® 2025 Language Specification description: TODO spec: https://tc39.es/ecma262/multipage/ compat_features: - - javascript.builtins.AggregateError.serializable_object - javascript.builtins.Array.@@species # The following features in the spec are already part of web-features: @@ -11,6 +10,7 @@ compat_features: # - javascript.builtins.AggregateError # - javascript.builtins.AggregateError.AggregateError # - javascript.builtins.AggregateError.errors +# - javascript.builtins.AggregateError.serializable_object # - javascript.builtins.Promise.any # - Array (initial support): # - javascript.builtins.Array diff --git a/features/draft/spec/ecmascript.yml.dist b/features/draft/spec/ecmascript.yml.dist index f61a59c5b24..f8f7edf5b8c 100644 --- a/features/draft/spec/ecmascript.yml.dist +++ b/features/draft/spec/ecmascript.yml.dist @@ -2,27 +2,16 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: false + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 support: - firefox: "103" - firefox_android: "103" + chrome: "51" + chrome_android: "51" + edge: "79" + firefox: "48" + firefox_android: "48" + safari: "10" + safari_ios: "10" compat_features: - # baseline: high - # baseline_low_date: 2020-01-15 - # baseline_high_date: 2022-07-15 - # support: - # chrome: "51" - # chrome_android: "51" - # edge: "79" - # firefox: "48" - # firefox_android: "48" - # safari: "10" - # safari_ios: "10" - javascript.builtins.Array.@@species - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # firefox: "103" - # firefox_android: "103" - - javascript.builtins.AggregateError.serializable_object diff --git a/features/draft/spec/element-capture.yml b/features/draft/spec/element-capture.yml deleted file mode 100644 index 22f76129079..00000000000 --- a/features/draft/spec/element-capture.yml +++ /dev/null @@ -1,8 +0,0 @@ -draft_date: 2024-12-02 -name: Element Capture -description: TODO -spec: https://screen-share.github.io/element-capture/ -compat_features: - - api.BrowserCaptureMediaStreamTrack.restrictTo - - api.RestrictionTarget - - api.RestrictionTarget.fromElement_static diff --git a/features/draft/spec/element-timing.yml b/features/draft/spec/element-timing.yml new file mode 100644 index 00000000000..36b40ca5210 --- /dev/null +++ b/features/draft/spec/element-timing.yml @@ -0,0 +1,21 @@ +draft_date: 2025-02-10 +name: Element Timing API +description: TODO +spec: https://w3c.github.io/element-timing/ +compat_features: + - api.PerformanceElementTiming.renderTime.cross-origin + +# The following features in the spec are already part of web-features: +# - Element timing: +# - api.Element.elementTiming +# - api.PerformanceElementTiming +# - api.PerformanceElementTiming.element +# - api.PerformanceElementTiming.id +# - api.PerformanceElementTiming.identifier +# - api.PerformanceElementTiming.intersectionRect +# - api.PerformanceElementTiming.loadTime +# - api.PerformanceElementTiming.naturalHeight +# - api.PerformanceElementTiming.naturalWidth +# - api.PerformanceElementTiming.renderTime +# - api.PerformanceElementTiming.toJSON +# - api.PerformanceElementTiming.url diff --git a/features/draft/spec/element-timing.yml.dist b/features/draft/spec/element-timing.yml.dist new file mode 100644 index 00000000000..da2142f2309 --- /dev/null +++ b/features/draft/spec/element-timing.yml.dist @@ -0,0 +1,11 @@ +# Generated from: element-timing.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "133" + chrome_android: "133" + edge: "133" +compat_features: + - api.PerformanceElementTiming.renderTime.cross-origin diff --git a/features/draft/spec/fetch.yml b/features/draft/spec/fetch.yml index b73973af75f..5b35c3f0594 100644 --- a/features/draft/spec/fetch.yml +++ b/features/draft/spec/fetch.yml @@ -1,4 +1,4 @@ -draft_date: 2025-01-30 +draft_date: 2025-02-10 name: Fetch description: TODO spec: https://fetch.spec.whatwg.org/ @@ -35,7 +35,6 @@ compat_features: # - api.Request.Request.response_body_readablestream # - api.Request.arrayBuffer # - api.Request.blob -# - api.Request.body # - api.Request.bodyUsed # - api.Request.bytes # - api.Request.cache @@ -91,6 +90,8 @@ compat_features: # - Fetch priority: # - api.Request.Request.init_priority_parameter # - api.fetch.init_priority_parameter +# - Fetch request streams: +# - api.Request.body # - Abortable fetch: # - api.Request.signal # - api.fetch.init_signal_parameter diff --git a/features/draft/spec/fullscreen.yml.dist b/features/draft/spec/fullscreen.yml.dist index 6bff9689443..e901c18252e 100644 --- a/features/draft/spec/fullscreen.yml.dist +++ b/features/draft/spec/fullscreen.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - api.Element.moveBefore diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml index 29f3c395742..6c6bcbff7b4 100644 --- a/features/draft/spec/html.yml +++ b/features/draft/spec/html.yml @@ -1,4 +1,4 @@ -draft_date: 2025-01-30 +draft_date: 2025-02-10 name: HTML description: TODO spec: https://html.spec.whatwg.org/multipage/ @@ -20,7 +20,6 @@ compat_features: - api.HTMLAllCollection.item - api.HTMLAllCollection.length - api.HTMLAllCollection.namedItem - - api.HTMLAnchorElement.hrefTranslate - api.HTMLBaseElement.href.forbid_data_javascript_urls - api.HTMLBaseElement.href.forbid_special_characters - api.HTMLButtonElement.command @@ -37,7 +36,10 @@ compat_features: - api.HTMLCanvasElement.toDataURL.type_parameter_jpeg - api.HTMLCanvasElement.toDataURL.type_parameter_png - api.HTMLCanvasElement.toDataURL.type_parameter_webp + - api.HTMLDialogElement.closedBy + - api.HTMLDialogElement.requestClose - api.HTMLElement.command_event + - api.HTMLElement.popover.hint - api.HTMLIFrameElement.featurePolicy - api.HTMLImageElement.currentSrc - api.HTMLImageElement.sizes.auto @@ -73,6 +75,7 @@ compat_features: - api.MediaError.message - api.MouseEvent.relatedTarget.drag_events - api.Navigator.authentication + - api.OffscreenCanvasRenderingContext2D.getContextAttributes - api.PromiseRejectionEvent - api.PromiseRejectionEvent.PromiseRejectionEvent - api.PromiseRejectionEvent.promise @@ -151,12 +154,9 @@ compat_features: - api.setInterval.worker_support - api.setTimeout.supports_parameters_for_callback - api.setTimeout.worker_support - - html.elements.a.href.href_sms - - html.elements.a.href.href_top - - html.elements.a.hreftranslate - - html.elements.a.implicit_noopener - html.elements.button.command - html.elements.button.commandfor + - html.elements.dialog.closedby - html.elements.form.autocomplete.new-password - html.elements.form.autocomplete.one-time-code - html.elements.form.autocomplete.webauthn @@ -175,6 +175,7 @@ compat_features: - html.elements.input.colorspace - html.elements.link.rel.icon - html.elements.script.type.importmap.integrity + - html.elements.script.type.importmap.multiple_import_maps - html.elements.select.autocomplete - html.elements.template.shadowrootclonable - html.elements.template.shadowrootdelegatesfocus @@ -190,7 +191,7 @@ compat_features: - html.global_attributes.draggable - html.global_attributes.hidden - html.global_attributes.id - - html.global_attributes.inputmode + - html.global_attributes.popover.hint - http.headers.Cross-Origin-Embedder-Policy - http.headers.Cross-Origin-Embedder-Policy.credentialless - http.headers.Cross-Origin-Opener-Policy @@ -716,7 +717,10 @@ compat_features: # - api.HTMLAnchorElement.username # - html.elements.a # - html.elements.a.href +# - html.elements.a.href.href_sms +# - html.elements.a.href.href_top # - html.elements.a.hreflang +# - html.elements.a.implicit_noopener # - html.elements.a.rel # - html.elements.a.rel.noopener # - html.elements.a.rel.noreferrer @@ -1110,7 +1114,6 @@ compat_features: # - api.HTMLElement.change_event # - Contenteditable: # - api.HTMLElement.contentEditable -# - api.HTMLElement.inputMode # - api.HTMLElement.isContentEditable # - html.global_attributes.contenteditable # - contenteditable="plaintext-only": @@ -1123,6 +1126,9 @@ compat_features: # - api.HTMLElement.inert # - api.HTMLElement.inert.ignores_find_in_page # - html.global_attributes.inert +# - inputmode: +# - api.HTMLElement.inputMode +# - html.global_attributes.inputmode # - Lang: # - api.HTMLElement.lang # - html.global_attributes.lang diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist index d1d3fccfad8..9821c8472f8 100644 --- a/features/draft/spec/html.yml.dist +++ b/features/draft/spec/html.yml.dist @@ -88,19 +88,6 @@ compat_features: # safari_ios: "1" - api.HTMLOptionsCollection.remove - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "10" - # firefox_android: "10" - # safari: ≤4 - # safari_ios: ≤3.2 - - html.elements.a.href.href_top - # baseline: high # baseline_low_date: 2015-07-29 # baseline_high_date: 2018-01-29 @@ -785,19 +772,6 @@ compat_features: # safari_ios: "12.2" - api.queueMicrotask - # baseline: high - # baseline_low_date: 2021-01-21 - # baseline_high_date: 2023-07-21 - # support: - # chrome: "88" - # chrome_android: "88" - # edge: "88" - # firefox: "79" - # firefox_android: "79" - # safari: "12.1" - # safari_ios: "12.2" - - html.elements.a.implicit_noopener - # baseline: high # baseline_low_date: 2021-04-26 # baseline_high_date: 2023-10-26 @@ -839,19 +813,6 @@ compat_features: # safari_ios: "15" - api.MediaError.message - # baseline: high - # baseline_low_date: 2021-12-07 - # baseline_high_date: 2024-06-07 - # support: - # chrome: "66" - # chrome_android: "66" - # edge: "79" - # firefox: "95" - # firefox_android: "79" - # safari: "12.1" - # safari_ios: "12.2" - - html.global_attributes.inputmode - # baseline: high # baseline_low_date: 2021-12-13 # baseline_high_date: 2024-06-13 @@ -1311,15 +1272,19 @@ compat_features: # baseline: false # support: - # safari: "9" - # safari_ios: "9" - - api.HTMLMediaElement.getStartDate + # chrome: "133" + # chrome_android: "133" + # edge: "133" + - api.Document.moveBefore + - api.HTMLElement.popover.hint + - html.elements.script.type.importmap.multiple_import_maps + - html.global_attributes.popover.hint # baseline: false # support: - # firefox: "12" - # firefox_android: "14" - - html.elements.a.href.href_sms + # safari: "9" + # safari_ios: "9" + - api.HTMLMediaElement.getStartDate # baseline: false # support: @@ -1340,25 +1305,21 @@ compat_features: # firefox_android: "79" - html.elements.iframe.allow.document-domain - # baseline: false - # support: - # chrome: "81" - # chrome_android: "81" - - api.HTMLAnchorElement.hrefTranslate - - html.elements.a.hreftranslate - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: {} - - api.Document.moveBefore - api.HTMLButtonElement.command - api.HTMLButtonElement.commandForElement + - api.HTMLDialogElement.closedBy + - api.HTMLDialogElement.requestClose - api.HTMLElement.command_event - api.HTMLInputElement.alpha - api.HTMLInputElement.colorSpace - api.Navigator.authentication + - api.OffscreenCanvasRenderingContext2D.getContextAttributes - html.elements.button.command - html.elements.button.commandfor + - html.elements.dialog.closedby - html.elements.hr.hr_in_select - html.elements.input.alpha - html.elements.input.colorspace diff --git a/features/draft/spec/largest-contentful-paint.yml b/features/draft/spec/largest-contentful-paint.yml new file mode 100644 index 00000000000..cf8ffb5902b --- /dev/null +++ b/features/draft/spec/largest-contentful-paint.yml @@ -0,0 +1,17 @@ +draft_date: 2025-02-10 +name: Largest Contentful Paint +description: TODO +spec: https://w3c.github.io/largest-contentful-paint/ +compat_features: + - api.LargestContentfulPaint.renderTime.cross-origin + +# The following features in the spec are already part of web-features: +# - Largest contentful paint (LCP): +# - api.LargestContentfulPaint +# - api.LargestContentfulPaint.element +# - api.LargestContentfulPaint.id +# - api.LargestContentfulPaint.loadTime +# - api.LargestContentfulPaint.renderTime +# - api.LargestContentfulPaint.size +# - api.LargestContentfulPaint.toJSON +# - api.LargestContentfulPaint.url diff --git a/features/draft/spec/largest-contentful-paint.yml.dist b/features/draft/spec/largest-contentful-paint.yml.dist new file mode 100644 index 00000000000..742b9e16c09 --- /dev/null +++ b/features/draft/spec/largest-contentful-paint.yml.dist @@ -0,0 +1,11 @@ +# Generated from: largest-contentful-paint.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "133" + chrome_android: "133" + edge: "133" +compat_features: + - api.LargestContentfulPaint.renderTime.cross-origin diff --git a/features/draft/spec/permissions.yml b/features/draft/spec/permissions.yml index 818c8a14735..b1852b8cc87 100644 --- a/features/draft/spec/permissions.yml +++ b/features/draft/spec/permissions.yml @@ -1,11 +1,10 @@ -draft_date: 2024-11-27 +draft_date: 2025-02-10 name: Permissions description: TODO spec: https://w3c.github.io/permissions/ compat_features: - api.PermissionStatus.change_event - api.PermissionStatus.name - - api.Permissions.permission_accessibility-events - api.Permissions.permission_background-sync - api.Permissions.permission_camera - api.Permissions.permission_geolocation diff --git a/features/draft/spec/permissions.yml.dist b/features/draft/spec/permissions.yml.dist index ec43c7ed781..7c341f1919d 100644 --- a/features/draft/spec/permissions.yml.dist +++ b/features/draft/spec/permissions.yml.dist @@ -83,7 +83,6 @@ compat_features: # chrome: "62" # chrome_android: "62" # edge: "79" - - api.Permissions.permission_accessibility-events - api.Permissions.permission_background-sync - api.Permissions.permission_magnetometer diff --git a/features/draft/spec/pointerevents4.yml.dist b/features/draft/spec/pointerevents4.yml.dist index a43f18cee78..39f0e0b88e1 100644 --- a/features/draft/spec/pointerevents4.yml.dist +++ b/features/draft/spec/pointerevents4.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - api.Element.moveBefore diff --git a/features/draft/spec/pointerlock-2.yml.dist b/features/draft/spec/pointerlock-2.yml.dist index 3e5223a381a..0fd6c8c18fa 100644 --- a/features/draft/spec/pointerlock-2.yml.dist +++ b/features/draft/spec/pointerlock-2.yml.dist @@ -3,7 +3,10 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: # baseline: false # support: @@ -24,5 +27,8 @@ compat_features: # ⬇️ Same status as overall feature ⬇️ # baseline: false - # support: {} + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" - api.Document.moveBefore diff --git a/features/draft/spec/portals.yml b/features/draft/spec/portals.yml deleted file mode 100644 index 53cfe5bfe0a..00000000000 --- a/features/draft/spec/portals.yml +++ /dev/null @@ -1,6 +0,0 @@ -draft_date: 2024-09-09 -name: Portals -description: TODO -spec: https://wicg.github.io/portals/ -compat_features: - - html.elements.portal diff --git a/features/draft/spec/resource-timing.yml.dist b/features/draft/spec/resource-timing.yml.dist index f474951d48a..d5573b3c717 100644 --- a/features/draft/spec/resource-timing.yml.dist +++ b/features/draft/spec/resource-timing.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - api.PerformanceResourceTiming.finalResponseHeadersStart diff --git a/features/draft/spec/rfc8470.yml b/features/draft/spec/rfc8470.yml deleted file mode 100644 index 405f8f446a4..00000000000 --- a/features/draft/spec/rfc8470.yml +++ /dev/null @@ -1,7 +0,0 @@ -draft_date: 2024-09-09 -name: Using Early Data in HTTP -description: TODO -spec: https://httpwg.org/specs/rfc8470.html -compat_features: - - http.headers.Early-Data - - http.status.425 diff --git a/features/draft/spec/selection-api.yml.dist b/features/draft/spec/selection-api.yml.dist index 263fb87c5d2..11eaf8e03f6 100644 --- a/features/draft/spec/selection-api.yml.dist +++ b/features/draft/spec/selection-api.yml.dist @@ -52,10 +52,16 @@ compat_features: # edge: "79" - api.Document.featurePolicy + # baseline: false + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + - api.Document.moveBefore + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: {} - - api.Document.moveBefore - api.Selection.collapse.accepts_nodes_in_shadow_trees - api.Selection.extend.accepts_nodes_in_shadow_trees - api.Selection.setBaseAndExtent.accepts_nodes_in_shadow_trees diff --git a/features/draft/spec/shared-storage.yml b/features/draft/spec/shared-storage.yml new file mode 100644 index 00000000000..db7feb3b69e --- /dev/null +++ b/features/draft/spec/shared-storage.yml @@ -0,0 +1,38 @@ +draft_date: 2025-02-10 +name: Shared Storage API +description: TODO +spec: https://wicg.github.io/shared-storage/ +compat_features: + - api.SharedStorage.batchUpdate + - api.SharedStorageAppendMethod + - api.SharedStorageAppendMethod.SharedStorageAppendMethod + - api.SharedStorageClearMethod + - api.SharedStorageClearMethod.SharedStorageClearMethod + - api.SharedStorageDeleteMethod + - api.SharedStorageDeleteMethod.SharedStorageDeleteMethod + - api.SharedStorageModifierMethod + - api.SharedStorageSetMethod + - api.SharedStorageSetMethod.SharedStorageSetMethod + - api.SharedStorageWorkletGlobalScope.interestGroups + +# The following features in the spec are already part of web-features: +# - Shared storage: +# - api.HTMLIFrameElement.sharedStorageWritable +# - api.HTMLImageElement.sharedStorageWritable +# - api.SharedStorage +# - api.SharedStorage.append +# - api.SharedStorage.clear +# - api.SharedStorage.createWorklet +# - api.SharedStorage.delete +# - api.SharedStorage.get +# - api.SharedStorage.run +# - api.SharedStorage.selectURL +# - api.SharedStorage.set +# - api.SharedStorage.worklet +# - api.SharedStorageWorklet +# - api.SharedStorageWorklet.run +# - api.SharedStorageWorklet.selectURL +# - api.SharedStorageWorkletGlobalScope +# - api.SharedStorageWorkletGlobalScope.register +# - api.SharedStorageWorkletGlobalScope.sharedStorage +# - api.Window.sharedStorage diff --git a/features/draft/spec/shared-storage.yml.dist b/features/draft/spec/shared-storage.yml.dist new file mode 100644 index 00000000000..0fd089db6b7 --- /dev/null +++ b/features/draft/spec/shared-storage.yml.dist @@ -0,0 +1,18 @@ +# Generated from: shared-storage.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + - api.SharedStorage.batchUpdate + - api.SharedStorageAppendMethod + - api.SharedStorageAppendMethod.SharedStorageAppendMethod + - api.SharedStorageClearMethod + - api.SharedStorageClearMethod.SharedStorageClearMethod + - api.SharedStorageDeleteMethod + - api.SharedStorageDeleteMethod.SharedStorageDeleteMethod + - api.SharedStorageModifierMethod + - api.SharedStorageSetMethod + - api.SharedStorageSetMethod.SharedStorageSetMethod + - api.SharedStorageWorkletGlobalScope.interestGroups diff --git a/features/draft/spec/web-animations-2.yml.dist b/features/draft/spec/web-animations-2.yml.dist index 1d4f77a7218..fa68e613b55 100644 --- a/features/draft/spec/web-animations-2.yml.dist +++ b/features/draft/spec/web-animations-2.yml.dist @@ -3,6 +3,9 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" compat_features: - api.Animation.overallProgress diff --git a/features/draft/spec/webrtc-stats.yml.dist b/features/draft/spec/webrtc-stats.yml.dist index 24d5c95e40f..8c20636b9ff 100644 --- a/features/draft/spec/webrtc-stats.yml.dist +++ b/features/draft/spec/webrtc-stats.yml.dist @@ -7,5 +7,7 @@ status: chrome: "105" chrome_android: "105" edge: "105" + firefox: "135" + firefox_android: "135" compat_features: - api.RTCStatsReport.type_outbound-rtp.rid diff --git a/features/early-data.yml b/features/early-data.yml new file mode 100644 index 00000000000..036ef8d53fe --- /dev/null +++ b/features/early-data.yml @@ -0,0 +1,6 @@ +name: Early data +description: TLS 1.3 sessions may be resumed more quickly by sending so-called early data to servers before the TLS handshake has finished. Also known as zero round-trip time resumption or 0-RTT. +spec: https://httpwg.org/specs/rfc8470.html +compat_features: + - http.headers.Early-Data + - http.status.425 diff --git a/features/draft/spec/rfc8470.yml.dist b/features/early-data.yml.dist similarity index 86% rename from features/draft/spec/rfc8470.yml.dist rename to features/early-data.yml.dist index 717501bc90c..b148a88604a 100644 --- a/features/draft/spec/rfc8470.yml.dist +++ b/features/early-data.yml.dist @@ -1,4 +1,4 @@ -# Generated from: rfc8470.yml +# Generated from: early-data.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/element-capture.yml b/features/element-capture.yml new file mode 100644 index 00000000000..2c310c3024b --- /dev/null +++ b/features/element-capture.yml @@ -0,0 +1,7 @@ +name: Element capture +description: The `restrictTo()` method on screen capture media tracks limits capture to a specific element, excluding content which might occlude the element itself, such as video conferencing controls. +spec: https://screen-share.github.io/element-capture/ +compat_features: + - api.BrowserCaptureMediaStreamTrack.restrictTo + - api.RestrictionTarget + - api.RestrictionTarget.fromElement_static diff --git a/features/draft/spec/element-capture.yml.dist b/features/element-capture.yml.dist similarity index 100% rename from features/draft/spec/element-capture.yml.dist rename to features/element-capture.yml.dist diff --git a/features/fetch-request-streams.yml b/features/fetch-request-streams.yml new file mode 100644 index 00000000000..0baa0a3361e --- /dev/null +++ b/features/fetch-request-streams.yml @@ -0,0 +1,5 @@ +name: Fetch request streams +description: A `fetch()` request streams data to the server when a request's `body` property is a `ReadableStream` object. +spec: https://fetch.spec.whatwg.org/#concept-body-stream +compat_features: + - api.Request.body diff --git a/features/fetch-request-streams.yml.dist b/features/fetch-request-streams.yml.dist new file mode 100644 index 00000000000..5b4eb76ff21 --- /dev/null +++ b/features/fetch-request-streams.yml.dist @@ -0,0 +1,13 @@ +# Generated from: fetch-request-streams.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "105" + chrome_android: "105" + edge: "105" + safari: "11.1" + safari_ios: "11.3" +compat_features: + - api.Request.body diff --git a/features/fetch.yml b/features/fetch.yml index 2151594b599..9ab0d84b4bb 100644 --- a/features/fetch.yml +++ b/features/fetch.yml @@ -29,7 +29,6 @@ compat_features: - api.Request.Request.response_body_readablestream - api.Request.arrayBuffer - api.Request.blob - - api.Request.body - api.Request.bodyUsed - api.Request.bytes - api.Request.cache diff --git a/features/fetch.yml.dist b/features/fetch.yml.dist index 9352d477f62..c81815fb55a 100644 --- a/features/fetch.yml.dist +++ b/features/fetch.yml.dist @@ -418,15 +418,6 @@ compat_features: # safari_ios: "10.3" - api.Request.cache.only-if-cached - # baseline: false - # support: - # chrome: "105" - # chrome_android: "105" - # edge: "105" - # safari: "11.1" - # safari_ios: "11.3" - - api.Request.body - # baseline: false # support: # chrome: "116" diff --git a/features/font-family-ui.yml b/features/font-family-ui.yml new file mode 100644 index 00000000000..aa71aae75ec --- /dev/null +++ b/features/font-family-ui.yml @@ -0,0 +1,10 @@ +name: UI fonts +description: The `ui-serif`, `ui-sans-serif`, `ui-monospace` and `ui-rounded` values for the `font-family` CSS property use device-default user interface fonts for text. +spec: https://drafts.csswg.org/css-fonts-4/#ui-serif-def +caniuse: extended-system-fonts +group: fonts +compat_features: + - css.properties.font-family.ui-monospace + - css.properties.font-family.ui-rounded + - css.properties.font-family.ui-sans-serif + - css.properties.font-family.ui-serif diff --git a/features/draft/spec/css-fonts-5.yml.dist b/features/font-family-ui.yml.dist similarity index 89% rename from features/draft/spec/css-fonts-5.yml.dist rename to features/font-family-ui.yml.dist index 5d8eba5138e..7973d518a22 100644 --- a/features/draft/spec/css-fonts-5.yml.dist +++ b/features/font-family-ui.yml.dist @@ -1,4 +1,4 @@ -# Generated from: css-fonts-5.yml +# Generated from: font-family-ui.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/font-variant-emoji.yml.dist b/features/font-variant-emoji.yml.dist index 6eda79f5aee..c6e1c49fe64 100644 --- a/features/font-variant-emoji.yml.dist +++ b/features/font-variant-emoji.yml.dist @@ -5,20 +5,10 @@ status: baseline: false support: chrome: "131" + chrome_android: "131" edge: "131" compat_features: - # baseline: false - # support: - # chrome: "131" - # chrome_android: "131" - # edge: "131" - css.properties.font-variant-emoji - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # chrome: "131" - # edge: "131" - css.properties.font-variant-emoji.emoji - css.properties.font-variant-emoji.normal - css.properties.font-variant-emoji.text diff --git a/features/individual-transforms.yml.dist b/features/individual-transforms.yml.dist index 0ff2c9df89c..193e7ff99a1 100644 --- a/features/individual-transforms.yml.dist +++ b/features/individual-transforms.yml.dist @@ -2,8 +2,9 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: low + baseline: high baseline_low_date: 2022-08-05 + baseline_high_date: 2025-02-05 support: chrome: "104" chrome_android: "104" diff --git a/features/inputmode.yml b/features/inputmode.yml new file mode 100644 index 00000000000..fe9ba7c8289 --- /dev/null +++ b/features/inputmode.yml @@ -0,0 +1,7 @@ +name: inputmode +description: The `inputmode` global HTML attribute gives a hint about what type of data is to be entered into an `` element, such as `text`, `numeric`, or `email`, so the browser may help the user enter data using an adapted input mechanism, such as an on-screen virtual keyboard. +spec: https://html.spec.whatwg.org/multipage/interaction.html#attr-inputmode +caniuse: input-inputmode +compat_features: + - api.HTMLElement.inputMode + - html.global_attributes.inputmode diff --git a/features/inputmode.yml.dist b/features/inputmode.yml.dist new file mode 100644 index 00000000000..381ce3f0b8a --- /dev/null +++ b/features/inputmode.yml.dist @@ -0,0 +1,18 @@ +# Generated from: inputmode.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2021-12-07 + baseline_high_date: 2024-06-07 + support: + chrome: "66" + chrome_android: "66" + edge: "79" + firefox: "95" + firefox_android: "79" + safari: "12.1" + safari_ios: "12.2" +compat_features: + - api.HTMLElement.inputMode + - html.global_attributes.inputmode diff --git a/features/json-raw.yml.dist b/features/json-raw.yml.dist index e4ecce632fc..9c2112d13d4 100644 --- a/features/json-raw.yml.dist +++ b/features/json-raw.yml.dist @@ -7,6 +7,8 @@ status: chrome: "114" chrome_android: "114" edge: "114" + firefox: "135" + firefox_android: "135" compat_features: - javascript.builtins.JSON.isRawJSON - javascript.builtins.JSON.parse.reviver_parameter_context_argument diff --git a/features/open-closed.yml.dist b/features/open-closed.yml.dist index 966d7745a7b..fa708f4df9b 100644 --- a/features/open-closed.yml.dist +++ b/features/open-closed.yml.dist @@ -5,5 +5,14 @@ status: baseline: false support: {} compat_features: - - css.selectors.closed + # baseline: false + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" - css.selectors.open + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: {} + - css.selectors.closed diff --git a/features/page-setup.yml.dist b/features/page-setup.yml.dist index 0f673077768..e3e649412eb 100644 --- a/features/page-setup.yml.dist +++ b/features/page-setup.yml.dist @@ -54,6 +54,8 @@ compat_features: # baseline: false # support: # chrome: "131" + # chrome_android: "131" + # edge: "131" - css.at-rules.page.bottom-center - css.at-rules.page.bottom-left - css.at-rules.page.bottom-left-corner diff --git a/features/paint.yml.dist b/features/paint.yml.dist index 4a3c731fca5..5730de22646 100644 --- a/features/paint.yml.dist +++ b/features/paint.yml.dist @@ -31,7 +31,6 @@ compat_features: - api.PaintRenderingContext2D.globalAlpha - api.PaintRenderingContext2D.globalCompositeOperation - api.PaintRenderingContext2D.imageSmoothingEnabled - - api.PaintRenderingContext2D.imageSmoothingQuality - api.PaintRenderingContext2D.isPointInPath - api.PaintRenderingContext2D.isPointInStroke - api.PaintRenderingContext2D.lineCap @@ -72,4 +71,5 @@ compat_features: # baseline: false # support: {} + - api.PaintRenderingContext2D.imageSmoothingQuality - css.types.image.paint.additional_parameters diff --git a/features/portal.yml b/features/portal.yml new file mode 100644 index 00000000000..70f366152a7 --- /dev/null +++ b/features/portal.yml @@ -0,0 +1,13 @@ +name: Portals +description: The `` HTML element embeds another page into the current page as a non-interactive preview. +spec: https://wicg.github.io/portals/ +caniuse: portals +discouraged: + # "The Portals proposal is not currently being actively pursued." + according_to: + - https://github.com/WICG/portals/blob/421e74f5bb3e12d6d439ad19654a1463a5cb9b0a/README.md?plain=1#L1 + alternatives: + - fencedframe + - link-rel-prefetch + - speculation-rules + - view-transitions diff --git a/features/draft/spec/portals.yml.dist b/features/portal.yml.dist similarity index 59% rename from features/draft/spec/portals.yml.dist rename to features/portal.yml.dist index a815f45b1ac..41dc8297a8e 100644 --- a/features/draft/spec/portals.yml.dist +++ b/features/portal.yml.dist @@ -1,8 +1,6 @@ -# Generated from: portals.yml +# Generated from: portal.yml # Do not edit this file by hand. Edit the source file instead! status: baseline: false support: {} -compat_features: - - html.elements.portal diff --git a/features/promise-any.yml b/features/promise-any.yml index 0a9decd1915..4c832fb37ab 100644 --- a/features/promise-any.yml +++ b/features/promise-any.yml @@ -3,8 +3,11 @@ description: The `Promise.any()` static method returns a promise that fulfills a snapshot: ecmascript-2021 spec: https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-promise.any group: promises +status: + compute_from: javascript.builtins.Promise.any compat_features: - javascript.builtins.Promise.any - javascript.builtins.AggregateError - javascript.builtins.AggregateError.AggregateError + - javascript.builtins.AggregateError.serializable_object - javascript.builtins.AggregateError.errors diff --git a/features/promise-any.yml.dist b/features/promise-any.yml.dist index 28cfc099ba8..a3b821dc58b 100644 --- a/features/promise-any.yml.dist +++ b/features/promise-any.yml.dist @@ -14,7 +14,31 @@ status: safari: "14" safari_ios: "14" compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2020-09-16 + # baseline_high_date: 2023-03-16 + # support: + # chrome: "85" + # chrome_android: "85" + # edge: "85" + # firefox: "79" + # firefox_android: "79" + # safari: "14" + # safari_ios: "14" - javascript.builtins.AggregateError - javascript.builtins.AggregateError.AggregateError - javascript.builtins.AggregateError.errors - javascript.builtins.Promise.any + + # baseline: low + # baseline_low_date: 2023-09-18 + # support: + # chrome: "98" + # chrome_android: "98" + # edge: "98" + # firefox: "103" + # firefox_android: "103" + # safari: "17" + # safari_ios: "17" + - javascript.builtins.AggregateError.serializable_object diff --git a/features/resource-timing.yml.dist b/features/resource-timing.yml.dist index aa906311d90..23229911c88 100644 --- a/features/resource-timing.yml.dist +++ b/features/resource-timing.yml.dist @@ -49,6 +49,7 @@ compat_features: - api.PerformanceResourceTiming.redirectStart - api.PerformanceResourceTiming.requestStart - api.PerformanceResourceTiming.responseEnd + - api.PerformanceResourceTiming.responseStart # baseline: high # baseline_low_date: 2017-10-17 @@ -112,15 +113,6 @@ compat_features: # safari: "12" - api.PerformanceResourceTiming.worker_support - # baseline: false - # support: - # edge: "12" - # firefox: "35" - # firefox_android: "35" - # safari: "11" - # safari_ios: "11" - - api.PerformanceResourceTiming.responseStart - # baseline: false # support: # chrome: "109" diff --git a/features/streams.yml.dist b/features/streams.yml.dist index 374f251c75e..c3d6772c110 100644 --- a/features/streams.yml.dist +++ b/features/streams.yml.dist @@ -146,6 +146,19 @@ compat_features: # safari_ios: "10.3" - api.ReadableStream.pipeTo + # baseline: high + # baseline_low_date: 2022-05-03 + # baseline_high_date: 2024-11-03 + # support: + # chrome: "78" + # chrome_android: "78" + # edge: "79" + # firefox: "100" + # firefox_android: "100" + # safari: "10" + # safari_ios: "10" + - api.ReadableStreamDefaultReader.ReadableStreamDefaultReader + # baseline: high # baseline_low_date: 2022-05-03 # baseline_high_date: 2024-11-03 @@ -245,15 +258,6 @@ compat_features: # safari_ios: "17" - api.ReadableStreamDefaultReader.releaseLock.reject_pending_read_request - # baseline: false - # support: - # chrome: "78" - # chrome_android: "78" - # edge: "79" - # firefox: "100" - # firefox_android: "100" - - api.ReadableStreamDefaultReader.ReadableStreamDefaultReader - # baseline: false # support: # chrome: "87" diff --git a/features/text-box.yml b/features/text-box.yml index 5a53b02c274..1ba46b5b423 100644 --- a/features/text-box.yml +++ b/features/text-box.yml @@ -17,6 +17,4 @@ compat_features: - css.types.text-edge.alphabetic - css.types.text-edge.cap - css.types.text-edge.ex - - css.types.text-edge.ideographic - - css.types.text-edge.ideographic-ink - css.types.text-edge.text diff --git a/features/text-box.yml.dist b/features/text-box.yml.dist index 59d18b89bda..4289f23e139 100644 --- a/features/text-box.yml.dist +++ b/features/text-box.yml.dist @@ -3,12 +3,13 @@ status: baseline: false - support: {} + support: + chrome: "133" + chrome_android: "133" + edge: "133" + safari: "18.2" + safari_ios: "18.2" compat_features: - # baseline: false - # support: - # safari: "18.2" - # safari_ios: "18.2" - css.properties.text-box - css.properties.text-box-edge - css.properties.text-box-edge.auto @@ -23,9 +24,3 @@ compat_features: - css.types.text-edge.cap - css.types.text-edge.ex - css.types.text-edge.text - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: {} - - css.types.text-edge.ideographic - - css.types.text-edge.ideographic-ink diff --git a/features/wasm-memory64.yml.dist b/features/wasm-memory64.yml.dist index b77accf8eaf..df9e0415baa 100644 --- a/features/wasm-memory64.yml.dist +++ b/features/wasm-memory64.yml.dist @@ -4,6 +4,9 @@ status: baseline: false support: + chrome: "133" + chrome_android: "133" + edge: "133" firefox: "134" firefox_android: "134" compat_features: diff --git a/features/web-cryptography.yml.dist b/features/web-cryptography.yml.dist index 09b13c67aae..1981831afe7 100644 --- a/features/web-cryptography.yml.dist +++ b/features/web-cryptography.yml.dist @@ -177,6 +177,22 @@ compat_features: - api.SubtleCrypto.deriveKey.derivedKeyAlgorithm_option_hkdf - api.SubtleCrypto.deriveKey.derivedKeyAlgorithm_option_pbkdf2 + # baseline: low + # baseline_low_date: 2025-02-06 + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + # firefox: "130" + # firefox_android: "130" + # safari: "17" + # safari_ios: "17" + - api.SubtleCrypto.deriveBits.x25519 + - api.SubtleCrypto.deriveKey.x25519 + - api.SubtleCrypto.exportKey.x25519 + - api.SubtleCrypto.generateKey.x25519 + - api.SubtleCrypto.importKey.x25519 + # baseline: false # support: # firefox: "129" @@ -188,15 +204,3 @@ compat_features: - api.SubtleCrypto.importKey.ed25519 - api.SubtleCrypto.sign.ed25519 - api.SubtleCrypto.verify.ed25519 - - # baseline: false - # support: - # firefox: "130" - # firefox_android: "130" - # safari: "17" - # safari_ios: "17" - - api.SubtleCrypto.deriveBits.x25519 - - api.SubtleCrypto.deriveKey.x25519 - - api.SubtleCrypto.exportKey.x25519 - - api.SubtleCrypto.generateKey.x25519 - - api.SubtleCrypto.importKey.x25519 diff --git a/features/webauthn.yml.dist b/features/webauthn.yml.dist index e01b489b3ee..f1c086856ed 100644 --- a/features/webauthn.yml.dist +++ b/features/webauthn.yml.dist @@ -97,6 +97,18 @@ compat_features: # safari_ios: "15.5" - api.PublicKeyCredential.authenticatorAttachment + # baseline: low + # baseline_low_date: 2025-02-06 + # support: + # chrome: "133" + # chrome_android: "133" + # edge: "133" + # firefox: "135" + # firefox_android: "135" + # safari: "17.4" + # safari_ios: "17.4" + - api.PublicKeyCredential.getClientCapabilities_static + # baseline: false # support: # chrome: "67" @@ -199,12 +211,6 @@ compat_features: # edge: "113" - api.CredentialsContainer.get.publicKey_option.extensions.largeBlob - # baseline: false - # support: - # safari: "17.4" - # safari_ios: "17.4" - - api.PublicKeyCredential.getClientCapabilities_static - # baseline: false # support: # firefox: "123" diff --git a/features/webgpu.yml.dist b/features/webgpu.yml.dist index 6542c9312d1..0ef5fda733e 100644 --- a/features/webgpu.yml.dist +++ b/features/webgpu.yml.dist @@ -411,4 +411,6 @@ compat_features: # baseline: false # support: {} + - api.GPUAdapterInfo.subgroupMaxSize + - api.GPUAdapterInfo.subgroupMinSize - api.GPUSupportedFeatures.feature_float32-blendable diff --git a/features/webrtc-stats.yml.dist b/features/webrtc-stats.yml.dist index 36d75d8f06f..8c7e44bb9b2 100644 --- a/features/webrtc-stats.yml.dist +++ b/features/webrtc-stats.yml.dist @@ -565,6 +565,18 @@ compat_features: - api.RTCStatsReport.type_media-source.trackIdentifier - api.RTCStatsReport.type_media-source.type + # baseline: low + # baseline_low_date: 2025-02-04 + # support: + # chrome: "105" + # chrome_android: "105" + # edge: "105" + # firefox: "135" + # firefox_android: "135" + # safari: "17" + # safari_ios: "17" + - api.RTCStatsReport.type_inbound-rtp.mid + # baseline: false # support: # chrome: "80" @@ -887,9 +899,9 @@ compat_features: # chrome: "105" # chrome_android: "105" # edge: "105" - # safari: "17" - # safari_ios: "17" - - api.RTCStatsReport.type_inbound-rtp.mid + # firefox: "135" + # firefox_android: "135" + - api.RTCStatsReport.type_outbound-rtp.mid # baseline: false # support: @@ -1011,7 +1023,6 @@ compat_features: # edge: "105" - api.RTCStatsReport.type_inbound-rtp.jitterBufferMinimumDelay - api.RTCStatsReport.type_inbound-rtp.jitterBufferTargetDelay - - api.RTCStatsReport.type_outbound-rtp.mid # baseline: false # support: diff --git a/package-lock.json b/package-lock.json index 013fc1bbfc5..3d33f20eed5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,29 +11,29 @@ "packages/compute-baseline" ], "devDependencies": { - "@eslint/js": "^9.19.0", + "@eslint/js": "^9.20.0", "@js-temporal/polyfill": "^0.4.4", - "@mdn/browser-compat-data": "^5.6.34", + "@mdn/browser-compat-data": "^5.6.37", "@types/caniuse-lite": "^1.0.4", "@types/diff": "^7.0.1", "@types/node": "^18.19.75", "ajv": "^8.17.1", - "caniuse-lite": "^1.0.30001697", + "caniuse-lite": "^1.0.30001699", "diff": "^7.0.0", "eslint-plugin-new-with-error": "^5.0.0", "fast-json-stable-stringify": "^2.1.0", "fdir": "^6.4.3", "hast-util-to-string": "^3.0.1", - "prettier": "^3.4.2", + "prettier": "^3.5.0", "rehype-stringify": "^10.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.1", "ts-json-schema-generator": "^2.3.0", "tsx": "^4.19.2", "typescript": "^5.7.3", - "typescript-eslint": "^8.22.0", + "typescript-eslint": "^8.23.0", "unified": "^11.0.5", - "web-specs": "^3.37.0", + "web-specs": "^3.38.0", "winston": "^3.17.0", "yaml": "^2.7.0", "yargs": "^17.7.2" @@ -552,9 +552,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", - "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", + "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", "dev": true, "license": "MIT", "engines": { @@ -765,9 +765,9 @@ } }, "node_modules/@mdn/browser-compat-data": { - "version": "5.6.34", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.6.34.tgz", - "integrity": "sha512-bq6146J/0e4AuNtx8PckK9Ibnlgp8IxVPh6u+SWkVuAhqDPv3yzgR9uoRDMmBBvxFKkU+WwpS7kq82GDH2Hj3w==", + "version": "5.6.37", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.6.37.tgz", + "integrity": "sha512-rzlUUSgxSc4mjfNDzVXg7vxjacefyoM/LkvbAL5MLgEDL7CMa/Fu+rASR1v2JqiZtDcPBBbQxnk0BqgOKQfAPQ==", "license": "CC0-1.0" }, "node_modules/@nodelib/fs.scandir": { @@ -919,21 +919,21 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.22.0.tgz", - "integrity": "sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz", + "integrity": "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.22.0", - "@typescript-eslint/type-utils": "8.22.0", - "@typescript-eslint/utils": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0", + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/type-utils": "8.23.0", + "@typescript-eslint/utils": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -949,16 +949,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.22.0.tgz", - "integrity": "sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.23.0.tgz", + "integrity": "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.22.0", - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/typescript-estree": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0", + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/typescript-estree": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", "debug": "^4.3.4" }, "engines": { @@ -974,14 +974,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.22.0.tgz", - "integrity": "sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz", + "integrity": "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0" + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -992,16 +992,16 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.22.0.tgz", - "integrity": "sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz", + "integrity": "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.22.0", - "@typescript-eslint/utils": "8.22.0", + "@typescript-eslint/typescript-estree": "8.23.0", + "@typescript-eslint/utils": "8.23.0", "debug": "^4.3.4", - "ts-api-utils": "^2.0.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1016,9 +1016,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.22.0.tgz", - "integrity": "sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.23.0.tgz", + "integrity": "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==", "dev": true, "license": "MIT", "engines": { @@ -1030,20 +1030,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.22.0.tgz", - "integrity": "sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz", + "integrity": "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.0.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1073,16 +1073,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.22.0.tgz", - "integrity": "sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.23.0.tgz", + "integrity": "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.22.0", - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/typescript-estree": "8.22.0" + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/typescript-estree": "8.23.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1097,13 +1097,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.22.0.tgz", - "integrity": "sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz", + "integrity": "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/types": "8.23.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -1365,9 +1365,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001697", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001697.tgz", - "integrity": "sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==", + "version": "1.0.30001699", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", + "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", "dev": true, "funding": [ { @@ -3811,9 +3811,9 @@ } }, "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.0.tgz", + "integrity": "sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==", "dev": true, "license": "MIT", "bin": { @@ -4399,9 +4399,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, "license": "MIT", "engines": { @@ -4496,15 +4496,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.22.0.tgz", - "integrity": "sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.23.0.tgz", + "integrity": "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.22.0", - "@typescript-eslint/parser": "8.22.0", - "@typescript-eslint/utils": "8.22.0" + "@typescript-eslint/eslint-plugin": "8.23.0", + "@typescript-eslint/parser": "8.23.0", + "@typescript-eslint/utils": "8.23.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4696,9 +4696,9 @@ } }, "node_modules/web-specs": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/web-specs/-/web-specs-3.37.0.tgz", - "integrity": "sha512-e23ddpIW5iw8umy4/hQYw74fFJAldzITa4YKYBEIpqDynG29Abjm92afVtFnTZxrP3Cnj4Z1NWaxqH4AQQwZPQ==", + "version": "3.38.0", + "resolved": "https://registry.npmjs.org/web-specs/-/web-specs-3.38.0.tgz", + "integrity": "sha512-Y6cZC2QOWm0AzH2QIHhxZ3gv7n9PXGH1KkpheMl+tc1C48YYOJnLxuOeoMdFkdOhQZxmllMWBvz+6BYeaBl3Bw==", "dev": true, "license": "CC0-1.0" }, diff --git a/package.json b/package.json index b6e8be89b44..82f862e9f5e 100644 --- a/package.json +++ b/package.json @@ -37,29 +37,29 @@ "remove-tagged-compat-features": "tsx scripts/remove-tagged-compat-features.ts && npm run format" }, "devDependencies": { - "@eslint/js": "^9.19.0", + "@eslint/js": "^9.20.0", "@js-temporal/polyfill": "^0.4.4", - "@mdn/browser-compat-data": "^5.6.34", + "@mdn/browser-compat-data": "^5.6.37", "@types/caniuse-lite": "^1.0.4", "@types/diff": "^7.0.1", "@types/node": "^18.19.75", "ajv": "^8.17.1", - "caniuse-lite": "^1.0.30001697", + "caniuse-lite": "^1.0.30001699", "diff": "^7.0.0", "eslint-plugin-new-with-error": "^5.0.0", "fast-json-stable-stringify": "^2.1.0", "fdir": "^6.4.3", "hast-util-to-string": "^3.0.1", - "prettier": "^3.4.2", + "prettier": "^3.5.0", "rehype-stringify": "^10.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.1", "ts-json-schema-generator": "^2.3.0", "tsx": "^4.19.2", "typescript": "^5.7.3", - "typescript-eslint": "^8.22.0", + "typescript-eslint": "^8.23.0", "unified": "^11.0.5", - "web-specs": "^3.37.0", + "web-specs": "^3.38.0", "winston": "^3.17.0", "yaml": "^2.7.0", "yargs": "^17.7.2" diff --git a/packages/compute-baseline/src/browser-compat-data/feature.ts b/packages/compute-baseline/src/browser-compat-data/feature.ts index 99cdb877164..a785f3a3752 100644 --- a/packages/compute-baseline/src/browser-compat-data/feature.ts +++ b/packages/compute-baseline/src/browser-compat-data/feature.ts @@ -124,8 +124,8 @@ export class Feature { /** * Find out whether this feature's support data says that a given browser * release is supported (`true`), unsupported (`false`), or unknown (`null`). - * Note that this ignores qualifications such as partial implementations, - * prefixes, alternative names, and flags. + * Note that this treats qualifications such as partial implementations, + * prefixes, alternative names, and flags as wholly unsupported. */ supportedIn(release: Release): boolean | null { let unknown = false; diff --git a/packages/web-features/README.md b/packages/web-features/README.md index 72876cda114..706b6cbfa61 100644 --- a/packages/web-features/README.md +++ b/packages/web-features/README.md @@ -1,5 +1,9 @@ # Curated list of Web platform features +[web-features](https://web-platform-dx.github.io/web-features/web-features/) is the package that describes Web platform features and provides [Baseline](https://web-platform-dx.github.io/web-features/) status reports. + +Subscribe to the [Upcoming changes](https://github.com/web-platform-dx/web-features/discussions/2613) announcements thread for news about upcoming releases, such as breaking changes or major features. + ## Usage ```sh diff --git a/packages/web-features/package-lock.json b/packages/web-features/package-lock.json index b2926dbe253..614c2eec080 100644 --- a/packages/web-features/package-lock.json +++ b/packages/web-features/package-lock.json @@ -1,15 +1,15 @@ { "name": "web-features", - "version": "2.21.0", + "version": "2.23.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "web-features", - "version": "2.21.0", + "version": "2.23.0", "license": "Apache-2.0", "devDependencies": { - "@types/node": "^18.19.74", + "@types/node": "^18.19.75", "tsup": "^8.3.6", "typescript": "^5.7.3" } @@ -714,9 +714,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.19.74", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.74.tgz", - "integrity": "sha512-HMwEkkifei3L605gFdV+/UwtpxP6JSzM+xFk2Ia6DNFSwSVBRh9qp5Tgf4lNFOMfPVuU0WnkcWpXZpgn5ufO4A==", + "version": "18.19.75", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.75.tgz", + "integrity": "sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/web-features/package.json b/packages/web-features/package.json index b2875ac320e..7b1ebcb2a52 100644 --- a/packages/web-features/package.json +++ b/packages/web-features/package.json @@ -1,7 +1,7 @@ { "name": "web-features", "description": "Curated list of Web platform features", - "version": "2.21.0", + "version": "2.23.0", "license": "Apache-2.0", "repository": { "type": "git", @@ -25,7 +25,7 @@ "prepare": "tsc && rm types.js && tsup ./index.ts --dts-only --format=esm --out-dir=." }, "devDependencies": { - "@types/node": "^18.19.74", + "@types/node": "^18.19.75", "tsup": "^8.3.6", "typescript": "^5.7.3" }