Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation for initial versions #7485

Merged
merged 5 commits into from
Nov 25, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions docs/data-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ This file contains recommendations to help you record data in a consistent and u
- [Safari for iOS versioning](#safari-for-ios-versioning)
- [Removal of irrelevant features](#removal-of-irrelevant-features)
- [Removal of irrelevant flag data](#removal-of-irrelevant-flag-data)
- [Initial versions for browsers](#initial-versions-for-browsers)

<!-- BEGIN TEMPLATE

Expand Down Expand Up @@ -210,3 +211,13 @@ Valid support statements containing flags can be removed from BCD if it is consi
These conditions represent minimum requirements for the removal of valid flag data; other considerations may result in flag data continuing to be relevant, even after the guideline conditions are met.

This guideline was proposed in [#6670](https://github.com/mdn/browser-compat-data/pull/6670).

## Initial versions for browsers

The schema docs list [initial versions](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data-schema.md#initial-versions) for BCD browsers. These are the earliest possible version numbers allowed to be used.

If the table indicates an initial version of "1" and an information source says a feature was implemented in a (beta) version "0.8", record the initial version number "1" for it. In other words, a lower version number is always elevated to a browser's initial version number.

If you're adding new data for Node.js, use `0.10.0` or later. If a feature was added in a version before `0.10.0`, use `0.10.0` anyway.

This guideline was proposed in [#6861](https://github.com/mdn/browser-compat-data/pull/6861).
22 changes: 21 additions & 1 deletion schemas/compat-data-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ The currently accepted browser identifiers should be declared in alphabetical or

- `chrome`, Google Chrome (on desktops)
- `chrome_android`, Google Chrome (on Android)
- `edge`, MS Edge (on Windows), based on the EdgeHTML version
- `edge`, Microsoft Edge (on Windows), based on the EdgeHTML version (before version 79), and later on the Chromium version
- `firefox`, Mozilla Firefox (on desktops)
- `firefox_android`, Firefox for Android, sometimes nicknamed Fennec
- `ie`, Microsoft Internet Explorer (discontinued)
Expand Down Expand Up @@ -249,6 +249,26 @@ Examples:
}
```

### Initial versions

The following table indicates initial versions for browsers in BCD. These are the earliest possible version numbers allowed to be used. When the earliest version is not naturally "1" or "1.0", see the _Notes_ column for an explanation.

| Browser | Initial version | Notes |
| ---------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Chrome | 1 | |
| Chrome Android | 18 | Stable versioning started at 18. No Chrome Android 17 or earlier was ever released. |
| Edge | 12 | EdgeHTML versioning started at 12, continuing from Internet Explorer 11. After version 18, Edge jumped to version 79, synchronizing with the Chromium versioning scheme. |
| Firefox | 1 | |
| Firefox Android | 4 | Stable versioning started at 4. Earlier non-Android mobile versions are ignored. |
| IE | 1 | |
| Node.js | 0.1.100 | Subject to change to 0.10.0. This project selected 0.10.0 as the first release primarily because the 0.10-series releases was the first to have LTS status applied. See issue #6861. |
| Opera | 2 | Stable versioning started at 2. Opera 1 was demoed at a conference, but never publicly released. |
| Opera Android | 10.1 | Stable versioning started at 10.1. |
| Safari | 1 | |
| iOS Safari | 1 | |
| Samsung Internet | 1.0 | |
| WebView Android | 1 | |

### Ranged versions

For certain browsers, ranged versions are allowed as it is sometimes impractical to find out in which early version of a browser a feature shipped. Ranged versions should be used sparingly and only when it is impossible to find out the version number a feature initially shipped in. The following ranged version values are allowed:
Expand Down