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)
- {svg.global_attributes,css.properties}.{buffered-rendering,color-rendering} - missing
- javascript.operators.import_meta.resolve - latest Node also returns a string
- api.Navigator.share - Now supported on Chrome on macOS
- svg.elements.a.xlink_href - <SUMMARIZE THE PROBLEM>fariborz HOT 2
- api.History.pushState - <SUMMARIZE THE PROBLEM> HOT 1
- html.elements.input.type_time - widget is not shown on mac on firefox 128 HOT 1
- api.Document.Document - <SUMMARIZE THE PROBLEM> HOT 1
- css.properties.backdrop-filter - SVG filters not supported in Firefox or Safari
- api.TextDecoder - <SUMMARIZE THE PROBLEM> HOT 1
- Seems reasonable, we could add `Reserved` together with `MadeToOrder` as proposed in #3183 (which also seems related to #2926)
- `api.HTMLFormElement` - `api.HTMLFormElement` precedes support for `<form>` HOT 1
- css.properties.font-variant-position - problems with this compatibility data - not working on chrome/edge 127
- api.Geolocation - <SUMMARIZE THE PROBLEM> HOT 1
- `css.properties.cursor` - Conflicting reports about support on iOS HOT 1
- api.KeyboardEvent.key - may be undefined
- http.headers.Expect-CT - should be deprecated
- A
- http.headers.Access-Control-Allow-Headers - <SUMMARIZE THE PROBLEM> HOT 1
- api.MediaDevices.selectAudioOutput - <SUMMARIZE THE PROBLEM> HOT 2
- SVG attributes - add spec URLs
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.