diff --git a/features/draft/spec/crash-reporting.yml b/features/draft/spec/crash-reporting.yml index 443bed70472..65d1dee5233 100644 --- a/features/draft/spec/crash-reporting.yml +++ b/features/draft/spec/crash-reporting.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-14 +draft_date: 2026-05-08 name: Crash Reporting description: TODO spec: https://wicg.github.io/crash-reporting/ @@ -8,4 +8,7 @@ compat_features: - api.CrashReportContext.initialize - api.CrashReportContext.set - api.Window.crashReport - - http.headers.Reporting-Endpoints.crash-reporting + +# The following features in the spec are already part of web-features: +# - Crash reporting: +# - http.headers.Reporting-Endpoints.crash-reporting diff --git a/features/draft/spec/crash-reporting.yml.dist b/features/draft/spec/crash-reporting.yml.dist index 3f6196fcc57..03f7c8d91cb 100644 --- a/features/draft/spec/crash-reporting.yml.dist +++ b/features/draft/spec/crash-reporting.yml.dist @@ -8,19 +8,6 @@ status: chrome_android: "145" edge: "145" compat_features: - # baseline: false - # support: - # chrome: "139" - # chrome_android: "139" - # edge: "139" - - http.headers.Reporting-Endpoints.crash-reporting - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # chrome: "145" - # chrome_android: "145" - # edge: "145" - api.CrashReportContext - api.CrashReportContext.delete - api.CrashReportContext.initialize diff --git a/features/draft/spec/csp3.yml b/features/draft/spec/csp3.yml index ab548c2b031..f3148860898 100644 --- a/features/draft/spec/csp3.yml +++ b/features/draft/spec/csp3.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-16 +draft_date: 2026-05-08 name: Content Security Policy Level 3 description: TODO spec: https://w3c.github.io/webappsec-csp/ @@ -39,7 +39,6 @@ compat_features: # - http.headers.Content-Security-Policy.meta-element-support # - http.headers.Content-Security-Policy.object-src # - http.headers.Content-Security-Policy.report-sample -# - http.headers.Content-Security-Policy.report-to # - http.headers.Content-Security-Policy.sandbox # - http.headers.Content-Security-Policy.script-src # - http.headers.Content-Security-Policy.script-src.external_scripts @@ -54,7 +53,6 @@ compat_features: # - http.headers.Content-Security-Policy.worker-src # - http.headers.Content-Security-Policy.worker_support # - http.headers.Content-Security-Policy-Report-Only -# - Reporting API: +# - CSP violation reports: # - api.ReportingObserver.ReportingObserver.options_parameter.types_property.csp-violation -# - Speculation rules: -# - http.headers.Content-Security-Policy.script-src.inline-speculation-rules +# - http.headers.Content-Security-Policy.report-to diff --git a/features/draft/spec/css-anchor-position-2.yml b/features/draft/spec/css-anchor-position-2.yml index 525e7c5b2a4..215696bb52c 100644 --- a/features/draft/spec/css-anchor-position-2.yml +++ b/features/draft/spec/css-anchor-position-2.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-28 +draft_date: 2026-05-08 name: CSS Anchor Positioning Module Level 2 description: TODO spec: https://drafts.csswg.org/css-anchor-position-2/ @@ -329,7 +329,6 @@ compat_features: # - css.properties.width.anchor-size # - css.types.anchor # - css.types.anchor-size -# - css.types.anchor-size.inset_margin # - html.elements.button.popovertarget.implicit_anchor_reference # - html.elements.input.popovertarget.implicit_anchor_reference # - Anchor position container queries: diff --git a/features/draft/spec/css-animations-2.yml b/features/draft/spec/css-animations-2.yml index 8d189c94750..b55cee6e725 100644 --- a/features/draft/spec/css-animations-2.yml +++ b/features/draft/spec/css-animations-2.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-16 +draft_date: 2026-05-08 name: CSS Animations Level 2 description: TODO spec: https://drafts.csswg.org/css-animations-2/ @@ -64,14 +64,15 @@ compat_features: # - css.properties.animation-play-state.paused # - css.properties.animation-play-state.running # - css.properties.animation-timing-function -# - css.properties.animation-timing-function.jump # - Web animations: # - api.Element.animationcancel_event # - api.Element.animationend_event # - api.Element.animationiteration_event # - api.Element.animationstart_event -# - Scroll-driven animations: -# - css.properties.animation.animation-timeline_included -# - css.properties.animation-timeline # - animation-composition: # - css.properties.animation-composition +# - Scroll-driven animations: +# - css.properties.animation-timeline +# - Grid animation: +# - css.properties.grid-template-columns.animation +# - css.properties.grid-template-rows.animation diff --git a/features/draft/spec/css-color-5.yml b/features/draft/spec/css-color-5.yml index 99143d0937b..3126594ab2c 100644 --- a/features/draft/spec/css-color-5.yml +++ b/features/draft/spec/css-color-5.yml @@ -1,4 +1,4 @@ -draft_date: 2026-05-07 +draft_date: 2026-05-08 name: CSS Color Module Level 5 description: TODO spec: https://drafts.csswg.org/css-color-5/ @@ -86,13 +86,14 @@ compat_features: # - css.properties.lighting-color.transparent # - opacity: # - css.properties.opacity -# - css.properties.opacity.percentages # - svg.global_attributes.opacity # - outline: # - css.properties.outline.currentColor # - css.properties.outline.transparent # - Outlines: # - css.properties.outline-color.transparent +# - shape-outside: +# - css.properties.shape-image-threshold.percentages # - SVG: # - css.properties.stop-color.currentColor # - css.properties.stop-color.transparent @@ -111,10 +112,8 @@ compat_features: # - css.properties.text-emphasis-color.transparent # - attr(): # - css.types.attr.type_function.color -# - color(): -# - css.types.color.color -# - css.types.color.color.mixed_type_parameters # - Relative colors: +# - css.types.calc.color_component # - css.types.color.color.relative_syntax # - css.types.color.hsl.relative_syntax # - css.types.color.hwb.relative_syntax @@ -123,6 +122,8 @@ compat_features: # - css.types.color.oklab.relative_syntax # - css.types.color.oklch.relative_syntax # - css.types.color.rgb.relative_syntax +# - color(): +# - css.types.color.color # - color-mix(): # - css.types.color.color-mix # - contrast-color(): @@ -130,16 +131,12 @@ compat_features: # - HSL: # - css.types.color.hsl # - css.types.color.hsl.alpha_parameter -# - css.types.color.hsl.mixed_type_parameters # - css.types.color.hsl.space_separated_parameters # - HWB: # - css.types.color.hwb -# - css.types.color.hwb.mixed_type_parameters # - Lab and LCH: # - css.types.color.lab -# - css.types.color.lab.mixed_type_parameters # - css.types.color.lch -# - css.types.color.lch.mixed_type_parameters # - light-dark(): # - css.types.color.light-dark # - light-dark() image values: @@ -150,14 +147,10 @@ compat_features: # - css.types.color.named-color.transparent # - Oklab and OkLCh: # - css.types.color.oklab -# - css.types.color.oklab.mixed_type_parameters # - css.types.color.oklch -# - css.types.color.oklch.mixed_type_parameters # - RGB: # - css.types.color.rgb # - css.types.color.rgb.alpha_parameter -# - css.types.color.rgb.float_values -# - css.types.color.rgb.mixed_type_parameters # - css.types.color.rgb.space_separated_parameters # - css.types.color.rgb_hexadecimal_notation # - css.types.color.rgb_hexadecimal_notation.alpha_hexadecimal_notation @@ -167,3 +160,8 @@ compat_features: # - css.types.color.system-color.buttonborder # - css.types.color.system-color.mark # - css.types.color.system-color.marktext +# - Gradient interpolation: +# - css.types.gradient.conic-gradient.hue_interpolation_method +# - css.types.gradient.conic-gradient.interpolation_color_space +# - css.types.gradient.linear-gradient.hue_interpolation_method +# - css.types.gradient.linear-gradient.interpolation_color_space diff --git a/features/draft/spec/css-conditional-5.yml b/features/draft/spec/css-conditional-5.yml index dd99400b6ae..2b68a7894c5 100644 --- a/features/draft/spec/css-conditional-5.yml +++ b/features/draft/spec/css-conditional-5.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-28 +draft_date: 2026-05-08 name: CSS Conditional Rules Module Level 5 description: TODO spec: https://drafts.csswg.org/css-conditional-5/ @@ -12,6 +12,7 @@ compat_features: - css.properties.container.normal - css.properties.container.scroll-state - css.properties.container.size + - css.types.if.style # The following features in the spec are already part of web-features: # - CSS.supports(): @@ -34,6 +35,7 @@ compat_features: # - css.properties.container-type.inline-size # - css.properties.container-type.normal # - css.properties.container-type.size +# - css.types.length.container_query_length_units # - @supports: # - api.CSSSupportsRule # - css.at-rules.supports @@ -56,6 +58,3 @@ compat_features: # - css.at-rules.media.media_features # - css.at-rules.media.media_query_values # - css.at-rules.media.nested-queries -# - css.at-rules.media.or_syntax -# - Media query range syntax: -# - css.at-rules.media.range_syntax diff --git a/features/draft/spec/css-conditional-5.yml.dist b/features/draft/spec/css-conditional-5.yml.dist index 014b77001ea..50340795218 100644 --- a/features/draft/spec/css-conditional-5.yml.dist +++ b/features/draft/spec/css-conditional-5.yml.dist @@ -58,6 +58,13 @@ compat_features: # safari_ios: "26.4" - css.at-rules.container.container-query_optional + # baseline: false + # support: + # chrome: "137" + # chrome_android: "137" + # edge: "137" + - css.types.if.style + # baseline: false # support: # chrome: "144" diff --git a/features/draft/spec/css-content-3.yml b/features/draft/spec/css-content-3.yml index bd4ccd4b79a..bf2274f0489 100644 --- a/features/draft/spec/css-content-3.yml +++ b/features/draft/spec/css-content-3.yml @@ -1,9 +1,8 @@ -draft_date: 2026-01-19 +draft_date: 2026-05-08 name: CSS Generated Content Module Level 3 description: TODO spec: https://drafts.csswg.org/css-content-3/ compat_features: - - css.properties.content.alt_text.counters - css.selectors.marker.quotes_support # The following features in the spec are already part of web-features: diff --git a/features/draft/spec/css-content-3.yml.dist b/features/draft/spec/css-content-3.yml.dist index 55c2019649f..0725d3a31b2 100644 --- a/features/draft/spec/css-content-3.yml.dist +++ b/features/draft/spec/css-content-3.yml.dist @@ -3,15 +3,8 @@ status: baseline: false - support: {} + support: + firefox: "147" + firefox_android: "147" compat_features: - # baseline: false - # support: - # firefox: "147" - # firefox_android: "147" - css.selectors.marker.quotes_support - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: {} - - css.properties.content.alt_text.counters diff --git a/features/draft/spec/css-flexbox-1.yml b/features/draft/spec/css-flexbox-1.yml index 5f6bcf5e9e2..a61a328dbed 100644 --- a/features/draft/spec/css-flexbox-1.yml +++ b/features/draft/spec/css-flexbox-1.yml @@ -1,4 +1,4 @@ -draft_date: 2025-11-03 +draft_date: 2026-05-08 name: CSS Flexible Box Layout Module Level 1 description: TODO spec: https://drafts.csswg.org/css-flexbox-1/ @@ -17,28 +17,14 @@ compat_features: # - Flexbox: # - css.properties.align-content # - css.properties.align-content.flex_context -# - css.properties.align-content.flex_context.baseline -# - css.properties.align-content.flex_context.first_baseline -# - css.properties.align-content.flex_context.last_baseline -# - css.properties.align-content.flex_context.safe_unsafe -# - css.properties.align-content.flex_context.space-evenly -# - css.properties.align-content.flex_context.start_end # - css.properties.align-content.flex_context.stretch # - css.properties.align-items # - css.properties.align-items.flex_context # - css.properties.align-items.flex_context.baseline -# - css.properties.align-items.flex_context.first_baseline -# - css.properties.align-items.flex_context.last_baseline -# - css.properties.align-items.flex_context.safe_unsafe -# - css.properties.align-items.flex_context.start_end # - css.properties.align-self # - css.properties.align-self.auto # - css.properties.align-self.flex_context # - css.properties.align-self.flex_context.baseline -# - css.properties.align-self.flex_context.first_baseline -# - css.properties.align-self.flex_context.last_baseline -# - css.properties.align-self.flex_context.safe_unsafe -# - css.properties.align-self.flex_context.start_end # - css.properties.align-self.flex_context.stretch # - css.properties.align-self.stretch # - css.properties.flex @@ -46,9 +32,6 @@ compat_features: # - css.properties.flex-basis # - css.properties.flex-basis.auto # - css.properties.flex-basis.content -# - css.properties.flex-basis.fit-content -# - css.properties.flex-basis.max-content -# - css.properties.flex-basis.min-content # - css.properties.flex-direction # - css.properties.flex-direction.column # - css.properties.flex-direction.column-reverse @@ -63,16 +46,8 @@ compat_features: # - css.properties.flex-wrap.wrap-reverse # - css.properties.justify-content # - css.properties.justify-content.flex_context -# - css.properties.justify-content.flex_context.left_right -# - css.properties.justify-content.flex_context.safe_unsafe -# - css.properties.justify-content.flex_context.space-evenly -# - css.properties.justify-content.flex_context.start_end -# - css.properties.justify-content.flex_context.stretch -# - css.properties.justify-content.left -# - css.properties.justify-content.normal -# - css.properties.justify-content.right +# - css.properties.position.absolutely_positioned_flex_children # - Grid: # - css.properties.align-items.grid_context -# - css.properties.align-items.grid_context.start_end # - css.properties.align-self.grid_context # - css.properties.justify-content.grid_context diff --git a/features/draft/spec/css-fonts-5.yml b/features/draft/spec/css-fonts-5.yml index bc1bae4da67..888b930f1f2 100644 --- a/features/draft/spec/css-fonts-5.yml +++ b/features/draft/spec/css-fonts-5.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-28 +draft_date: 2026-05-08 name: CSS Fonts Module Level 5 description: TODO spec: https://drafts.csswg.org/css-fonts-5/ @@ -143,7 +143,6 @@ compat_features: # - css.properties.font-stretch.extra-condensed # - css.properties.font-stretch.extra-expanded # - css.properties.font-stretch.normal -# - css.properties.font-stretch.percentage # - css.properties.font-stretch.semi-condensed # - css.properties.font-stretch.semi-expanded # - css.properties.font-stretch.ultra-condensed @@ -165,7 +164,6 @@ compat_features: # - 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 @@ -245,14 +243,11 @@ compat_features: # - 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 diff --git a/features/draft/spec/css-gaps-1.yml b/features/draft/spec/css-gaps-1.yml new file mode 100644 index 00000000000..1f7110de42e --- /dev/null +++ b/features/draft/spec/css-gaps-1.yml @@ -0,0 +1,126 @@ +draft_date: 2026-05-08 +name: CSS Gap Decorations Module Level 1 +description: TODO +spec: https://drafts.csswg.org/css-gaps-1/ +compat_features: + - css.properties.column-rule-break + - css.properties.column-rule-break.intersection + - css.properties.column-rule-break.none + - css.properties.column-rule-break.normal + - css.properties.column-rule-inset + - css.properties.column-rule-inset-cap + - css.properties.column-rule-inset-cap-end + - css.properties.column-rule-inset-cap-start + - css.properties.column-rule-inset-end + - css.properties.column-rule-inset-junction + - css.properties.column-rule-inset-junction-end + - css.properties.column-rule-inset-junction-start + - css.properties.column-rule-inset-start + - css.properties.column-rule-visibility-items + - css.properties.column-rule-visibility-items.all + - css.properties.column-rule-visibility-items.around + - css.properties.column-rule-visibility-items.between + - css.properties.column-rule-visibility-items.normal + - css.properties.row-rule + - css.properties.row-rule-break + - css.properties.row-rule-break.intersection + - css.properties.row-rule-break.none + - css.properties.row-rule-break.normal + - css.properties.row-rule-color + - css.properties.row-rule-color.currentColor + - css.properties.row-rule-color.transparent + - css.properties.row-rule-inset + - css.properties.row-rule-inset-cap + - css.properties.row-rule-inset-cap-end + - css.properties.row-rule-inset-cap-start + - css.properties.row-rule-inset-end + - css.properties.row-rule-inset-junction + - css.properties.row-rule-inset-junction-end + - css.properties.row-rule-inset-junction-start + - css.properties.row-rule-inset-start + - css.properties.row-rule-style + - css.properties.row-rule-style.dashed + - css.properties.row-rule-style.dotted + - css.properties.row-rule-style.double + - css.properties.row-rule-style.groove + - css.properties.row-rule-style.hidden + - css.properties.row-rule-style.inset + - css.properties.row-rule-style.none + - css.properties.row-rule-style.outset + - css.properties.row-rule-style.ridge + - css.properties.row-rule-style.solid + - css.properties.row-rule-visibility-items + - css.properties.row-rule-visibility-items.all + - css.properties.row-rule-visibility-items.around + - css.properties.row-rule-visibility-items.between + - css.properties.row-rule-visibility-items.normal + - css.properties.row-rule-width + - css.properties.row-rule-width.medium + - css.properties.row-rule-width.thick + - css.properties.row-rule-width.thin + - css.properties.row-rule.currentColor + - css.properties.row-rule.dashed + - css.properties.row-rule.dotted + - css.properties.row-rule.double + - css.properties.row-rule.groove + - css.properties.row-rule.hidden + - css.properties.row-rule.inset + - css.properties.row-rule.medium + - css.properties.row-rule.none + - css.properties.row-rule.outset + - css.properties.row-rule.ridge + - css.properties.row-rule.solid + - css.properties.row-rule.thick + - css.properties.row-rule.thin + - css.properties.row-rule.transparent + - css.properties.rule + - css.properties.rule-break + - css.properties.rule-break.intersection + - css.properties.rule-break.none + - css.properties.rule-break.normal + - css.properties.rule-color + - css.properties.rule-color.currentColor + - css.properties.rule-color.transparent + - css.properties.rule-inset + - css.properties.rule-inset-cap + - css.properties.rule-inset-end + - css.properties.rule-inset-junction + - css.properties.rule-inset-start + - css.properties.rule-overlap + - css.properties.rule-overlap.column-over-row + - css.properties.rule-overlap.row-over-column + - css.properties.rule-style + - css.properties.rule-style.dashed + - css.properties.rule-style.dotted + - css.properties.rule-style.double + - css.properties.rule-style.groove + - css.properties.rule-style.hidden + - css.properties.rule-style.inset + - css.properties.rule-style.none + - css.properties.rule-style.outset + - css.properties.rule-style.ridge + - css.properties.rule-style.solid + - css.properties.rule-visibility-items + - css.properties.rule-visibility-items.all + - css.properties.rule-visibility-items.around + - css.properties.rule-visibility-items.between + - css.properties.rule-visibility-items.normal + - css.properties.rule-width + - css.properties.rule-width.medium + - css.properties.rule-width.thick + - css.properties.rule-width.thin + - css.properties.rule.currentColor + - css.properties.rule.dashed + - css.properties.rule.dotted + - css.properties.rule.double + - css.properties.rule.groove + - css.properties.rule.hidden + - css.properties.rule.inset + - css.properties.rule.medium + - css.properties.rule.none + - css.properties.rule.outset + - css.properties.rule.ridge + - css.properties.rule.solid + - css.properties.rule.thick + - css.properties.rule.thin + - css.properties.rule.transparent diff --git a/features/draft/spec/css-gaps-1.yml.dist b/features/draft/spec/css-gaps-1.yml.dist new file mode 100644 index 00000000000..a855b20dd19 --- /dev/null +++ b/features/draft/spec/css-gaps-1.yml.dist @@ -0,0 +1,128 @@ +# Generated from: css-gaps-1.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + - css.properties.column-rule-break + - css.properties.column-rule-break.intersection + - css.properties.column-rule-break.none + - css.properties.column-rule-break.normal + - css.properties.column-rule-inset + - css.properties.column-rule-inset-cap + - css.properties.column-rule-inset-cap-end + - css.properties.column-rule-inset-cap-start + - css.properties.column-rule-inset-end + - css.properties.column-rule-inset-junction + - css.properties.column-rule-inset-junction-end + - css.properties.column-rule-inset-junction-start + - css.properties.column-rule-inset-start + - css.properties.column-rule-visibility-items + - css.properties.column-rule-visibility-items.all + - css.properties.column-rule-visibility-items.around + - css.properties.column-rule-visibility-items.between + - css.properties.column-rule-visibility-items.normal + - css.properties.row-rule + - css.properties.row-rule-break + - css.properties.row-rule-break.intersection + - css.properties.row-rule-break.none + - css.properties.row-rule-break.normal + - css.properties.row-rule-color + - css.properties.row-rule-color.currentColor + - css.properties.row-rule-color.transparent + - css.properties.row-rule-inset + - css.properties.row-rule-inset-cap + - css.properties.row-rule-inset-cap-end + - css.properties.row-rule-inset-cap-start + - css.properties.row-rule-inset-end + - css.properties.row-rule-inset-junction + - css.properties.row-rule-inset-junction-end + - css.properties.row-rule-inset-junction-start + - css.properties.row-rule-inset-start + - css.properties.row-rule-style + - css.properties.row-rule-style.dashed + - css.properties.row-rule-style.dotted + - css.properties.row-rule-style.double + - css.properties.row-rule-style.groove + - css.properties.row-rule-style.hidden + - css.properties.row-rule-style.inset + - css.properties.row-rule-style.none + - css.properties.row-rule-style.outset + - css.properties.row-rule-style.ridge + - css.properties.row-rule-style.solid + - css.properties.row-rule-visibility-items + - css.properties.row-rule-visibility-items.all + - css.properties.row-rule-visibility-items.around + - css.properties.row-rule-visibility-items.between + - css.properties.row-rule-visibility-items.normal + - css.properties.row-rule-width + - css.properties.row-rule-width.medium + - css.properties.row-rule-width.thick + - css.properties.row-rule-width.thin + - css.properties.row-rule.currentColor + - css.properties.row-rule.dashed + - css.properties.row-rule.dotted + - css.properties.row-rule.double + - css.properties.row-rule.groove + - css.properties.row-rule.hidden + - css.properties.row-rule.inset + - css.properties.row-rule.medium + - css.properties.row-rule.none + - css.properties.row-rule.outset + - css.properties.row-rule.ridge + - css.properties.row-rule.solid + - css.properties.row-rule.thick + - css.properties.row-rule.thin + - css.properties.row-rule.transparent + - css.properties.rule + - css.properties.rule-break + - css.properties.rule-break.intersection + - css.properties.rule-break.none + - css.properties.rule-break.normal + - css.properties.rule-color + - css.properties.rule-color.currentColor + - css.properties.rule-color.transparent + - css.properties.rule-inset + - css.properties.rule-inset-cap + - css.properties.rule-inset-end + - css.properties.rule-inset-junction + - css.properties.rule-inset-start + - css.properties.rule-overlap + - css.properties.rule-overlap.column-over-row + - css.properties.rule-overlap.row-over-column + - css.properties.rule-style + - css.properties.rule-style.dashed + - css.properties.rule-style.dotted + - css.properties.rule-style.double + - css.properties.rule-style.groove + - css.properties.rule-style.hidden + - css.properties.rule-style.inset + - css.properties.rule-style.none + - css.properties.rule-style.outset + - css.properties.rule-style.ridge + - css.properties.rule-style.solid + - css.properties.rule-visibility-items + - css.properties.rule-visibility-items.all + - css.properties.rule-visibility-items.around + - css.properties.rule-visibility-items.between + - css.properties.rule-visibility-items.normal + - css.properties.rule-width + - css.properties.rule-width.medium + - css.properties.rule-width.thick + - css.properties.rule-width.thin + - css.properties.rule.currentColor + - css.properties.rule.dashed + - css.properties.rule.dotted + - css.properties.rule.double + - css.properties.rule.groove + - css.properties.rule.hidden + - css.properties.rule.inset + - css.properties.rule.medium + - css.properties.rule.none + - css.properties.rule.outset + - css.properties.rule.ridge + - css.properties.rule.solid + - css.properties.rule.thick + - css.properties.rule.thin + - css.properties.rule.transparent diff --git a/features/draft/spec/css-grid-3.yml b/features/draft/spec/css-grid-3.yml index f31000965f5..e5faecf89da 100644 --- a/features/draft/spec/css-grid-3.yml +++ b/features/draft/spec/css-grid-3.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-23 +draft_date: 2026-05-08 name: CSS Grid Layout Module Level 3 description: TODO spec: https://drafts.csswg.org/css-grid-3/ @@ -65,13 +65,8 @@ compat_features: # - Multi-column layout: # - css.properties.column-gap # - css.properties.column-gap.multicol_context -# - css.properties.column-gap.multicol_context.calc_values -# - css.properties.column-gap.multicol_context.percentage_values # - Flexbox gap: # - css.properties.column-gap.flex_context -# - Grid animation: -# - css.properties.grid-template-columns.animation -# - css.properties.grid-template-rows.animation # - Masonry: # - css.properties.grid-template-columns.masonry # - css.properties.grid-template-rows.masonry diff --git a/features/draft/spec/css-images-4.yml b/features/draft/spec/css-images-4.yml index 6a5f4abb041..c2f86c14bd2 100644 --- a/features/draft/spec/css-images-4.yml +++ b/features/draft/spec/css-images-4.yml @@ -1,4 +1,4 @@ -draft_date: 2025-12-11 +draft_date: 2026-05-08 name: CSS Images Module Level 4 description: TODO spec: https://drafts.csswg.org/css-images-4/ @@ -18,7 +18,6 @@ compat_features: # - css.types.gradient.linear-gradient.premultiplied_gradients # - css.types.gradient.linear-gradient.single_color_stop # - css.types.gradient.linear-gradient.to -# - css.types.gradient.linear-gradient.unitless_0_angle # - css.types.gradient.radial-gradient # - css.types.gradient.radial-gradient.at # - css.types.gradient.radial-gradient.doubleposition @@ -30,7 +29,6 @@ compat_features: # - css.types.gradient.repeating-linear-gradient.interpolation_hints # - css.types.gradient.repeating-linear-gradient.single_color_stop # - css.types.gradient.repeating-linear-gradient.to -# - css.types.gradient.repeating-linear-gradient.unitless_0_angle # - css.types.gradient.repeating-radial-gradient # - css.types.gradient.repeating-radial-gradient.at # - css.types.gradient.repeating-radial-gradient.doubleposition @@ -41,6 +39,8 @@ compat_features: # - css.properties.background-image.image-set # - css.properties.content.image-set # - css.types.image.image-set +# - Border images: +# - css.properties.border-image.gradient # - Content: # - css.properties.content.gradient # - image-orientation: @@ -70,18 +70,18 @@ compat_features: # - shape-outside: # - css.properties.shape-outside.gradient # - css.properties.shape-outside.image +# - Transitions (CSS): +# - css.properties.transition.gradients_can_animate # - attr(): # - css.types.attr.type_function.image +# - calc(): +# - css.types.calc.gradient_color_stops # - Conic gradients: # - css.types.gradient.conic-gradient # - css.types.gradient.conic-gradient.doubleposition # - css.types.gradient.conic-gradient.single_color_stop # - css.types.gradient.repeating-conic-gradient # - Gradient interpolation: -# - css.types.gradient.conic-gradient.hue_interpolation_method -# - css.types.gradient.conic-gradient.interpolation_color_space -# - css.types.gradient.linear-gradient.hue_interpolation_method -# - css.types.gradient.linear-gradient.interpolation_color_space # - css.types.gradient.radial-gradient.hue_interpolation_method # - css.types.gradient.radial-gradient.interpolation_color_space # - css.types.gradient.repeating-conic-gradient.hue_interpolation_method diff --git a/features/draft/spec/css-lists-3.yml b/features/draft/spec/css-lists-3.yml index 3dfe1e22205..6bc2f59484e 100644 --- a/features/draft/spec/css-lists-3.yml +++ b/features/draft/spec/css-lists-3.yml @@ -1,8 +1,9 @@ -draft_date: 2026-01-19 +draft_date: 2026-05-08 name: CSS Lists and Counters Module Level 3 description: TODO spec: https://drafts.csswg.org/css-lists-3/ compat_features: + - css.properties.content.alt_text.counters - css.selectors.marker.counter_support # The following features in the spec are already part of web-features: @@ -34,4 +35,3 @@ compat_features: # - css.properties.list-style-position.outside # - css.properties.list-style-type # - css.properties.list-style-type.none -# - css.properties.list-style-type.string diff --git a/features/draft/spec/css-lists-3.yml.dist b/features/draft/spec/css-lists-3.yml.dist index 1407cc89581..47d51b7d593 100644 --- a/features/draft/spec/css-lists-3.yml.dist +++ b/features/draft/spec/css-lists-3.yml.dist @@ -3,8 +3,15 @@ status: baseline: false - support: - firefox: "147" - firefox_android: "147" + support: {} compat_features: + # baseline: false + # support: + # firefox: "147" + # firefox_android: "147" - css.selectors.marker.counter_support + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: {} + - css.properties.content.alt_text.counters diff --git a/features/draft/spec/css-multicol-2.yml b/features/draft/spec/css-multicol-2.yml index fca5c1c023c..f755a03f97f 100644 --- a/features/draft/spec/css-multicol-2.yml +++ b/features/draft/spec/css-multicol-2.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-10 +draft_date: 2026-05-08 name: CSS Multi-column Layout Module Level 2 description: TODO spec: https://drafts.csswg.org/css-multicol-2/ @@ -19,8 +19,6 @@ compat_features: # - css.properties.column-count.auto # - css.properties.column-gap # - css.properties.column-gap.multicol_context -# - css.properties.column-gap.multicol_context.calc_values -# - css.properties.column-gap.multicol_context.percentage_values # - css.properties.column-rule # - css.properties.column-rule-color # - css.properties.column-rule-style @@ -28,56 +26,16 @@ compat_features: # - css.properties.column-width # - css.properties.column-width.auto # - css.properties.columns +# - Column breaks: +# - css.properties.break-after.multicol_context +# - css.properties.break-before.multicol_context +# - css.properties.break-inside.multicol_context # - Page breaks: -# - css.properties.break-after -# - css.properties.break-after.always -# - css.properties.break-after.auto -# - css.properties.break-after.avoid -# - css.properties.break-after.avoid-page -# - css.properties.break-after.left -# - css.properties.break-after.page # - css.properties.break-after.paged_context -# - css.properties.break-after.paged_context.avoid-page -# - css.properties.break-after.paged_context.page -# - css.properties.break-after.paged_context.recto -# - css.properties.break-after.recto -# - css.properties.break-after.right -# - css.properties.break-after.verso # - css.properties.break-before -# - css.properties.break-before.always -# - css.properties.break-before.auto -# - css.properties.break-before.avoid -# - css.properties.break-before.avoid-page -# - css.properties.break-before.left -# - css.properties.break-before.page # - css.properties.break-before.paged_context -# - css.properties.break-before.paged_context.page -# - css.properties.break-before.paged_context.recto -# - css.properties.break-before.recto -# - css.properties.break-before.right -# - css.properties.break-before.verso # - css.properties.break-inside -# - css.properties.break-inside.auto -# - css.properties.break-inside.avoid -# - css.properties.break-inside.avoid-page # - css.properties.break-inside.paged_context -# - css.properties.break-inside.paged_context.avoid-page -# - Column breaks: -# - css.properties.break-after.avoid-column -# - css.properties.break-after.column -# - css.properties.break-after.multicol_context -# - css.properties.break-after.multicol_context.avoid -# - css.properties.break-after.multicol_context.avoid-column -# - css.properties.break-after.multicol_context.column -# - css.properties.break-before.avoid-column -# - css.properties.break-before.column -# - css.properties.break-before.multicol_context -# - css.properties.break-before.multicol_context.avoid -# - css.properties.break-before.multicol_context.avoid-column -# - css.properties.break-before.multicol_context.column -# - css.properties.break-inside.avoid-column -# - css.properties.break-inside.multicol_context -# - css.properties.break-inside.multicol_context.avoid-column # - column-fill: # - css.properties.column-fill # - css.properties.column-fill.auto diff --git a/features/draft/spec/css-overflow-5.yml b/features/draft/spec/css-overflow-5.yml index eaa13024e72..8194fd7de4d 100644 --- a/features/draft/spec/css-overflow-5.yml +++ b/features/draft/spec/css-overflow-5.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-16 +draft_date: 2026-05-08 name: CSS Overflow Module Level 5 description: TODO spec: https://drafts.csswg.org/css-overflow-5/ @@ -79,8 +79,6 @@ compat_features: # - css.properties.text-overflow.ellipsis # - css.properties.text-overflow.two_value_syntax # - svg.global_attributes.text-overflow -# - Custom ellipses: -# - css.properties.text-overflow.string # - ::scroll-button: # - css.selectors.scroll-button # - css.selectors.scroll-button.block-end diff --git a/features/draft/spec/css-pseudo-4.yml b/features/draft/spec/css-pseudo-4.yml index de927d421dc..c58e8d1f9e0 100644 --- a/features/draft/spec/css-pseudo-4.yml +++ b/features/draft/spec/css-pseudo-4.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-16 +draft_date: 2026-05-08 name: CSS Pseudo-Elements Module Level 4 description: TODO spec: https://drafts.csswg.org/css-pseudo-4/ @@ -26,11 +26,8 @@ compat_features: # - css.selectors.file-selector-button # - ::first-letter: # - css.selectors.first-letter -# - css.selectors.first-letter.dutch_ij_digraph -# - css.selectors.first-letter.svg_text_element # - ::first-line: # - css.selectors.first-line -# - css.selectors.first-line.svg_text_element # - ::spelling-error and ::grammar-error: # - css.selectors.grammar-error # - css.selectors.spelling-error diff --git a/features/draft/spec/css-shapes-1.yml b/features/draft/spec/css-shapes-1.yml index 2a7cd0c0b25..199d91c2e28 100644 --- a/features/draft/spec/css-shapes-1.yml +++ b/features/draft/spec/css-shapes-1.yml @@ -1,4 +1,4 @@ -draft_date: 2026-05-04 +draft_date: 2026-05-08 name: CSS Shapes Module Level 1 description: TODO spec: https://drafts.csswg.org/css-shapes-1/ @@ -17,9 +17,10 @@ compat_features: # The following features in the spec are already part of web-features: # - clip-path: # - css.properties.clip-path.basic_shape +# - Motion path: +# - css.properties.offset-path.path # - shape-outside: # - css.properties.shape-image-threshold -# - css.properties.shape-image-threshold.percentages # - css.properties.shape-margin # - css.properties.shape-outside # - css.properties.shape-outside.circle @@ -29,7 +30,6 @@ compat_features: # - css.properties.shape-outside.polygon # - shapes: # - css.types.basic-shape -# - css.types.basic-shape.animation # - css.types.basic-shape.circle # - css.types.basic-shape.ellipse # - css.types.basic-shape.inset diff --git a/features/draft/spec/css-sizing-4.yml b/features/draft/spec/css-sizing-4.yml index 37ad3bae2c4..a184f9ec558 100644 --- a/features/draft/spec/css-sizing-4.yml +++ b/features/draft/spec/css-sizing-4.yml @@ -1,4 +1,4 @@ -draft_date: 2025-11-03 +draft_date: 2026-05-08 name: CSS Box Sizing Module Level 4 description: TODO spec: https://drafts.csswg.org/css-sizing-4/ @@ -24,7 +24,6 @@ compat_features: # - css.properties.aspect-ratio # - css.properties.aspect-ratio.auto # - Logical properties: -# - css.properties.block-size # - css.properties.block-size.fit-content # - css.properties.block-size.max-content # - css.properties.block-size.min-content @@ -65,9 +64,6 @@ compat_features: # - css.properties.box-sizing # - css.properties.box-sizing.border-box # - css.properties.box-sizing.content-box -# - Multi-column layout: -# - css.properties.column-width -# - css.properties.column-width.auto # - contain-intrinsic-size: # - css.properties.contain-intrinsic-block-size # - css.properties.contain-intrinsic-block-size.none @@ -80,6 +76,10 @@ compat_features: # - css.properties.contain-intrinsic-size.none # - css.properties.contain-intrinsic-width # - css.properties.contain-intrinsic-width.none +# - Flexbox: +# - css.properties.flex-basis.fit-content +# - css.properties.flex-basis.max-content +# - css.properties.flex-basis.min-content # - Width and height: # - css.properties.height # - css.properties.height.auto diff --git a/features/draft/spec/css-text-4.yml b/features/draft/spec/css-text-4.yml index e856e098323..a9628bccef1 100644 --- a/features/draft/spec/css-text-4.yml +++ b/features/draft/spec/css-text-4.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-23 +draft_date: 2026-05-08 name: CSS Text Module Level 4 description: TODO spec: https://drafts.csswg.org/css-text-4/ @@ -38,69 +38,6 @@ compat_features: # - Hyphenation: # - css.properties.hyphens # - css.properties.hyphens.auto -# - css.properties.hyphens.language_afrikaans -# - css.properties.hyphens.language_albanian -# - css.properties.hyphens.language_amharic -# - css.properties.hyphens.language_armenian -# - css.properties.hyphens.language_assamese -# - css.properties.hyphens.language_basque -# - css.properties.hyphens.language_belarusian -# - css.properties.hyphens.language_bengali -# - css.properties.hyphens.language_bosnian -# - css.properties.hyphens.language_bulgarian -# - css.properties.hyphens.language_catalan -# - css.properties.hyphens.language_croatian -# - css.properties.hyphens.language_cyrillic_mongolian -# - css.properties.hyphens.language_czech -# - css.properties.hyphens.language_danish -# - css.properties.hyphens.language_dutch -# - css.properties.hyphens.language_english -# - css.properties.hyphens.language_esperanto -# - css.properties.hyphens.language_estonian -# - css.properties.hyphens.language_ethiopic_script_mul -# - css.properties.hyphens.language_ethiopic_script_und -# - css.properties.hyphens.language_finnish -# - css.properties.hyphens.language_french -# - css.properties.hyphens.language_galician -# - css.properties.hyphens.language_georgian -# - css.properties.hyphens.language_german_reformed_orthography -# - css.properties.hyphens.language_german_swiss_orthography -# - css.properties.hyphens.language_german_traditional_orthography -# - css.properties.hyphens.language_gujarati -# - css.properties.hyphens.language_hindi -# - css.properties.hyphens.language_hungarian -# - css.properties.hyphens.language_icelandic -# - css.properties.hyphens.language_interlingua -# - css.properties.hyphens.language_irish -# - css.properties.hyphens.language_italian -# - css.properties.hyphens.language_kannada -# - css.properties.hyphens.language_kurmanji -# - css.properties.hyphens.language_latin -# - css.properties.hyphens.language_latvian -# - css.properties.hyphens.language_lithuanian -# - css.properties.hyphens.language_malayalam -# - css.properties.hyphens.language_marathi -# - css.properties.hyphens.language_modern_greek -# - css.properties.hyphens.language_mongolian -# - css.properties.hyphens.language_norwegian_nn -# - css.properties.hyphens.language_norwegian_no -# - css.properties.hyphens.language_old_slavonic -# - css.properties.hyphens.language_oriya -# - css.properties.hyphens.language_polish -# - css.properties.hyphens.language_portuguese -# - css.properties.hyphens.language_punjabi -# - css.properties.hyphens.language_russian -# - css.properties.hyphens.language_slovak -# - css.properties.hyphens.language_slovenian -# - css.properties.hyphens.language_spanish -# - css.properties.hyphens.language_swedish -# - css.properties.hyphens.language_tamil -# - css.properties.hyphens.language_telugu -# - css.properties.hyphens.language_turkish -# - css.properties.hyphens.language_turkmen -# - css.properties.hyphens.language_ukrainian -# - css.properties.hyphens.language_upper_sorbian -# - css.properties.hyphens.language_welsh # - letter-spacing: # - css.properties.letter-spacing # - css.properties.letter-spacing.normal @@ -165,16 +102,11 @@ compat_features: # - text-transform: # - css.properties.text-transform # - css.properties.text-transform.capitalize -# - css.properties.text-transform.dutch_ij_digraph # - css.properties.text-transform.full-size-kana # - css.properties.text-transform.full-width -# - css.properties.text-transform.greek_accented_characters # - css.properties.text-transform.lowercase -# - css.properties.text-transform.lowercase_sigma # - css.properties.text-transform.none -# - css.properties.text-transform.turkic_is # - css.properties.text-transform.uppercase -# - css.properties.text-transform.uppercase_eszett # - MathML: # - css.properties.text-transform.math-auto # - text-wrap: diff --git a/features/draft/spec/css-text-decor-4.yml b/features/draft/spec/css-text-decor-4.yml index 86db922e74b..e89214fc378 100644 --- a/features/draft/spec/css-text-decor-4.yml +++ b/features/draft/spec/css-text-decor-4.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-16 +draft_date: 2026-05-08 name: CSS Text Decoration Module Level 4 description: TODO spec: https://drafts.csswg.org/css-text-decor-4/ @@ -37,7 +37,6 @@ compat_features: # - css.properties.text-decoration-thickness # - css.properties.text-decoration-thickness.auto # - css.properties.text-decoration-thickness.from-font -# - css.properties.text-decoration-thickness.percentage # - Spelling and grammar text decorations: # - css.properties.text-decoration-line.grammar-error # - css.properties.text-decoration-line.spelling-error diff --git a/features/draft/spec/css-transitions-2.yml b/features/draft/spec/css-transitions-2.yml index 3bdb487bd6a..15837264171 100644 --- a/features/draft/spec/css-transitions-2.yml +++ b/features/draft/spec/css-transitions-2.yml @@ -1,5 +1,5 @@ -draft_date: 2025-12-08 -name: CSS Transitions Level 2 +draft_date: 2026-05-08 +name: CSS Transitions Module Level 2 description: TODO spec: https://drafts.csswg.org/css-transitions-2/ compat_features: @@ -26,7 +26,6 @@ compat_features: # - api.TransitionEvent.pseudoElement # - css.properties.transition # - css.properties.transition.all -# - css.properties.transition.gradients_can_animate # - css.properties.transition.none # - css.properties.transition-delay # - css.properties.transition-duration @@ -35,7 +34,6 @@ compat_features: # - css.properties.transition-property.all # - css.properties.transition-property.none # - css.properties.transition-timing-function -# - css.properties.transition-timing-function.jump # - transition-behavior: # - css.properties.transition.transition-behavior # - css.properties.transition-behavior diff --git a/features/draft/spec/css-ui-4.yml b/features/draft/spec/css-ui-4.yml index 56b4a3c68e5..4a0a64f3239 100644 --- a/features/draft/spec/css-ui-4.yml +++ b/features/draft/spec/css-ui-4.yml @@ -1,11 +1,8 @@ -draft_date: 2026-03-11 +draft_date: 2026-05-08 name: CSS Basic User Interface Module Level 4 description: TODO spec: https://drafts.csswg.org/css-ui-4/ compat_features: - - css.properties.appearance.base-select.listbox - - css.properties.appearance.base-select.multiple_dropdown - - css.properties.appearance.base-select.single_dropdown - css.properties.caret-animation - css.properties.caret-animation.auto - css.properties.caret-animation.manual @@ -85,7 +82,6 @@ compat_features: # - css.properties.cursor.sw-resize # - css.properties.cursor.text # - css.properties.cursor.url -# - css.properties.cursor.url_positioning_syntax # - css.properties.cursor.vertical-text # - css.properties.cursor.w-resize # - css.properties.cursor.wait diff --git a/features/draft/spec/css-ui-4.yml.dist b/features/draft/spec/css-ui-4.yml.dist index 34abbfed23d..20271a7298b 100644 --- a/features/draft/spec/css-ui-4.yml.dist +++ b/features/draft/spec/css-ui-4.yml.dist @@ -3,7 +3,10 @@ status: baseline: false - support: {} + support: + chrome: "142" + chrome_android: "142" + edge: "142" compat_features: # baseline: high # baseline_low_date: 2020-01-15 @@ -43,13 +46,6 @@ compat_features: - css.properties.resize.none - css.properties.resize.vertical - # baseline: false - # support: - # chrome: "135" - # chrome_android: "135" - # edge: "135" - - css.properties.appearance.base-select.single_dropdown - # baseline: false # support: # chrome: "140" @@ -59,6 +55,7 @@ compat_features: - css.properties.caret-animation.auto - css.properties.caret-animation.manual + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "142" @@ -70,15 +67,3 @@ compat_features: - css.properties.interest-delay-start - css.properties.interest-delay-start.normal - css.properties.interest-delay.normal - - # baseline: false - # support: - # chrome: "145" - # chrome_android: "145" - # edge: "145" - - css.properties.appearance.base-select.listbox - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: {} - - css.properties.appearance.base-select.multiple_dropdown diff --git a/features/draft/spec/css-values-4.yml b/features/draft/spec/css-values-4.yml index 32fb83d0219..750d16826b0 100644 --- a/features/draft/spec/css-values-4.yml +++ b/features/draft/spec/css-values-4.yml @@ -1,7 +1,18 @@ -draft_date: 2025-10-08 +draft_date: 2026-05-08 name: CSS Values and Units Module Level 4 description: TODO spec: https://drafts.csswg.org/css-values-4/ compat_features: - css.types.calc.typed_division_produces_unitless_number - css.types.sign.typed_division_produces_unitless_number + +# The following features in the spec are already part of web-features: +# - Multi-column layout: +# - css.properties.column-gap.multicol_context.percentage_values +# - Grid: +# - css.properties.gap.grid_context.percentage_values +# - Transitions (CSS): +# - css.properties.transition-property.IDENT_value +# - Media queries: +# - css.types.ratio +# - css.types.ratio.number_value diff --git a/features/draft/spec/css-values-5.yml b/features/draft/spec/css-values-5.yml index b4cfeeadcb7..ba6dff4c3f1 100644 --- a/features/draft/spec/css-values-5.yml +++ b/features/draft/spec/css-values-5.yml @@ -1,4 +1,4 @@ -draft_date: 2026-05-04 +draft_date: 2026-05-08 name: CSS Values and Units Module Level 5 description: TODO spec: https://drafts.csswg.org/css-values-5/ @@ -54,7 +54,6 @@ compat_features: - css.properties.perspective-origin.y-end - css.properties.perspective-origin.y-start - css.types.attr.attr-name_accepts_namespaces - - css.types.if.style - css.types.random.dashed-ident - css.types.random.element-shared - css.types.random.step @@ -62,16 +61,36 @@ compat_features: # The following features in the spec are already part of web-features: # - Media queries: # - css.at-rules.media.calc +# - Multi-column layout: +# - css.properties.column-gap.multicol_context.calc_values # - Content: # - css.properties.content.url # - css.types.string # - css.types.string.unicode_escaped_characters +# - font-stretch: +# - css.properties.font-stretch.percentage +# - font-weight: +# - css.properties.font-weight.number +# - Grid: +# - css.properties.gap.grid_context.calc_values # - interpolate-size: # - css.properties.interpolate-size # - css.properties.interpolate-size.allow-keywords # - css.properties.interpolate-size.numeric-only +# - List style: +# - css.properties.list-style-type.string +# - opacity: +# - css.properties.opacity.percentages +# - css.types.number +# - css.types.number.scientific_notation +# - shape-outside: +# - css.properties.shape-image-threshold.percentages # - tab-size: # - css.properties.tab-size.length +# - text-decoration: +# - css.properties.text-decoration-thickness.percentage +# - Custom ellipses: +# - css.properties.text-overflow.string # - abs() and sign(): # - css.types.abs # - css.types.sign @@ -113,11 +132,8 @@ compat_features: # - css.types.attr.type_function.url # - calc(): # - css.types.calc -# - css.types.calc.gradient_color_stops # - css.types.calc.nested # - css.types.calc.number_values -# - Relative colors: -# - css.types.calc.color_component # - calc() keywords: # - css.types.calc-keyword # - css.types.calc-keyword.NaN @@ -130,6 +146,21 @@ compat_features: # - css.types.clamp # - css.types.max # - css.types.min +# - color(): +# - css.types.color.color.mixed_type_parameters +# - HSL: +# - css.types.color.hsl.mixed_type_parameters +# - HWB: +# - css.types.color.hwb.mixed_type_parameters +# - Lab and LCH: +# - css.types.color.lab.mixed_type_parameters +# - css.types.color.lch.mixed_type_parameters +# - Oklab and OkLCh: +# - css.types.color.oklab.mixed_type_parameters +# - css.types.color.oklch.mixed_type_parameters +# - RGB: +# - css.types.color.rgb.float_values +# - css.types.color.rgb.mixed_type_parameters # - Width and height: # - css.types.dimension # - css.types.length @@ -141,6 +172,9 @@ compat_features: # - css.types.log # - css.types.pow # - css.types.sqrt +# - Gradients: +# - css.types.gradient.linear-gradient.unitless_0_angle +# - css.types.gradient.repeating-linear-gradient.unitless_0_angle # - if(): # - css.types.if # - z-index: @@ -151,8 +185,6 @@ compat_features: # - css.types.length.cap # - ch unit: # - css.types.length.ch -# - Container queries: -# - css.types.length.container_query_length_units # - em unit: # - css.types.length.em # - ex unit: @@ -191,9 +223,6 @@ compat_features: # - css.types.rem.mixed_type_parameters # - css.types.round # - css.types.round.mixed_type_parameters -# - opacity: -# - css.types.number -# - css.types.number.scientific_notation # - progress(): # - css.types.progress # - random(): diff --git a/features/draft/spec/css-values-5.yml.dist b/features/draft/spec/css-values-5.yml.dist index ba12a0e0735..0555aa30ac3 100644 --- a/features/draft/spec/css-values-5.yml.dist +++ b/features/draft/spec/css-values-5.yml.dist @@ -38,13 +38,6 @@ compat_features: - css.properties.offset.right - css.properties.offset.top - # baseline: false - # support: - # chrome: "137" - # chrome_android: "137" - # edge: "137" - - css.types.if.style - # baseline: false # support: # safari: "26" diff --git a/features/draft/spec/css2.yml b/features/draft/spec/css2.yml index f5f02e4f72b..9a7f0ed2394 100644 --- a/features/draft/spec/css2.yml +++ b/features/draft/spec/css2.yml @@ -1,4 +1,4 @@ -draft_date: 2025-12-08 +draft_date: 2026-05-08 name: Cascading Style Sheets Level 2 description: TODO spec: https://drafts.csswg.org/css2/ @@ -23,7 +23,6 @@ compat_features: # - css.properties.caption-side # - css.properties.caption-side.bottom # - css.properties.caption-side.top -# - css.properties.caption-side.writing-mode_relative_values # - css.properties.empty-cells # - css.properties.empty-cells.hide # - css.properties.empty-cells.show diff --git a/features/draft/spec/dom.yml b/features/draft/spec/dom.yml index 129a5bda47b..cb9ea8a89c2 100644 --- a/features/draft/spec/dom.yml +++ b/features/draft/spec/dom.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-14 +draft_date: 2026-05-08 name: DOM description: TODO spec: https://dom.spec.whatwg.org/ @@ -13,9 +13,7 @@ compat_features: - api.Document.createElementNS.html_name_validity - api.Document.createElementNS.options_parameter.customElementRegistry_option - api.Document.createElementNS.options_parameter.options_is_parameter - - api.Element.setAttribute.enforces_trusted_types - api.Element.setAttribute.html_name_validity - - api.Element.setAttributeNS.enforces_trusted_types - api.Element.setAttributeNodeNS.html_name_validity - api.Element.toggleAttribute.html_name_validity @@ -373,8 +371,6 @@ compat_features: # - api.Document.customElementRegistry # - api.Element.customElementRegistry # - api.ShadowRoot.customElementRegistry -# - Feature policy: -# - api.Document.featurePolicy # - moveBefore(): # - api.Document.moveBefore # - api.DocumentFragment.moveBefore @@ -385,7 +381,6 @@ compat_features: # - api.HTMLSlotElement.slotchange_event # - api.Text.assignedSlot # - html.elements.slot -# - html.elements.slot.name # - html.global_attributes.slot # - Shadow DOM: # - api.Element.attachShadow @@ -421,6 +416,8 @@ compat_features: # - api.MutationRecord.type # - Imperative slot assignment: # - api.ShadowRoot.slotAssignment +# - beforeunload: +# - api.Window.beforeunload_event.preventdefault_activation # - XSLT: # - api.XSLTProcessor # - api.XSLTProcessor.XSLTProcessor diff --git a/features/draft/spec/dom.yml.dist b/features/draft/spec/dom.yml.dist index 3746cc72b1e..35ceb4da5d5 100644 --- a/features/draft/spec/dom.yml.dist +++ b/features/draft/spec/dom.yml.dist @@ -17,16 +17,6 @@ compat_features: # safari_ios: "26" - api.Document.createElement.options_parameter.options_is_parameter - # baseline: false - # support: - # chrome: "83" - # chrome_android: "83" - # edge: "83" - # safari: "26" - # safari_ios: "26" - - api.Element.setAttribute.enforces_trusted_types - - api.Element.setAttributeNS.enforces_trusted_types - # baseline: false # support: # chrome: "143" diff --git a/features/draft/spec/ecmascript.yml b/features/draft/spec/ecmascript.yml index c053418a266..65eba938c30 100644 --- a/features/draft/spec/ecmascript.yml +++ b/features/draft/spec/ecmascript.yml @@ -1,8 +1,9 @@ -draft_date: 2026-02-04 -name: ECMAScript® 2026 Language Specification +draft_date: 2026-05-08 +name: ECMAScript® 2027 Language Specification description: TODO spec: https://tc39.es/ecma262/multipage/ compat_features: + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.utc_offset - javascript.operators.import.options_parameter # The following features in the spec are already part of web-features: @@ -10,7 +11,6 @@ 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 @@ -108,31 +108,14 @@ compat_features: # - javascript.builtins.Array.splice # - Intl: # - javascript.builtins.Array.toLocaleString -# - javascript.builtins.Array.toLocaleString.locales_parameter -# - javascript.builtins.Array.toLocaleString.options_parameter # - javascript.builtins.Date.toLocaleDateString -# - javascript.builtins.Date.toLocaleDateString.iana_time_zone_names -# - javascript.builtins.Date.toLocaleDateString.locales_parameter -# - javascript.builtins.Date.toLocaleDateString.options_parameter # - javascript.builtins.Date.toLocaleString -# - javascript.builtins.Date.toLocaleString.iana_time_zone_names -# - javascript.builtins.Date.toLocaleString.locales_parameter -# - javascript.builtins.Date.toLocaleString.options_parameter # - javascript.builtins.Date.toLocaleTimeString -# - javascript.builtins.Date.toLocaleTimeString.iana_time_zone_names -# - javascript.builtins.Date.toLocaleTimeString.locales_parameter -# - javascript.builtins.Date.toLocaleTimeString.options_parameter # - javascript.builtins.Number.toLocaleString -# - javascript.builtins.Number.toLocaleString.locales_parameter -# - javascript.builtins.Number.toLocaleString.options_parameter # - javascript.builtins.Object.toLocaleString # - javascript.builtins.String.localeCompare -# - javascript.builtins.String.localeCompare.locales_parameter -# - javascript.builtins.String.localeCompare.options_parameter # - javascript.builtins.String.toLocaleLowerCase -# - javascript.builtins.String.toLocaleLowerCase.locales_parameter # - javascript.builtins.String.toLocaleUpperCase -# - javascript.builtins.String.toLocaleUpperCase.locales_parameter # - javascript.builtins.TypedArray.toLocaleString # - Array by copy: # - javascript.builtins.Array.toReversed @@ -688,6 +671,7 @@ compat_features: # - javascript.builtins.Object.toString # - javascript.builtins.Object.valueOf # - javascript.builtins.Object.values +# - javascript.grammar.shorthand_object_literals # - javascript.operators.object_initializer # - javascript.operators.object_initializer.computed_property_names # - javascript.operators.object_initializer.shorthand_method_names @@ -945,7 +929,6 @@ compat_features: # - javascript.grammar.template_literals.template_literal_revision # - JSON import attributes: # - javascript.grammar.trailing_commas.trailing_commas_in_dynamic_import -# - javascript.statements.import.import_attributes.type_json # - Unicode point escapes: # - javascript.grammar.unicode_point_escapes # - Top-level await: @@ -986,8 +969,6 @@ compat_features: # - Let and const: # - javascript.statements.const # - javascript.statements.let -# - CSS import attributes: -# - javascript.statements.import.import_attributes.type_css # - JavaScript modules in service workers: # - javascript.statements.import.service_worker_support # - Optional catch binding: diff --git a/features/draft/spec/ecmascript.yml.dist b/features/draft/spec/ecmascript.yml.dist index 46d5063ec4a..3f189aa94b9 100644 --- a/features/draft/spec/ecmascript.yml.dist +++ b/features/draft/spec/ecmascript.yml.dist @@ -5,12 +5,34 @@ status: baseline: low baseline_low_date: 2025-04-29 support: - chrome: "91" - chrome_android: "91" - edge: "91" + chrome: "120" + chrome_android: "120" + edge: "120" firefox: "138" firefox_android: "138" - safari: "15" - safari_ios: "15" + safari: "17.4" + safari_ios: "17.4" compat_features: + # baseline: low + # baseline_low_date: 2024-03-05 + # support: + # chrome: "120" + # chrome_android: "120" + # edge: "120" + # firefox: "121" + # firefox_android: "121" + # safari: "17.4" + # safari_ios: "17.4" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.utc_offset + + # baseline: low + # baseline_low_date: 2025-04-29 + # support: + # chrome: "91" + # chrome_android: "91" + # edge: "91" + # firefox: "138" + # firefox_android: "138" + # safari: "15" + # safari_ios: "15" - javascript.operators.import.options_parameter diff --git a/features/draft/spec/element-timing.yml b/features/draft/spec/element-timing.yml deleted file mode 100644 index 36b40ca5210..00000000000 --- a/features/draft/spec/element-timing.yml +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index da2142f2309..00000000000 --- a/features/draft/spec/element-timing.yml.dist +++ /dev/null @@ -1,11 +0,0 @@ -# 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/ext-disjoint-timer-query-webgl2.yml b/features/draft/spec/ext-disjoint-timer-query-webgl2.yml new file mode 100644 index 00000000000..d813f0869a6 --- /dev/null +++ b/features/draft/spec/ext-disjoint-timer-query-webgl2.yml @@ -0,0 +1,7 @@ +draft_date: 2026-05-08 +name: WebGL EXT_disjoint_timer_query_webgl2 Extension Specification +description: TODO +spec: https://registry.khronos.org/webgl/extensions/EXT_disjoint_timer_query_webgl2/ +compat_features: + - api.EXT_disjoint_timer_query_webgl2 + - api.EXT_disjoint_timer_query_webgl2.queryCounterEXT diff --git a/features/draft/spec/ext-disjoint-timer-query-webgl2.yml.dist b/features/draft/spec/ext-disjoint-timer-query-webgl2.yml.dist new file mode 100644 index 00000000000..5d4e4577491 --- /dev/null +++ b/features/draft/spec/ext-disjoint-timer-query-webgl2.yml.dist @@ -0,0 +1,11 @@ +# Generated from: ext-disjoint-timer-query-webgl2.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "70" + edge: "80" +compat_features: + - api.EXT_disjoint_timer_query_webgl2 + - api.EXT_disjoint_timer_query_webgl2.queryCounterEXT diff --git a/features/draft/spec/fenced-frame.yml b/features/draft/spec/fenced-frame.yml index 05f716419c0..c80b2586dfb 100644 --- a/features/draft/spec/fenced-frame.yml +++ b/features/draft/spec/fenced-frame.yml @@ -1,4 +1,4 @@ -draft_date: 2025-09-30 +draft_date: 2026-05-08 name: Fenced Frame description: TODO spec: https://wicg.github.io/fenced-frame/ @@ -24,5 +24,6 @@ compat_features: # - html.elements.fencedframe # - html.elements.fencedframe.allow # - http.headers.Content-Security-Policy.fenced-frame-src +# - http.headers.Sec-Fetch-Dest.fencedframe # - Speculation rules: # - http.headers.Supports-Loading-Mode.fenced-frame diff --git a/features/draft/spec/fetch.yml b/features/draft/spec/fetch.yml index 88a9be99416..236c707eeea 100644 --- a/features/draft/spec/fetch.yml +++ b/features/draft/spec/fetch.yml @@ -1,4 +1,4 @@ -draft_date: 2026-05-04 +draft_date: 2026-05-08 name: Fetch description: TODO spec: https://fetch.spec.whatwg.org/ @@ -6,7 +6,9 @@ compat_features: - api.Request.Request.options_parameter.duplex - api.fetch.options_parameter.body.accepts_readablestream - api.fetch.options_parameter.duplex + - http.headers.Content-Length.cors_response_safelist - http.headers.Cross-Origin-Resource-Policy + - http.headers.Range.cors_safe - http.headers.X-Content-Type-Options # The following features in the spec are already part of web-features: @@ -94,14 +96,14 @@ compat_features: # - api.fetch.options_parameter.body # - api.fetch.options_parameter.keepalive # - api.fetch.options_parameter.referrerPolicy +# - Custom highlights: +# - api.Highlight.delete +# - api.Highlight.has # - Fetch priority: # - api.Request.Request.options_parameter.priority # - api.fetch.options_parameter.priority # - Fetch upload streams: # - api.Request.body -# - Speculation rules: -# - api.Request.destination.speculationrules -# - http.headers.Sec-Purpose.speculationrules # - Fetch form data: # - api.Request.formData # - api.Response.formData @@ -112,6 +114,12 @@ compat_features: # - api.fetch.options_parameter.signal # - XMLHttpRequest: # - api.XMLHttpRequest.authorization_removed_cross_origin +# - api.XMLHttpRequest.getAllResponseHeaders.header_names_lowercase +# - api.XMLHttpRequest.send.body_ArrayBufferView_type +# - api.XMLHttpRequest.send.body_ArrayBuffer_type +# - api.XMLHttpRequest.send.body_Blob_type +# - api.XMLHttpRequest.send.body_FormData_type +# - api.XMLHttpRequest.send.body_URLSearchParams_type # - CORS: # - http.headers.Access-Control-Allow-Credentials # - http.headers.Access-Control-Allow-Headers diff --git a/features/draft/spec/fetch.yml.dist b/features/draft/spec/fetch.yml.dist index e4ddae8e040..f85e4433d8f 100644 --- a/features/draft/spec/fetch.yml.dist +++ b/features/draft/spec/fetch.yml.dist @@ -33,6 +33,32 @@ compat_features: # safari_ios: "12" - http.headers.Cross-Origin-Resource-Policy + # baseline: high + # baseline_low_date: 2021-03-23 + # baseline_high_date: 2023-09-23 + # support: + # chrome: "76" + # chrome_android: "76" + # edge: "79" + # firefox: "87" + # firefox_android: "87" + # safari: "12.1" + # safari_ios: "12.2" + - http.headers.Content-Length.cors_response_safelist + + # baseline: high + # baseline_low_date: 2023-08-29 + # baseline_high_date: 2026-02-28 + # support: + # chrome: "99" + # chrome_android: "99" + # edge: "99" + # firefox: "117" + # firefox_android: "117" + # safari: "16" + # safari_ios: "16" + - http.headers.Range.cors_safe + # baseline: false # support: # chrome: "105" diff --git a/features/draft/spec/gamepad.yml b/features/draft/spec/gamepad.yml index bbc0b1a68d1..0a5c173b9c8 100644 --- a/features/draft/spec/gamepad.yml +++ b/features/draft/spec/gamepad.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-02 +draft_date: 2026-05-08 name: Gamepad description: TODO spec: https://w3c.github.io/gamepad/ @@ -14,18 +14,14 @@ compat_features: # - api.Gamepad.id # - api.Gamepad.index # - api.Gamepad.mapping -# - api.Gamepad.secure_context_required # - api.Gamepad.timestamp # - api.GamepadButton # - api.GamepadButton.pressed -# - api.GamepadButton.secure_context_required # - api.GamepadButton.value # - api.GamepadEvent # - api.GamepadEvent.GamepadEvent # - api.GamepadEvent.gamepad -# - api.GamepadEvent.secure_context_required # - api.Navigator.getGamepads -# - api.Navigator.getGamepads.secure_context_required # - api.Window.gamepadconnected_event # - api.Window.gamepaddisconnected_event # - html.elements.iframe.allow.gamepad @@ -39,6 +35,5 @@ compat_features: # - api.GamepadHapticActuator.playEffect.params_rightTrigger_parameter # - api.GamepadHapticActuator.playEffect.type_trigger-rumble # - api.GamepadHapticActuator.reset -# - api.GamepadHapticActuator.secure_context_required # - Gamepad touch buttons: # - api.GamepadButton.touched diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml index cbd93176ec6..8eb6eb5ecca 100644 --- a/features/draft/spec/html.yml +++ b/features/draft/spec/html.yml @@ -1,4 +1,4 @@ -draft_date: 2026-05-04 +draft_date: 2026-05-08 name: HTML description: TODO spec: https://html.spec.whatwg.org/multipage/ @@ -17,7 +17,6 @@ compat_features: - api.HTMLAllCollection.length - api.HTMLAllCollection.namedItem - api.HTMLBaseElement.href.forbid_data_javascript_urls - - api.HTMLBaseElement.href.forbid_special_characters - api.HTMLButtonElement.command.request-close - api.HTMLButtonElement.commandForElement.implicit_anchor_reference - api.HTMLCanvasElement.getContext.2d_context.options_colorType_parameter @@ -31,7 +30,6 @@ compat_features: - api.HTMLElement.togglePopover.options_force_parameter - api.HTMLImageElement.currentSrc - api.HTMLImageElement.sizes.auto - - api.HTMLInputElement.showPicker.autocomplete_input - api.HTMLInputElement.showPicker.datalist_input - api.HTMLInputElement.showPicker.month_input - api.HTMLInputElement.showPicker.time_input @@ -60,7 +58,6 @@ compat_features: - api.NavigateEvent.sourceElement - api.NavigationTransition.committed - api.NavigationTransition.to - - api.Navigator.authentication - api.Navigator.oscpu - api.Navigator.taintEnabled - api.Navigator.vendorSub @@ -81,7 +78,6 @@ compat_features: - api.TrackEvent.TrackEvent - api.TrackEvent.track - api.Window.originAgentCluster - - api.Window.postMessage.options_delegate_parameter - api.Window.postMessage.transfer_parameter - api.Window.rejectionhandled_event - api.Window.unhandledrejection_event @@ -101,14 +97,11 @@ compat_features: - html.elements.form.autocomplete.webauthn - html.elements.h1.no_ua_styles_in_article_aside_nav_section - html.elements.hr.hr_in_select - - html.elements.html.xmlns - html.elements.iframe.allow.autoplay - html.elements.iframe.allow.cross-origin-isolated - html.elements.iframe.allow.document-domain - - html.elements.iframe.allow.wildcards - html.elements.iframe.sandbox.allow-orientation-lock - html.elements.iframe.sandbox.allow-pointer-lock - - html.elements.img.usemap.case_sensitive - html.elements.input.autocomplete - html.elements.input.type_color.accepts_css_colors - html.elements.input.type_range.labeled_values @@ -133,7 +126,6 @@ compat_features: - html.global_attributes.id - http.headers.Cross-Origin-Embedder-Policy - http.headers.Cross-Origin-Embedder-Policy.credentialless - - http.headers.Cross-Origin-Embedder-Policy.report-to_parameter - http.headers.Cross-Origin-Opener-Policy - http.headers.Cross-Origin-Opener-Policy.noopener-allow-popups - http.headers.Cross-Origin-Opener-Policy.report-to_parameter @@ -143,6 +135,7 @@ compat_features: - http.headers.Permissions-Policy.cross-origin-isolated - http.headers.Refresh - http.headers.X-Frame-Options + - http.headers.X-Frame-Options.DENY - http.headers.X-Frame-Options.SAMEORIGIN - http.status.103 - http.status.103.preconnect @@ -191,7 +184,6 @@ compat_features: # - api.BeforeUnloadEvent # - api.BeforeUnloadEvent.user_interaction # - api.Window.beforeunload_event -# - api.Window.beforeunload_event.preventdefault_activation # - BroadcastChannel: # - api.BroadcastChannel # - api.BroadcastChannel.BroadcastChannel @@ -331,7 +323,11 @@ compat_features: # - api.SVGElement.tabIndex # - api.SVGImageElement.decode # - api.SVGImageElement.decoding +# - api.SVGScriptElement.async +# - api.SVGScriptElement.defer # - svg.elements.image.decoding +# - svg.elements.script.async +# - svg.elements.script.defer # - contextlost and contextrestored: # - api.CanvasRenderingContext2D.isContextLost # - api.HTMLCanvasElement.contextlost_event @@ -492,7 +488,6 @@ compat_features: # - api.DedicatedWorkerGlobalScope.name # - api.Worker # - api.Worker.Worker -# - api.Worker.Worker.mime_checks # - api.Worker.Worker.options_name_parameter # - api.Worker.error_event # - api.Worker.terminate @@ -500,7 +495,6 @@ compat_features: # - api.WorkerGlobalScope # - api.WorkerGlobalScope.error_event # - api.WorkerGlobalScope.importScripts -# - api.WorkerGlobalScope.importScripts.mime_checks # - api.WorkerGlobalScope.location # - api.WorkerGlobalScope.navigator # - api.WorkerGlobalScope.rejectionhandled_event @@ -544,9 +538,6 @@ compat_features: # - api.Document.open # - Cookies: # - api.Document.cookie -# - Feature policy: -# - api.Document.featurePolicy -# - api.HTMLIFrameElement.featurePolicy # - Page visibility: # - api.Document.hidden # - api.Document.visibilityState @@ -597,9 +588,6 @@ compat_features: # - api.Element.mouseover_event # - api.Element.mouseup_event # - api.HTMLElement.click -# - Pointer Events: -# - api.Element.auxclick_event.type_pointerevent -# - api.Element.click_event.type_pointerevent # - hidden="until-found": # - api.Element.beforematch_event # - html.global_attributes.hidden.until-found @@ -689,6 +677,8 @@ compat_features: # - html.elements.form.novalidate # - html.elements.form.rel # - html.elements.form.target +# - WebGPU: +# - api.GPUDevice.importExternalTexture.color_space_display-p3 # - : # - api.HTMLAnchorElement # - api.HTMLAnchorElement.hash @@ -711,8 +701,6 @@ 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 @@ -732,53 +720,17 @@ compat_features: # - html.elements.area.ping # - Referrer policy: # - api.HTMLAnchorElement.referrerPolicy -# - api.HTMLAnchorElement.referrerPolicy.no-referrer-when-downgrade -# - api.HTMLAnchorElement.referrerPolicy.origin-when-cross-origin -# - api.HTMLAnchorElement.referrerPolicy.unsafe-url # - api.HTMLAreaElement.referrerPolicy -# - api.HTMLAreaElement.referrerPolicy.no-referrer-when-downgrade -# - api.HTMLAreaElement.referrerPolicy.origin-when-cross-origin -# - api.HTMLAreaElement.referrerPolicy.unsafe-url # - api.HTMLIFrameElement.referrerPolicy -# - api.HTMLIFrameElement.referrerPolicy.no-referrer-when-downgrade -# - api.HTMLIFrameElement.referrerPolicy.origin-when-cross-origin -# - api.HTMLIFrameElement.referrerPolicy.unsafe-url # - api.HTMLImageElement.referrerPolicy -# - api.HTMLImageElement.referrerPolicy.no-referrer-when-downgrade -# - api.HTMLImageElement.referrerPolicy.origin-when-cross-origin -# - api.HTMLImageElement.referrerPolicy.unsafe-url # - api.HTMLLinkElement.referrerPolicy -# - api.HTMLLinkElement.referrerPolicy.no-referrer-when-downgrade -# - api.HTMLLinkElement.referrerPolicy.origin-when-cross-origin -# - api.HTMLLinkElement.referrerPolicy.unsafe-url # - api.HTMLScriptElement.referrerPolicy -# - api.HTMLScriptElement.referrerPolicy.no-referrer-when-downgrade -# - api.HTMLScriptElement.referrerPolicy.origin-when-cross-origin -# - api.HTMLScriptElement.referrerPolicy.unsafe-url # - html.elements.a.referrerpolicy -# - html.elements.a.referrerpolicy.no-referrer-when-downgrade -# - html.elements.a.referrerpolicy.origin-when-cross-origin -# - html.elements.a.referrerpolicy.unsafe-url # - html.elements.area.referrerpolicy -# - html.elements.area.referrerpolicy.no-referrer-when-downgrade -# - html.elements.area.referrerpolicy.origin-when-cross-origin -# - html.elements.area.referrerpolicy.unsafe-url # - html.elements.iframe.referrerpolicy -# - html.elements.iframe.referrerpolicy.no-referrer-when-downgrade -# - html.elements.iframe.referrerpolicy.origin-when-cross-origin -# - html.elements.iframe.referrerpolicy.unsafe-url # - html.elements.img.referrerpolicy -# - html.elements.img.referrerpolicy.no-referrer-when-downgrade -# - html.elements.img.referrerpolicy.origin-when-cross-origin -# - html.elements.img.referrerpolicy.unsafe-url # - html.elements.link.referrerpolicy -# - html.elements.link.referrerpolicy.no-referrer-when-downgrade -# - html.elements.link.referrerpolicy.origin-when-cross-origin -# - html.elements.link.referrerpolicy.unsafe-url # - html.elements.script.referrerpolicy -# - html.elements.script.referrerpolicy.no-referrer-when-downgrade -# - html.elements.script.referrerpolicy.origin-when-cross-origin -# - html.elements.script.referrerpolicy.unsafe-url # - Image maps: # - api.HTMLAreaElement # - api.HTMLAreaElement.alt @@ -2193,12 +2145,29 @@ compat_features: # - api.PaintRenderingContext2D.translate # - Selection: # - api.Range.createContextualFragment -# - Reporting API: +# - COEP violation reports: # - api.ReportingObserver.ReportingObserver.options_parameter.types_property.coep +# - http.headers.Cross-Origin-Embedder-Policy.report-to_parameter +# - Speculation rules: +# - api.Request.destination.speculationrules +# - html.elements.script.type.speculationrules +# - html.elements.script.type.speculationrules.eagerness +# - html.elements.script.type.speculationrules.expects_no_vary_search +# - html.elements.script.type.speculationrules.prefetch +# - html.elements.script.type.speculationrules.referrer_policy +# - html.elements.script.type.speculationrules.relative_to +# - html.elements.script.type.speculationrules.requires +# - html.elements.script.type.speculationrules.requires.anonymous-client-ip-when-cross-origin +# - html.elements.script.type.speculationrules.source_optional +# - html.elements.script.type.speculationrules.tag +# - html.elements.script.type.speculationrules.urls +# - html.elements.script.type.speculationrules.where +# - http.headers.Sec-Purpose.speculationrules +# - http.headers.Sec-Speculation-Tags +# - http.headers.Speculation-Rules # - Shared worker: # - api.SharedWorker # - api.SharedWorker.SharedWorker -# - api.SharedWorker.SharedWorker.mime_checks # - api.SharedWorker.SharedWorker.options_name_parameter # - api.SharedWorker.error_event # - api.SharedWorker.port @@ -2251,7 +2220,6 @@ compat_features: # - api.Window.name # - api.Window.open # - api.Window.open.features_parameter_popup -# - api.Window.open.once_per_event # - api.Window.opener # - api.Window.parent # - api.Window.self @@ -2275,6 +2243,8 @@ compat_features: # - JavaScript modules in workers: # - api.Worker.Worker.ecmascript_modules # - api.Worker.Worker.options_type_parameter +# - javascript.operators.import.worker_support +# - javascript.statements.import.worker_support # - AudioWorklet: # - api.Worklet # - api.Worklet.addModule @@ -2284,6 +2254,7 @@ compat_features: # - html.elements.script.nomodule # - html.elements.script.type.module # - javascript.operators.import_meta.resolve +# - javascript.statements.import.worklet_support # - XMLSerializer: # - api.XMLSerializer # - api.XMLSerializer.XMLSerializer @@ -2353,8 +2324,6 @@ compat_features: # - css.selectors.link # - css.selectors.link.not_match_link # - css.selectors.visited -# - css.selectors.visited.not_match_link -# - css.selectors.visited.privacy_measures # - :modal: # - css.selectors.modal # - :open: @@ -2370,10 +2339,6 @@ compat_features: # - :user-valid and :user-invalid: # - css.selectors.user-invalid # - css.selectors.user-valid -# - : -# - html.elements.a.target.unfencedTop -# - html.elements.fencedframe.height -# - html.elements.fencedframe.width # - Scroll to text fragment: # - html.elements.a.text_fragments # - : @@ -2401,6 +2366,9 @@ compat_features: # - html.elements.dfn # - : # - html.elements.em +# - : +# - html.elements.fencedframe.height +# - html.elements.fencedframe.width # -
and
: # - html.elements.figcaption # - html.elements.figure @@ -2434,8 +2402,6 @@ compat_features: # - html.elements.input.type_radio # - : # - html.elements.input.type_range -# - html.elements.input.type_range.tick_marks -# - html.elements.input.type_range.vertical_orientation # - : # - html.elements.input.type_reset # - : @@ -2490,21 +2456,6 @@ compat_features: # - html.elements.samp # - Import maps: # - html.elements.script.type.importmap -# - Speculation rules: -# - html.elements.script.type.speculationrules -# - html.elements.script.type.speculationrules.eagerness -# - html.elements.script.type.speculationrules.expects_no_vary_search -# - html.elements.script.type.speculationrules.prefetch -# - html.elements.script.type.speculationrules.referrer_policy -# - html.elements.script.type.speculationrules.relative_to -# - html.elements.script.type.speculationrules.requires -# - html.elements.script.type.speculationrules.requires.anonymous-client-ip-when-cross-origin -# - html.elements.script.type.speculationrules.source_optional -# - html.elements.script.type.speculationrules.tag -# - html.elements.script.type.speculationrules.urls -# - html.elements.script.type.speculationrules.where -# - http.headers.Sec-Speculation-Tags -# - http.headers.Speculation-Rules # - : # - html.elements.search # -
: @@ -2533,5 +2484,11 @@ compat_features: # - html.elements.wbr # - style (attribute): # - html.global_attributes.style +# - Promise.any(): +# - javascript.builtins.AggregateError.serializable_object # - Promise (initial support): # - javascript.builtins.Promise.incumbent_settings_object_tracking +# - CSS import attributes: +# - javascript.statements.import.import_attributes.type_css +# - JSON import attributes: +# - javascript.statements.import.import_attributes.type_json diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist index 036d1b196d1..5a576ef1d3b 100644 --- a/features/draft/spec/html.yml.dist +++ b/features/draft/spec/html.yml.dist @@ -17,7 +17,6 @@ compat_features: # safari: "1" # safari_ios: "1" - api.HTMLElement.error_event - - html.elements.html.xmlns - http.headers.Refresh # baseline: high @@ -144,6 +143,7 @@ compat_features: # safari: "4" # safari_ios: "3.2" - http.headers.X-Frame-Options + - http.headers.X-Frame-Options.DENY - http.headers.X-Frame-Options.SAMEORIGIN # baseline: high @@ -441,19 +441,6 @@ compat_features: - api.ShadowRoot.activeElement - api.ShadowRoot.innerHTML - # baseline: high - # baseline_low_date: 2020-01-15 - # baseline_high_date: 2022-07-15 - # support: - # chrome: "58" - # chrome_android: "58" - # edge: "79" - # firefox: "51" - # firefox_android: "53" - # safari: ≤11 - # safari_ios: ≤11 - - html.elements.img.usemap.case_sensitive - # baseline: high # baseline_low_date: 2020-01-15 # baseline_high_date: 2022-07-15 @@ -617,18 +604,6 @@ compat_features: # safari_ios: "16.4" - html.elements.form.autocomplete.webauthn - # baseline: low - # baseline_low_date: 2024-07-09 - # support: - # chrome: "61" - # chrome_android: "61" - # edge: "79" - # firefox: "128" - # firefox_android: "128" - # safari: "16" - # safari_ios: "16" - - api.HTMLBaseElement.href.forbid_special_characters - # baseline: low # baseline_low_date: 2025-04-29 # support: @@ -963,29 +938,13 @@ compat_features: # chrome: "96" # chrome_android: "96" # edge: "96" - - http.headers.Cross-Origin-Embedder-Policy.report-to_parameter - http.headers.Cross-Origin-Opener-Policy.report-to_parameter - # baseline: false - # support: - # chrome: "99" - # chrome_android: "99" - # edge: "99" - - api.HTMLInputElement.showPicker.autocomplete_input - - # baseline: false - # support: - # chrome: "100" - # chrome_android: "100" - # edge: "100" - - api.Window.postMessage.options_delegate_parameter - # baseline: false # support: # chrome: "108" # chrome_android: "108" # edge: "108" - - html.elements.iframe.allow.wildcards - html.elements.textarea.autocomplete.webauthn # baseline: false @@ -1088,6 +1047,5 @@ compat_features: # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: {} - - api.Navigator.authentication - html.elements.template.shadowrootslotassignment - html.elements.track.kind.descriptions diff --git a/features/draft/spec/largest-contentful-paint.yml b/features/draft/spec/largest-contentful-paint.yml deleted file mode 100644 index cf8ffb5902b..00000000000 --- a/features/draft/spec/largest-contentful-paint.yml +++ /dev/null @@ -1,17 +0,0 @@ -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 deleted file mode 100644 index 2b0cf35c5b5..00000000000 --- a/features/draft/spec/largest-contentful-paint.yml.dist +++ /dev/null @@ -1,16 +0,0 @@ -# Generated from: largest-contentful-paint.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: low - baseline_low_date: 2025-12-12 - support: - chrome: "133" - chrome_android: "133" - edge: "133" - firefox: "141" - firefox_android: "141" - safari: "26.2" - safari_ios: "26.2" -compat_features: - - api.LargestContentfulPaint.renderTime.cross-origin diff --git a/features/draft/spec/mathml-core.yml b/features/draft/spec/mathml-core.yml index c42fd012b51..893d7e25d70 100644 --- a/features/draft/spec/mathml-core.yml +++ b/features/draft/spec/mathml-core.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-09 +draft_date: 2026-05-08 name: MathML Core description: TODO spec: https://w3c.github.io/mathml-core/ @@ -12,6 +12,7 @@ compat_features: # The following features in the spec are already part of web-features: # - MathML: # - api.MathMLElement +# - css.properties.display.math # - css.properties.math-depth # - css.properties.math-shift # - css.properties.math-style diff --git a/features/draft/spec/mediacapture-streams.yml b/features/draft/spec/mediacapture-streams.yml index 18694c6401b..59d69aff674 100644 --- a/features/draft/spec/mediacapture-streams.yml +++ b/features/draft/spec/mediacapture-streams.yml @@ -1,4 +1,4 @@ -draft_date: 2025-10-21 +draft_date: 2026-05-08 name: Media Capture and Streams description: TODO spec: https://w3c.github.io/mediacapture-main/ @@ -90,6 +90,8 @@ compat_features: # - api.OverconstrainedError # - api.OverconstrainedError.OverconstrainedError # - api.OverconstrainedError.constraint +# - api.Permissions.permission_camera +# - api.Permissions.permission_microphone # - html.elements.iframe.allow.camera # - html.elements.iframe.allow.microphone # - http.headers.Permissions-Policy.camera diff --git a/features/draft/spec/mediaqueries-5.yml b/features/draft/spec/mediaqueries-5.yml index aa12c8ecd44..7d2844bd64d 100644 --- a/features/draft/spec/mediaqueries-5.yml +++ b/features/draft/spec/mediaqueries-5.yml @@ -1,4 +1,4 @@ -draft_date: 2026-03-11 +draft_date: 2026-05-08 name: Media Queries Level 5 description: TODO spec: https://drafts.csswg.org/mediaqueries-5/ @@ -33,12 +33,9 @@ compat_features: # - css.at-rules.media.media_features # - css.at-rules.media.media_query_values # - css.at-rules.media.monochrome -# - css.at-rules.media.nested-queries # - css.at-rules.media.or_syntax # - css.at-rules.media.orientation # - css.at-rules.media.width -# - css.types.ratio -# - css.types.ratio.number_value # - Interaction media queries: # - css.at-rules.media.any-hover # - css.at-rules.media.any-pointer diff --git a/features/draft/spec/motion-1.yml b/features/draft/spec/motion-1.yml index cab83cc9219..ad4f35a2cd9 100644 --- a/features/draft/spec/motion-1.yml +++ b/features/draft/spec/motion-1.yml @@ -1,4 +1,4 @@ -draft_date: 2025-11-03 +draft_date: 2026-05-08 name: Motion Path Module Level 1 description: TODO spec: https://drafts.csswg.org/motion-1/ @@ -21,7 +21,6 @@ compat_features: # - css.properties.offset-path # - css.properties.offset-path.basic_shape # - css.properties.offset-path.none -# - css.properties.offset-path.path # - css.properties.offset-path.ray # - css.properties.offset-path.url # - css.properties.offset-position diff --git a/features/draft/spec/notifications.yml b/features/draft/spec/notifications.yml index a53b9f93e59..bb02362f848 100644 --- a/features/draft/spec/notifications.yml +++ b/features/draft/spec/notifications.yml @@ -1,4 +1,4 @@ -draft_date: 2025-09-17 +draft_date: 2026-05-08 name: Notifications API description: TODO spec: https://notifications.spec.whatwg.org/ @@ -27,7 +27,6 @@ compat_features: # - api.Notification.requestPermission_static # - api.Notification.requestPermission_static.returns_promise # - api.Notification.requireInteraction -# - api.Notification.secure_context_required # - api.Notification.show_event # - api.Notification.silent # - api.Notification.tag @@ -39,6 +38,7 @@ compat_features: # - api.NotificationEvent.NotificationEvent # - api.NotificationEvent.action # - api.NotificationEvent.notification +# - api.Permissions.permission_notifications # - api.ServiceWorkerGlobalScope.notificationclick_event # - api.ServiceWorkerGlobalScope.notificationclose_event # - api.ServiceWorkerRegistration.getNotifications diff --git a/features/draft/spec/permissions-policy-1.yml b/features/draft/spec/permissions-policy-1.yml index b0c38562af2..c0f3302c36f 100644 --- a/features/draft/spec/permissions-policy-1.yml +++ b/features/draft/spec/permissions-policy-1.yml @@ -1,12 +1,14 @@ -draft_date: 2026-04-28 +draft_date: 2026-05-08 name: Permissions Policy description: TODO spec: https://w3c.github.io/webappsec-permissions-policy/ compat_features: - - api.ReportingObserver.ReportingObserver.options_parameter.types_property.permissions-policy-violation + - html.elements.iframe.allow.wildcards - http.headers.Permissions-Policy-Report-Only # The following features in the spec are already part of web-features: +# - Permissions policy violation reporting: +# - api.ReportingObserver.ReportingObserver.options_parameter.types_property.permissions-policy-violation # - Permissions policy: # - http.headers.Permissions-Policy # - http.headers.Permissions-Policy.wildcards diff --git a/features/draft/spec/permissions-policy-1.yml.dist b/features/draft/spec/permissions-policy-1.yml.dist index 93d2166cfb6..3a31c56891e 100644 --- a/features/draft/spec/permissions-policy-1.yml.dist +++ b/features/draft/spec/permissions-policy-1.yml.dist @@ -8,5 +8,17 @@ status: chrome_android: "120" edge: "120" compat_features: - - api.ReportingObserver.ReportingObserver.options_parameter.types_property.permissions-policy-violation + # baseline: false + # support: + # chrome: "108" + # chrome_android: "108" + # edge: "108" + - html.elements.iframe.allow.wildcards + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "120" + # chrome_android: "120" + # edge: "120" - http.headers.Permissions-Policy-Report-Only diff --git a/features/draft/spec/permissions.yml b/features/draft/spec/permissions.yml index 123d7003ec6..0eb9a1d943c 100644 --- a/features/draft/spec/permissions.yml +++ b/features/draft/spec/permissions.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-16 +draft_date: 2026-05-08 name: Permissions description: TODO spec: https://w3c.github.io/permissions/ @@ -21,28 +21,5 @@ compat_features: # - api.Permissions # - api.Permissions.query # - api.WorkerNavigator.permissions -# - Accelerometer: -# - api.Permissions.permission_accelerometer -# - Ambient light sensor: -# - api.Permissions.permission_ambient-light-sensor -# - Background sync: -# - api.Permissions.permission_background-sync -# - Media capture: -# - api.Permissions.permission_camera -# - api.Permissions.permission_microphone -# - Geolocation API: -# - api.Permissions.permission_geolocation -# - Gyroscope: -# - api.Permissions.permission_gyroscope -# - Local fonts: -# - api.Permissions.permission_local-fonts -# - Magnetometer: -# - api.Permissions.permission_magnetometer # - Notifications: -# - api.Permissions.permission_notifications -# - Payment handler: -# - api.Permissions.permission_payment-handler -# - Storage manager: -# - api.Permissions.permission_persistent-storage -# - Push messages: -# - api.Permissions.permission_push +# - api.Notification.secure_context_required diff --git a/features/draft/spec/pointerlock-2.yml b/features/draft/spec/pointerlock-2.yml index 8a0063cc0a5..f2717d5f0dc 100644 --- a/features/draft/spec/pointerlock-2.yml +++ b/features/draft/spec/pointerlock-2.yml @@ -1,4 +1,4 @@ -draft_date: 2026-01-05 +draft_date: 2026-05-08 name: Pointer Lock 2.0 description: TODO spec: https://w3c.github.io/pointerlock/ @@ -15,8 +15,6 @@ compat_features: # - api.Document.pointerlockchange_event # - api.Document.pointerlockerror_event # - api.Element.requestPointerLock -# - Feature policy: -# - api.Document.featurePolicy # - Mouse events: # - api.MouseEvent # - api.MouseEvent.movementX diff --git a/features/draft/spec/push-api.yml b/features/draft/spec/push-api.yml index 777002185e8..eb35f74595f 100644 --- a/features/draft/spec/push-api.yml +++ b/features/draft/spec/push-api.yml @@ -1,4 +1,4 @@ -draft_date: 2025-10-08 +draft_date: 2026-05-08 name: Push API description: TODO spec: https://w3c.github.io/push-api/ @@ -8,6 +8,7 @@ compat_features: # The following features in the spec are already part of web-features: # - Push messages: +# - api.Permissions.permission_push # - api.PushEvent # - api.PushEvent.PushEvent # - api.PushEvent.data diff --git a/features/draft/spec/referrer-policy.yml b/features/draft/spec/referrer-policy.yml new file mode 100644 index 00000000000..fdd04487749 --- /dev/null +++ b/features/draft/spec/referrer-policy.yml @@ -0,0 +1,59 @@ +draft_date: 2026-05-08 +name: Referrer Policy +description: TODO +spec: https://w3c.github.io/webappsec-referrer-policy/ +compat_features: + - http.headers.Referer.length_limit_4096B + +# The following features in the spec are already part of web-features: +# - Referrer policy: +# - api.HTMLAnchorElement.referrerPolicy.no-referrer-when-downgrade +# - api.HTMLAnchorElement.referrerPolicy.origin-when-cross-origin +# - api.HTMLAnchorElement.referrerPolicy.unsafe-url +# - api.HTMLAreaElement.referrerPolicy.no-referrer-when-downgrade +# - api.HTMLAreaElement.referrerPolicy.origin-when-cross-origin +# - api.HTMLAreaElement.referrerPolicy.unsafe-url +# - api.HTMLIFrameElement.referrerPolicy.no-referrer-when-downgrade +# - api.HTMLIFrameElement.referrerPolicy.origin-when-cross-origin +# - api.HTMLIFrameElement.referrerPolicy.unsafe-url +# - api.HTMLImageElement.referrerPolicy.no-referrer-when-downgrade +# - api.HTMLImageElement.referrerPolicy.origin-when-cross-origin +# - api.HTMLImageElement.referrerPolicy.unsafe-url +# - api.HTMLLinkElement.referrerPolicy.no-referrer-when-downgrade +# - api.HTMLLinkElement.referrerPolicy.origin-when-cross-origin +# - api.HTMLLinkElement.referrerPolicy.unsafe-url +# - api.HTMLScriptElement.referrerPolicy.no-referrer-when-downgrade +# - api.HTMLScriptElement.referrerPolicy.origin-when-cross-origin +# - api.HTMLScriptElement.referrerPolicy.unsafe-url +# - html.elements.a.referrerpolicy.no-referrer-when-downgrade +# - html.elements.a.referrerpolicy.origin-when-cross-origin +# - html.elements.a.referrerpolicy.unsafe-url +# - html.elements.area.referrerpolicy.no-referrer-when-downgrade +# - html.elements.area.referrerpolicy.origin-when-cross-origin +# - html.elements.area.referrerpolicy.unsafe-url +# - html.elements.iframe.referrerpolicy.no-referrer-when-downgrade +# - html.elements.iframe.referrerpolicy.origin-when-cross-origin +# - html.elements.iframe.referrerpolicy.unsafe-url +# - html.elements.img.referrerpolicy.no-referrer-when-downgrade +# - html.elements.img.referrerpolicy.origin-when-cross-origin +# - html.elements.img.referrerpolicy.unsafe-url +# - html.elements.link.referrerpolicy.no-referrer-when-downgrade +# - html.elements.link.referrerpolicy.origin-when-cross-origin +# - html.elements.link.referrerpolicy.unsafe-url +# - html.elements.script.referrerpolicy.no-referrer-when-downgrade +# - html.elements.script.referrerpolicy.origin-when-cross-origin +# - html.elements.script.referrerpolicy.unsafe-url +# - http.headers.Referrer-Policy +# - http.headers.Referrer-Policy.default_strict-origin-when-cross-origin +# - http.headers.Referrer-Policy.no-referrer-when-downgrade +# - http.headers.Referrer-Policy.origin-when-cross-origin +# - http.headers.Referrer-Policy.same-origin +# - http.headers.Referrer-Policy.strict-origin +# - http.headers.Referrer-Policy.strict-origin-when-cross-origin +# - http.headers.Referrer-Policy.unsafe-url +# - : +# - html.elements.meta.name +# - SVG: +# - svg.elements.a.referrerpolicy.no-referrer-when-downgrade +# - svg.elements.a.referrerpolicy.origin-when-cross-origin +# - svg.elements.a.referrerpolicy.unsafe-url diff --git a/features/draft/spec/referrer-policy.yml.dist b/features/draft/spec/referrer-policy.yml.dist new file mode 100644 index 00000000000..fbaa6dbf388 --- /dev/null +++ b/features/draft/spec/referrer-policy.yml.dist @@ -0,0 +1,17 @@ +# Generated from: referrer-policy.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-09-16 + baseline_high_date: 2023-03-16 + support: + chrome: "77" + chrome_android: "77" + edge: "79" + firefox: "70" + firefox_android: "79" + safari: "14" + safari_ios: "14" +compat_features: + - http.headers.Referer.length_limit_4096B diff --git a/features/draft/spec/rfc8297.yml b/features/draft/spec/rfc8297.yml index cf486009bf1..a6e86458d73 100644 --- a/features/draft/spec/rfc8297.yml +++ b/features/draft/spec/rfc8297.yml @@ -1,8 +1,6 @@ -draft_date: 2024-10-21 +draft_date: 2026-05-08 name: An HTTP Status Code for Indicating Hints description: TODO spec: https://httpwg.org/specs/rfc8297.html compat_features: - http.status.103 - - http.status.103.preconnect - - http.status.103.preload diff --git a/features/draft/spec/rfc8297.yml.dist b/features/draft/spec/rfc8297.yml.dist index db1bf8a6c29..821518c0c28 100644 --- a/features/draft/spec/rfc8297.yml.dist +++ b/features/draft/spec/rfc8297.yml.dist @@ -2,33 +2,15 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: false + baseline: low + baseline_low_date: 2023-11-21 support: chrome: "103" chrome_android: "103" edge: "103" - firefox: "123" - firefox_android: "123" + firefox: "120" + firefox_android: "120" + safari: "17" + safari_ios: "17" compat_features: - # baseline: low - # baseline_low_date: 2023-11-21 - # support: - # chrome: "103" - # chrome_android: "103" - # edge: "103" - # firefox: "120" - # firefox_android: "120" - # safari: "17" - # safari_ios: "17" - http.status.103 - - http.status.103.preconnect - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # chrome: "103" - # chrome_android: "103" - # edge: "103" - # firefox: "123" - # firefox_android: "123" - - http.status.103.preload diff --git a/features/draft/spec/rfc8942.yml b/features/draft/spec/rfc8942.yml index 5e75f946841..42c3040d1ff 100644 --- a/features/draft/spec/rfc8942.yml +++ b/features/draft/spec/rfc8942.yml @@ -1,16 +1,6 @@ -draft_date: 2026-01-06 +draft_date: 2026-05-08 name: HTTP Client Hints description: TODO spec: https://httpwg.org/specs/rfc8942.html compat_features: - http.headers.Accept-CH - -# The following features in the spec are already part of web-features: -# - User agent client hints: -# - http.headers.Accept-CH.Sec-CH-UA -# - http.headers.Accept-CH.Sec-CH-UA-Arch -# - http.headers.Accept-CH.Sec-CH-UA-Full-Version -# - http.headers.Accept-CH.Sec-CH-UA-Mobile -# - http.headers.Accept-CH.Sec-CH-UA-Model -# - http.headers.Accept-CH.Sec-CH-UA-Platform -# - http.headers.Accept-CH.Sec-CH-UA-Platform-Version diff --git a/features/draft/spec/rfc9110.yml b/features/draft/spec/rfc9110.yml index b4b39809955..21e82112d10 100644 --- a/features/draft/spec/rfc9110.yml +++ b/features/draft/spec/rfc9110.yml @@ -1,11 +1,8 @@ -draft_date: 2026-02-16 +draft_date: 2026-05-08 name: HTTP Semantics description: TODO spec: https://httpwg.org/specs/rfc9110.html compat_features: - - http.headers.Content-Length.cors_response_safelist - - http.headers.Range.cors_safe - - http.headers.Referer.length_limit_4096B - http.headers.Retry-After - http.headers.Upgrade - http.status.308 @@ -50,13 +47,6 @@ compat_features: # - http.methods.OPTIONS # - http.methods.POST # - http.methods.PUT -# - Compression Dictionary Transport: -# - http.headers.Accept-Encoding.dcb -# - http.headers.Accept-Encoding.dcz -# - http.headers.Content-Encoding.dcb -# - http.headers.Content-Encoding.dcz # - HTTP authentication: # - http.headers.Authorization -# - http.headers.Authorization.NTLM # - http.headers.WWW-Authenticate -# - http.headers.WWW-Authenticate.NTLM diff --git a/features/draft/spec/rfc9110.yml.dist b/features/draft/spec/rfc9110.yml.dist index f7a75c2b8c9..d69e45bbc24 100644 --- a/features/draft/spec/rfc9110.yml.dist +++ b/features/draft/spec/rfc9110.yml.dist @@ -4,9 +4,9 @@ status: baseline: false support: - chrome: "99" - chrome_android: "99" - edge: "99" + chrome: "36" + chrome_android: "36" + edge: ≤18 compat_features: # baseline: high # baseline_low_date: 2015-07-29 @@ -34,45 +34,6 @@ compat_features: # safari_ios: "7" - http.status.308 - # baseline: high - # baseline_low_date: 2020-09-16 - # baseline_high_date: 2023-03-16 - # support: - # chrome: "77" - # chrome_android: "77" - # edge: "79" - # firefox: "70" - # firefox_android: "79" - # safari: "14" - # safari_ios: "14" - - http.headers.Referer.length_limit_4096B - - # baseline: high - # baseline_low_date: 2021-03-23 - # baseline_high_date: 2023-09-23 - # support: - # chrome: "76" - # chrome_android: "76" - # edge: "79" - # firefox: "87" - # firefox_android: "87" - # safari: "12.1" - # safari_ios: "12.2" - - http.headers.Content-Length.cors_response_safelist - - # baseline: high - # baseline_low_date: 2023-08-29 - # baseline_high_date: 2026-02-28 - # support: - # chrome: "99" - # chrome_android: "99" - # edge: "99" - # firefox: "117" - # firefox_android: "117" - # safari: "16" - # safari_ios: "16" - - http.headers.Range.cors_safe - # baseline: false # support: # chrome: "24" diff --git a/features/draft/spec/rfc9111.yml b/features/draft/spec/rfc9111.yml deleted file mode 100644 index ebc3c1d4932..00000000000 --- a/features/draft/spec/rfc9111.yml +++ /dev/null @@ -1,12 +0,0 @@ -draft_date: 2024-11-13 -name: HTTP Caching -description: TODO -spec: https://httpwg.org/specs/rfc9111.html -compat_features: - - http.headers.Cache-Control.immutable - -# The following features in the spec are already part of web-features: -# - HTTP/1.1: -# - http.headers.Age -# - http.headers.Cache-Control -# - http.headers.Expires diff --git a/features/draft/spec/rfc9111.yml.dist b/features/draft/spec/rfc9111.yml.dist deleted file mode 100644 index fdeb9c60a2c..00000000000 --- a/features/draft/spec/rfc9111.yml.dist +++ /dev/null @@ -1,11 +0,0 @@ -# Generated from: rfc9111.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - firefox: "49" - safari: "11" - safari_ios: "11" -compat_features: - - http.headers.Cache-Control.immutable diff --git a/features/draft/spec/sanitizer-api.yml b/features/draft/spec/sanitizer-api.yml index 1743ed8ec6e..1688b6f66d1 100644 --- a/features/draft/spec/sanitizer-api.yml +++ b/features/draft/spec/sanitizer-api.yml @@ -1,10 +1,12 @@ -draft_date: 2025-07-30 +draft_date: 2026-05-08 name: HTML Sanitizer API description: TODO spec: https://wicg.github.io/sanitizer-api/ compat_features: - api.Document.parseHTMLUnsafe_static.options_sanitizer_parameter - api.Element.setHTMLUnsafe.options_sanitizer_parameter + - api.Sanitizer.allowProcessingInstruction + - api.Sanitizer.removeProcessingInstruction - api.ShadowRoot.setHTMLUnsafe.options_sanitizer_parameter # The following features in the spec are already part of web-features: diff --git a/features/draft/spec/sanitizer-api.yml.dist b/features/draft/spec/sanitizer-api.yml.dist index 4e990ed1701..d230f96e870 100644 --- a/features/draft/spec/sanitizer-api.yml.dist +++ b/features/draft/spec/sanitizer-api.yml.dist @@ -7,4 +7,6 @@ status: compat_features: - api.Document.parseHTMLUnsafe_static.options_sanitizer_parameter - api.Element.setHTMLUnsafe.options_sanitizer_parameter + - api.Sanitizer.allowProcessingInstruction + - api.Sanitizer.removeProcessingInstruction - api.ShadowRoot.setHTMLUnsafe.options_sanitizer_parameter diff --git a/features/draft/spec/selection-api.yml b/features/draft/spec/selection-api.yml index b4efda8c599..1995677e760 100644 --- a/features/draft/spec/selection-api.yml +++ b/features/draft/spec/selection-api.yml @@ -1,4 +1,4 @@ -draft_date: 2026-01-05 +draft_date: 2026-05-08 name: Selection API description: TODO spec: https://w3c.github.io/selection-api/ @@ -14,8 +14,6 @@ compat_features: # The following features in the spec are already part of web-features: # - DOM: # - api.Document -# - Feature policy: -# - api.Document.featurePolicy # - Selection: # - api.Document.getSelection # - api.Document.selectionchange_event diff --git a/features/draft/spec/service-workers.yml b/features/draft/spec/service-workers.yml index e0f3502996e..939e891005b 100644 --- a/features/draft/spec/service-workers.yml +++ b/features/draft/spec/service-workers.yml @@ -1,5 +1,5 @@ -draft_date: 2025-09-30 -name: Service Workers +draft_date: 2026-05-08 +name: Service Workers Nightly description: TODO spec: https://w3c.github.io/ServiceWorker/ compat_features: @@ -114,6 +114,7 @@ compat_features: # - http.headers.Service-Worker-Navigation-Preload # - JavaScript modules in service workers: # - api.ServiceWorker.ecmascript_modules +# - javascript.statements.import.service_worker_support # - messageerror: # - api.ServiceWorkerContainer.messageerror_event # - api.ServiceWorkerGlobalScope.messageerror_event diff --git a/features/draft/spec/sri-2.yml b/features/draft/spec/sri-2.yml deleted file mode 100644 index 0f419b8d89a..00000000000 --- a/features/draft/spec/sri-2.yml +++ /dev/null @@ -1,18 +0,0 @@ -draft_date: 2026-04-23 -name: Subresource Integrity -description: TODO -spec: https://w3c.github.io/webappsec-subresource-integrity/ -compat_features: - - http.headers.Integrity-Policy - - http.headers.Integrity-Policy-Report-Only - - http.headers.Integrity-Policy-Report-Only.blocked-destinations_script - - http.headers.Integrity-Policy-Report-Only.blocked-destinations_style - - http.headers.Integrity-Policy.blocked-destinations_script - - http.headers.Integrity-Policy.blocked-destinations_style - -# The following features in the spec are already part of web-features: -# - Reporting API: -# - api.ReportingObserver.ReportingObserver.options_parameter.types_property.integrity-violation -# - Subresource integrity: -# - html.elements.link.integrity -# - html.elements.script.integrity diff --git a/features/draft/spec/sri-2.yml.dist b/features/draft/spec/sri-2.yml.dist deleted file mode 100644 index 133906f52b2..00000000000 --- a/features/draft/spec/sri-2.yml.dist +++ /dev/null @@ -1,24 +0,0 @@ -# Generated from: sri-2.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: {} -compat_features: - # baseline: false - # support: - # chrome: "138" - # chrome_android: "138" - # edge: "138" - # safari: "26" - # safari_ios: "26" - - http.headers.Integrity-Policy - - http.headers.Integrity-Policy-Report-Only - - http.headers.Integrity-Policy-Report-Only.blocked-destinations_script - - http.headers.Integrity-Policy.blocked-destinations_script - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: {} - - http.headers.Integrity-Policy-Report-Only.blocked-destinations_style - - http.headers.Integrity-Policy.blocked-destinations_style diff --git a/features/draft/spec/svg2.yml b/features/draft/spec/svg2.yml index 2fff7260058..244b0043e1e 100644 --- a/features/draft/spec/svg2.yml +++ b/features/draft/spec/svg2.yml @@ -1,4 +1,4 @@ -draft_date: 2026-04-20 +draft_date: 2026-05-08 name: Scalable Vector Graphics (SVG) 2 description: TODO spec: https://w3c.github.io/svgwg/svg2-draft/ @@ -78,9 +78,7 @@ compat_features: # - api.SVGGeometryElement.getPointAtLength # - api.SVGGeometryElement.getTotalLength # - api.SVGGeometryElement.isPointInFill -# - api.SVGGeometryElement.isPointInFill.point_parameter_DOMPoint # - api.SVGGeometryElement.isPointInStroke -# - api.SVGGeometryElement.isPointInStroke.point_parameter_DOMPoint # - api.SVGGeometryElement.pathLength # - api.SVGGradientElement # - api.SVGGradientElement.gradientTransform @@ -223,9 +221,7 @@ compat_features: # - api.SVGSVGElement.x # - api.SVGSVGElement.y # - api.SVGScriptElement -# - api.SVGScriptElement.async # - api.SVGScriptElement.crossOrigin -# - api.SVGScriptElement.defer # - api.SVGScriptElement.href # - api.SVGScriptElement.type # - api.SVGStopElement @@ -306,7 +302,6 @@ compat_features: # - api.SVGViewElement.viewBox # - css.properties.color-interpolation # - css.properties.color-interpolation.auto -# - css.properties.color-interpolation.linearGradient # - css.properties.color-interpolation.sRGB # - css.properties.cx # - css.properties.cy @@ -346,9 +341,6 @@ compat_features: # - svg.elements.a.href # - svg.elements.a.hreflang # - svg.elements.a.referrerpolicy -# - svg.elements.a.referrerpolicy.no-referrer-when-downgrade -# - svg.elements.a.referrerpolicy.origin-when-cross-origin -# - svg.elements.a.referrerpolicy.unsafe-url # - svg.elements.a.rel # - svg.elements.a.systemLanguage # - svg.elements.a.target @@ -454,8 +446,6 @@ compat_features: # - svg.elements.rect.x # - svg.elements.rect.y # - svg.elements.script -# - svg.elements.script.async -# - svg.elements.script.defer # - svg.elements.script.href # - svg.elements.script.type # - svg.elements.set.systemLanguage @@ -466,13 +456,7 @@ compat_features: # - svg.elements.style.title # - svg.elements.style.type # - svg.elements.svg -# - svg.elements.svg.height -# - svg.elements.svg.preserveAspectRatio # - svg.elements.svg.systemLanguage -# - svg.elements.svg.viewBox -# - svg.elements.svg.width -# - svg.elements.svg.x -# - svg.elements.svg.y # - svg.elements.switch # - svg.elements.switch.systemLanguage # - svg.elements.symbol @@ -497,7 +481,6 @@ compat_features: # - svg.elements.textPath.systemLanguage # - svg.elements.textPath.textLength # - svg.elements.title -# - svg.elements.title.tooltip_display # - svg.elements.tspan # - svg.elements.tspan.dx # - svg.elements.tspan.dy @@ -540,6 +523,8 @@ compat_features: # - svg.global_attributes.marker-start # - svg.global_attributes.overflow # - svg.global_attributes.pointer-events +# - svg.global_attributes.requiredExtensions +# - svg.global_attributes.requiredExtensions.mathml # - svg.global_attributes.shape-rendering # - svg.global_attributes.stop-color # - svg.global_attributes.stop-opacity @@ -618,63 +603,18 @@ compat_features: # - api.SVGFilterElement.href # - alignment-baseline: # - css.properties.alignment-baseline -# - css.properties.alignment-baseline.alphabetic -# - css.properties.alignment-baseline.baseline -# - css.properties.alignment-baseline.central -# - css.properties.alignment-baseline.ideographic -# - css.properties.alignment-baseline.mathematical -# - css.properties.alignment-baseline.middle -# - css.properties.alignment-baseline.text-after-edge -# - css.properties.alignment-baseline.text-before-edge # - baseline-shift: # - css.properties.baseline-shift # - Color: # - css.properties.color # - Layout direction override: # - css.properties.direction -# - Vertical form controls: -# - css.properties.direction.vertical_slider_direction -# - css.properties.writing-mode.vertical_oriented_form_controls # - Display: # - css.properties.display -# - css.properties.display.inline-block -# - Flexbox: -# - css.properties.display.flex -# - css.properties.display.inline-flex -# - display: flow-root: -# - css.properties.display.flow-root -# - Grid: -# - css.properties.display.grid -# - css.properties.display.inline-grid -# - display: table: -# - css.properties.display.inline-table -# - css.properties.display.table -# - css.properties.display.table-caption -# - css.properties.display.table-cell -# - css.properties.display.table-column -# - css.properties.display.table-column-group -# - css.properties.display.table-footer-group -# - css.properties.display.table-header-group -# - css.properties.display.table-row -# - css.properties.display.table-row-group -# - MathML: -# - css.properties.display.math -# - Two-value display property: -# - css.properties.display.multi-keyword_values -# - display: ruby: -# - css.properties.display.ruby -# - css.properties.display.ruby-base -# - css.properties.display.ruby-base-container -# - css.properties.display.ruby-text -# - css.properties.display.ruby-text-container # - dominant-baseline: # - css.properties.dominant-baseline # - font-variant: # - css.properties.font-variant -# - css.properties.font-variant.css_fonts_shorthand -# - css.properties.font-variant.greek_accented_characters -# - css.properties.font-variant.turkic_is -# - css.properties.font-variant.uppercase_eszett # - svg.global_attributes.font-variant # - image-rendering: # - css.properties.image-rendering @@ -683,11 +623,9 @@ compat_features: # - svg.global_attributes.letter-spacing # - opacity: # - css.properties.opacity -# - css.properties.opacity.percentages # - svg.global_attributes.opacity # - overflow: # - css.properties.overflow -# - css.properties.overflow.multiple_keywords # - paint-order: # - css.properties.paint-order # - svg.global_attributes.paint-order @@ -700,14 +638,9 @@ compat_features: # - css.properties.text-decoration.includes_thickness # - Text overflow: # - css.properties.text-overflow -# - css.properties.text-overflow.two_value_syntax # - svg.global_attributes.text-overflow -# - Custom ellipses: -# - css.properties.text-overflow.string # - 2D transforms: # - css.properties.transform -# - 3D transforms: -# - css.properties.transform.3d # - visibility: # - css.properties.visibility # - white-space: @@ -721,11 +654,6 @@ compat_features: # - svg.global_attributes.word-spacing # - writing-mode: # - css.properties.writing-mode -# - css.properties.writing-mode.horizontal-tb -# - css.properties.writing-mode.sideways-lr -# - css.properties.writing-mode.sideways-rl -# - css.properties.writing-mode.vertical-lr -# - css.properties.writing-mode.vertical-rl # - svg.global_attributes.writing-mode # - path(): # - css.types.basic-shape.path.d diff --git a/features/draft/spec/trusted-types.yml b/features/draft/spec/trusted-types.yml index 9379f083930..16f9f9aaad1 100644 --- a/features/draft/spec/trusted-types.yml +++ b/features/draft/spec/trusted-types.yml @@ -1,4 +1,4 @@ -draft_date: 2026-01-29 +draft_date: 2026-05-08 name: Trusted Types description: TODO spec: https://w3c.github.io/trusted-types/dist/spec/ @@ -7,6 +7,8 @@ compat_features: - api.Document.parseHTMLUnsafe_static.enforces_trusted_types - api.Element.insertAdjacentHTML.enforces_trusted_types - api.Element.outerHTML.enforces_trusted_types + - api.Element.setAttribute.enforces_trusted_types + - api.Element.setAttributeNS.enforces_trusted_types - api.Element.setHTMLUnsafe.enforces_trusted_types - api.HTMLIFrameElement.srcdoc.enforces_trusted_types - api.HTMLScriptElement.innerText diff --git a/features/draft/spec/trusted-types.yml.dist b/features/draft/spec/trusted-types.yml.dist index 4d399b74a09..37e31d94f7a 100644 --- a/features/draft/spec/trusted-types.yml.dist +++ b/features/draft/spec/trusted-types.yml.dist @@ -63,6 +63,16 @@ compat_features: - api.Element.setHTMLUnsafe.enforces_trusted_types - api.ShadowRoot.setHTMLUnsafe.enforces_trusted_types + # baseline: false + # support: + # chrome: "83" + # chrome_android: "83" + # edge: "83" + # safari: "26" + # safari_ios: "26" + - api.Element.setAttribute.enforces_trusted_types + - api.Element.setAttributeNS.enforces_trusted_types + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: diff --git a/features/draft/spec/ua-client-hints.yml b/features/draft/spec/ua-client-hints.yml index 5911a85974d..af19f70df25 100644 --- a/features/draft/spec/ua-client-hints.yml +++ b/features/draft/spec/ua-client-hints.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-16 +draft_date: 2026-05-08 name: User-Agent Client Hints description: TODO spec: https://wicg.github.io/ua-client-hints/ @@ -20,6 +20,13 @@ compat_features: # - api.NavigatorUAData.platform # - api.NavigatorUAData.toJSON # - api.WorkerNavigator.userAgentData +# - http.headers.Accept-CH.Sec-CH-UA +# - http.headers.Accept-CH.Sec-CH-UA-Arch +# - http.headers.Accept-CH.Sec-CH-UA-Full-Version +# - http.headers.Accept-CH.Sec-CH-UA-Mobile +# - http.headers.Accept-CH.Sec-CH-UA-Model +# - http.headers.Accept-CH.Sec-CH-UA-Platform +# - http.headers.Accept-CH.Sec-CH-UA-Platform-Version # - http.headers.Sec-CH-UA # - http.headers.Sec-CH-UA-Arch # - http.headers.Sec-CH-UA-Bitness diff --git a/features/draft/spec/uievents.yml b/features/draft/spec/uievents.yml index 7ebdcf59c67..fc4ff2d273b 100644 --- a/features/draft/spec/uievents.yml +++ b/features/draft/spec/uievents.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-23 +draft_date: 2026-05-08 name: UI Events description: TODO spec: https://w3c.github.io/uievents/ @@ -39,7 +39,6 @@ compat_features: # - api.InputEvent # - api.InputEvent.InputEvent # - api.InputEvent.inputType -# - api.InputEvent.inputType.insertFromPasteAsQuotation # - api.InputEvent.isComposing # - Focus events: # - api.Element.blur_event @@ -58,16 +57,6 @@ compat_features: # - api.KeyboardEvent.code # - api.KeyboardEvent.ctrlKey # - api.KeyboardEvent.getModifierState -# - api.KeyboardEvent.getModifierState.key_parameter_alt -# - api.KeyboardEvent.getModifierState.key_parameter_altgraph -# - api.KeyboardEvent.getModifierState.key_parameter_capslock -# - api.KeyboardEvent.getModifierState.key_parameter_control -# - api.KeyboardEvent.getModifierState.key_parameter_fn -# - api.KeyboardEvent.getModifierState.key_parameter_meta -# - api.KeyboardEvent.getModifierState.key_parameter_numlock -# - api.KeyboardEvent.getModifierState.key_parameter_scrolllock -# - api.KeyboardEvent.getModifierState.key_parameter_shift -# - api.KeyboardEvent.getModifierState.key_parameter_symbol # - api.KeyboardEvent.isComposing # - api.KeyboardEvent.key # - api.KeyboardEvent.key.dead_key diff --git a/features/draft/spec/url.yml b/features/draft/spec/url.yml index 7bb55c1e707..e6e4b47a79b 100644 --- a/features/draft/spec/url.yml +++ b/features/draft/spec/url.yml @@ -1,8 +1,9 @@ -draft_date: 2025-10-13 +draft_date: 2026-05-08 name: URL description: TODO spec: https://url.spec.whatwg.org/ compat_features: + - api.HTMLBaseElement.href.forbid_special_characters - api.URL.pathname.encodes_trailing_space_in_opaque_path # The following features in the spec are already part of web-features: diff --git a/features/draft/spec/url.yml.dist b/features/draft/spec/url.yml.dist index d7188962acc..913cadbb4da 100644 --- a/features/draft/spec/url.yml.dist +++ b/features/draft/spec/url.yml.dist @@ -5,4 +5,19 @@ status: baseline: false support: {} compat_features: + # baseline: low + # baseline_low_date: 2024-07-09 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "128" + # firefox_android: "128" + # safari: "16" + # safari_ios: "16" + - api.HTMLBaseElement.href.forbid_special_characters + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: {} - api.URL.pathname.encodes_trailing_space_in_opaque_path diff --git a/features/draft/spec/webauthn-3.yml b/features/draft/spec/webauthn-3.yml index 65c05fc5a19..36060b53bfe 100644 --- a/features/draft/spec/webauthn-3.yml +++ b/features/draft/spec/webauthn-3.yml @@ -1,4 +1,4 @@ -draft_date: 2025-09-08 +draft_date: 2026-05-08 name: "Web Authentication: An API for accessing Public Key Credentials - Level 3" description: TODO spec: https://w3c.github.io/webauthn/ @@ -28,9 +28,7 @@ compat_features: # - api.CredentialsContainer.create.publicKey_option.extensions # - api.CredentialsContainer.create.publicKey_option.extensions.appidExclude # - api.CredentialsContainer.create.publicKey_option.extensions.credProps -# - api.CredentialsContainer.create.publicKey_option.extensions.credProtect # - api.CredentialsContainer.create.publicKey_option.extensions.largeBlob -# - api.CredentialsContainer.create.publicKey_option.extensions.minPinLength # - api.CredentialsContainer.create.publicKey_option.requireResidentKey # - api.CredentialsContainer.create.publicKey_option.residentKey # - api.CredentialsContainer.get.publicKey_option diff --git a/features/draft/spec/webgpu.yml b/features/draft/spec/webgpu.yml index aba8acd3039..e9cd097ed34 100644 --- a/features/draft/spec/webgpu.yml +++ b/features/draft/spec/webgpu.yml @@ -1,4 +1,4 @@ -draft_date: 2026-05-04 +draft_date: 2026-05-08 name: WebGPU description: TODO spec: https://gpuweb.github.io/gpuweb/ @@ -11,6 +11,8 @@ compat_features: - api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUTextureView - api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUTexture_resource - api.GPUDevice.createPipelineLayout.descriptor_bindGroupLayouts_parameter_accepts_null_values + - api.GPUDevice.createTexture.descriptor_usage_parameter + - api.GPUDevice.createTexture.descriptor_usage_parameter.accept_transient_attachment - api.GPUSupportedFeatures.feature_core-features-and-limits - api.GPUSupportedFeatures.feature_primitive-index - api.GPUSupportedFeatures.feature_subgroups.subgroup_id_num_subgroups @@ -24,14 +26,15 @@ compat_features: - api.GPUSupportedLimits.maxStorageTexturesInFragmentStage - api.GPUSupportedLimits.maxStorageTexturesInVertexStage - api.GPUTexture.createView.descriptor_swizzle_parameter + - api.GPUTexture.createView.descriptor_usage_parameter.transient_attachment - api.GPUTexture.textureBindingViewDimension + - api.GPUTexture.usage.transient_attachment # The following features in the spec are already part of web-features: # - WebGPU: # - api.GPU # - api.GPU.getPreferredCanvasFormat # - api.GPU.requestAdapter -# - api.GPU.requestAdapter.discrete_adapter_default_ac # - api.GPU.wgslLanguageFeatures # - api.GPUAdapter # - api.GPUAdapter.features @@ -39,7 +42,6 @@ compat_features: # - api.GPUAdapter.limits # - api.GPUAdapter.requestDevice # - api.GPUAdapter.requestDevice.handles_duplicate_calls -# - api.GPUAdapter.requestDevice.undefined_limits # - api.GPUAdapterInfo # - api.GPUAdapterInfo.architecture # - api.GPUAdapterInfo.description @@ -146,7 +148,6 @@ compat_features: # - api.GPUDevice.destroy # - api.GPUDevice.features # - api.GPUDevice.importExternalTexture -# - api.GPUDevice.importExternalTexture.color_space_display-p3 # - api.GPUDevice.importExternalTexture.videoframe_source # - api.GPUDevice.label # - api.GPUDevice.limits diff --git a/features/draft/spec/webgpu.yml.dist b/features/draft/spec/webgpu.yml.dist index 1052ed80f88..9c9bcbc784c 100644 --- a/features/draft/spec/webgpu.yml.dist +++ b/features/draft/spec/webgpu.yml.dist @@ -5,6 +5,13 @@ status: baseline: false support: {} compat_features: + # baseline: false + # support: + # chrome_android: "121" + # safari: "26" + # safari_ios: "26" + - api.GPUDevice.createTexture.descriptor_usage_parameter + # baseline: false # support: # chrome_android: "136" @@ -51,8 +58,11 @@ compat_features: - api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUTextureView - api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUTexture_resource - api.GPUDevice.createPipelineLayout.descriptor_bindGroupLayouts_parameter_accepts_null_values + - api.GPUDevice.createTexture.descriptor_usage_parameter.accept_transient_attachment - api.GPUSupportedFeatures.feature_primitive-index - api.GPUSupportedFeatures.feature_subgroups.subgroup_id_num_subgroups - api.GPUSupportedFeatures.feature_texture-component-swizzle - api.GPUSupportedFeatures.feature_texture-formats-tier2 - api.GPUTexture.createView.descriptor_swizzle_parameter + - api.GPUTexture.createView.descriptor_usage_parameter.transient_attachment + - api.GPUTexture.usage.transient_attachment diff --git a/features/draft/spec/webidl.yml b/features/draft/spec/webidl.yml index 53a53e84c44..207eb4a1b7b 100644 --- a/features/draft/spec/webidl.yml +++ b/features/draft/spec/webidl.yml @@ -1,4 +1,4 @@ -draft_date: 2025-08-20 +draft_date: 2026-05-08 name: Web IDL description: TODO spec: https://webidl.spec.whatwg.org/ @@ -14,3 +14,41 @@ compat_features: # - api.DOMException.DOMException # - api.DOMException.message # - api.DOMException.name +# - Payment request: +# - api.PaymentResponse.toJSON +# - WebRTC statistics: +# - api.RTCStatsReport.@@iterator +# - api.RTCStatsReport.values +# - SharedArrayBuffer in WebGL: +# - api.WebGL2RenderingContext.bufferData.srcData_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.bufferSubData.srcData_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.clearBufferfv.values_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.clearBufferiv.values_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.clearBufferuiv.values_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.compressedTexImage2D.pixels_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.compressedTexImage3D.pixels_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.compressedTexSubImage2D.srcData_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.getBufferSubData.dstData_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.readPixels.pixels_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.texImage3D.srcData_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.texSubImage3D.srcData_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix2fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix2x3fv.data_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix2x4fv.data_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix3fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix3x2fv.data_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix3x4fv.data_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix4fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix4x2fv.data_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.uniformMatrix4x3fv.data_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.vertexAttrib1fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.vertexAttrib2fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.vertexAttrib3fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.vertexAttrib4fv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.vertexAttribI4iv.value_param_accepts_SharedArrayBuffer +# - api.WebGL2RenderingContext.vertexAttribI4uiv.value_param_accepts_SharedArrayBuffer +# - api.WebGLRenderingContext.compressedTexImage2D.pixels_param_accepts_SharedArrayBuffer +# - api.WebGLRenderingContext.vertexAttrib1fv.value_param_accepts_SharedArrayBuffer +# - api.WebGLRenderingContext.vertexAttrib2fv.value_param_accepts_SharedArrayBuffer +# - api.WebGLRenderingContext.vertexAttrib3fv.value_param_accepts_SharedArrayBuffer +# - api.WebGLRenderingContext.vertexAttrib4fv.value_param_accepts_SharedArrayBuffer diff --git a/features/draft/spec/webrtc-identity.yml b/features/draft/spec/webrtc-identity.yml index 6b47568e50e..f327b260301 100644 --- a/features/draft/spec/webrtc-identity.yml +++ b/features/draft/spec/webrtc-identity.yml @@ -1,4 +1,4 @@ -draft_date: 2024-09-09 +draft_date: 2026-05-08 name: Identity for WebRTC 1.0 description: TODO spec: https://w3c.github.io/webrtc-identity/ @@ -11,3 +11,7 @@ compat_features: - api.RTCPeerConnection.idpLoginUrl - api.RTCPeerConnection.peerIdentity - api.RTCPeerConnection.setIdentityProvider + +# The following features in the spec are already part of web-features: +# - WebRTC: +# - api.RTCPeerConnection.RTCPeerConnection.configuration_peerIdentity_parameter diff --git a/features/draft/spec/webrtc.yml b/features/draft/spec/webrtc.yml index fb93515673a..4a51bb72271 100644 --- a/features/draft/spec/webrtc.yml +++ b/features/draft/spec/webrtc.yml @@ -1,4 +1,4 @@ -draft_date: 2026-02-16 +draft_date: 2026-05-08 name: "WebRTC: Real-Time Communication in Browsers" description: TODO spec: https://w3c.github.io/webrtc-pc/ @@ -20,8 +20,6 @@ compat_features: # - api.RTCDTMFToneChangeEvent.tone # - api.RTCDataChannel # - api.RTCDataChannel.binaryType -# - api.RTCDataChannel.binaryType.arraybuffer_value -# - api.RTCDataChannel.binaryType.blob_value # - api.RTCDataChannel.bufferedAmount # - api.RTCDataChannel.bufferedAmountLowThreshold # - api.RTCDataChannel.bufferedamountlow_event @@ -39,7 +37,6 @@ compat_features: # - api.RTCDataChannel.ordered # - api.RTCDataChannel.protocol # - api.RTCDataChannel.readyState -# - api.RTCDataChannel.sctp_sdp_21 # - api.RTCDataChannel.send # - api.RTCDataChannelEvent # - api.RTCDataChannelEvent.RTCDataChannelEvent @@ -101,7 +98,6 @@ compat_features: # - api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.urls_parameter # - api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter.username_parameter # - api.RTCPeerConnection.RTCPeerConnection.configuration_iceTransportPolicy_parameter -# - api.RTCPeerConnection.RTCPeerConnection.configuration_peerIdentity_parameter # - api.RTCPeerConnection.RTCPeerConnection.configuration_rtcpMuxPolicy_parameter # - api.RTCPeerConnection.addIceCandidate # - api.RTCPeerConnection.addIceCandidate.returns_promise @@ -164,7 +160,6 @@ compat_features: # - api.RTCPeerConnectionIceEvent.RTCPeerConnectionIceEvent # - api.RTCPeerConnectionIceEvent.candidate # - api.RTCRtpReceiver -# - api.RTCRtpReceiver.createEncodedStreams # - api.RTCRtpReceiver.getCapabilities_static # - api.RTCRtpReceiver.getContributingSources # - api.RTCRtpReceiver.getContributingSources.audioLevel @@ -184,7 +179,6 @@ compat_features: # - api.RTCRtpReceiver.track # - api.RTCRtpReceiver.transport # - api.RTCRtpSender -# - api.RTCRtpSender.createEncodedStreams # - api.RTCRtpSender.dtmf # - api.RTCRtpSender.getCapabilities_static # - api.RTCRtpSender.getParameters diff --git a/features/draft/spec/writing-assistance-apis.yml b/features/draft/spec/writing-assistance-apis.yml index bbded27deb0..6b1fa48cd6e 100644 --- a/features/draft/spec/writing-assistance-apis.yml +++ b/features/draft/spec/writing-assistance-apis.yml @@ -1,10 +1,11 @@ -draft_date: 2026-02-17 +draft_date: 2026-05-08 name: Writing Assistance APIs description: TODO spec: https://webmachinelearning.github.io/writing-assistance-apis/ compat_features: - api.CreateMonitor - api.CreateMonitor.downloadprogress_event + - api.LanguageModel.destroy # The following features in the spec are already part of web-features: # - Language detector: diff --git a/features/draft/spec/writing-assistance-apis.yml.dist b/features/draft/spec/writing-assistance-apis.yml.dist index 5cfc8cc0b6a..5735d983318 100644 --- a/features/draft/spec/writing-assistance-apis.yml.dist +++ b/features/draft/spec/writing-assistance-apis.yml.dist @@ -4,7 +4,16 @@ status: baseline: false support: - chrome: "138" + chrome: "148" compat_features: + # baseline: false + # support: + # chrome: "148" + # edge: "148" + - api.LanguageModel.destroy + + # baseline: false + # support: + # chrome: "138" - api.CreateMonitor - api.CreateMonitor.downloadprogress_event