Implicit default support values
Nobody has claimed this yet.
- 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:
- ✅
false(no support) for IE (fixed in https://github.com/mdn/browser-compat-data/pull/26949) "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]
- This is not a breaking change, because it only impacts the data stored in this repo, not the built and published BCD data.
- This list intentionally excludes
edge, which has significantly more non-mirrored statements (see below).- If we introduce statement-level annotations, we might still be able to set mirroring explicitly with a
provenance:collectortag.
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
falseseems 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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