mdn / mdn/browser-compat-data

Implicit default support values

Open
#25,814 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JSON
Stars
5.8k
Forks
2.6k
Avg merge
1d 21h
Merged PRs (30d)
186

Description

What would you like to see added to BCD?

I'm proposing to introduce implicit default support values for certain browsers:

  1. false (no support) for IE (fixed in https://github.com/mdn/browser-compat-data/pull/26949)
  2. "mirror" (same as upstream) for the following browsers:
    • chrome_android
    • firefox_android
    • oculus
    • opera
    • opera_android
    • safari_ios
    • samsunginternet_android
    • webview_android
    • webview_ios

[!NOTE]

  1. This is not a breaking change, because it only impacts the data stored in this repo, not the built and published BCD data.
  2. This list intentionally excludes edge, which has significantly more non-mirrored statements (see below).
  3. If we introduce statement-level annotations, we might still be able to set mirroring explicitly with a provenance:collector tag.
How impactful do you think this enhancement will be?

Overall, I believe that this change improves the authoring and reviewing experience.

As for IE, new web features are not supported for obvious reasons, so this entry just adds noise.

As for the mentioned downstream browsers:

  • Implicit mirroring allows us to focus on the actual notable changes for these downstream browsers, so it reduces the chance of missing unintended "false" values during review, because these would then stand out, triggering the reviewer to look for corresponding evidence in the PR description.
  • Currently, we seem to be adding "mirror" mostly without explicitly verifying this, because it is usually fair to assume that a feature supported in Chrome is also available in Chrome Android, and/or it isn't always straight-forward to verify.
  • Recently, we've had some cases where false seems to have been set accidentally for some downstream browsers (ex 1, ex 2, ex 3, ex 4, ex 5).
Do you have anything more you want to share?

According to rg ': "mirror"' | wc -l, we have 132,276 instances of mirror in BCD.

As for mirroring, here are mirroring stats as of 2026-01-30 (total 16,831 features):

Browser Count Share
chrome_android 13564 81%
firefox_android 14572 87%
oculus 14938 89%
opera 12646 75%
opera_android 11285 67%
safari_ios 14246 85%
samsunginternet_android 14464 86%
webview_android 12130 72%
webview_ios 14734 88%
edge 9713 58%

(Source: for x in chrome_android edge firefox_android oculus opera_android safari_ios samsunginternet_android webview_android webview_ios; do printf "| $x | "; rg '"'$x'": "mirror"' | wc -l; done)

As for IE, false is currently set for 10,293 features (68%).

(Source: npm run stats --all --count on https://github.com/mdn/browser-compat-data/commit/4daafe2e0492c50b577791946b156e50bd943cba)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposed implicit values and the existing BCD data patterns described in the issue. Use the listed rg commands and npm run stats --all --count to inspect current mirror and false coverage. Done means the requested defaults are represented consistently for the named browsers without changing built and published BCD data.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.