Comments (3)
I think this conversation is a bit bigger than adding and removing features. Here is some data to test our assumptions against:
16
- feature added behind a flag
21
- footnote: only allowed in sandboxed iframes
22
- feature is restricted to secure contexts
- feature no longer restricted to sandboxed iframes
23
- feature is no longer behind a flag
25
- feature removed
The easiest and most understandable approach I see is for each support statement to be a complete snapshot of the browser's support at that point in time. Which means the support statements for the above would require versions 21 and 22 to also identify that they are behind a flag and for 23 to identify that it must be in a secure context.
I agree simple_support_statements should be ordered (OMG yes)
I think we should allow true/false/null if it is the only or first in an array (so the above example could also have a false in the list prior to version 16)
from browser-compat-data.
There are a lot of things in this issue and we decided to resolve them once we have more experience and use cases. I want to bring a case to the table that illustrates that overlapping versions are OK.
(1) Should it be OK for ranges to overlap
Imo, yes, given e.g. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
I would translate it to this structure:
"firefox": [
{
"alternative_name": "contains",
"version_added": "18",
"version_removed": "48"
},
{
"version_added": "40"
}
],
This disagrees with
if you supply an an array of simple_support_statement objects, only the last one is allowed to include version_removed: the others are implicitly ended by the start of the next one.
For compatibility, both names were supported for a while, so the ranges overlap.
(2) Should it be OK for ranges to include gaps:
I haven't seen anything like this yet, if you encounter this, let us know here.
(3) Do we assume that the ranges are ordered?
I think ordering makes a lot of sense. My feeling is that the earliest version_added
should be first.
from browser-compat-data.
I'm not sure there is anything actionable left here.
The redesigned tables, when encountering an array of support statements, will use the first statement to display in the cell and then have the historical or extra support statements in a collapsed section. I think that's quite nice as it shows you the most relevant support version first and if you need the details you can expand and see other support ranges with limitations like prefixes etc.
from browser-compat-data.
Related Issues (20)
- webextensions.api.userScripts - Add Chrome 120 support HOT 1
- Container Queries `style()` support not tracked
- http.headers.Referer - <SUMMARIZE THE PROBLEM> HOT 1
- webextensions.manifest.theme tab_background_separator and toolbar_field_separator should be marked as deprecated in Firefox 89
- getVideoPlaybackQuality() data for Safari is wrong HOT 3
- horizontal/vertical-viewport-segments - No data for the viewport-segments media queries
- api.FileSystemFileEntry - Supported on Opera
- How will BCD handle region-locked/-excluded features, e.g. "Notification API: badge" on Safari on iOS 17.4? HOT 3
- CSS Paint Order - Bug Fixed in Chrome 123 HOT 1
- api.Element.beforematch_event - Wrong opera support information
- Opera Android 75 to 78 - Missing release_date
- api.Window.devicePixelRatio - Does not change with page zoom in Safari (webkit)
- Require retired/current browser releases to have release_date
- [low] css.properties.hyphens - extraneous line (pt-BR)
- Revert #22250 ? HOT 1
- light-dark() - Already supported in Safari TP
- css.properties.display - no compatibility information for run-in
- api.RTCStatsReport.type_inbound-rtp.nackCount - reported by at least Safari for iOS 17.1.2 HOT 9
- css.selectors.hover - Opera and Chrome bug when scrolling
- css.selectors.disabled - Edge recognise fieldset:disabled
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from browser-compat-data.