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

Allow optional implementation_url in support data #16415

Merged
merged 14 commits into from
May 25, 2022

Conversation

queengooborg
Copy link
Collaborator

This PR supersedes #7396 and fixes #126. This PR updates the schema to allow an implementation_url property, which contains a link to a commit/changeset or a bug for that browser.

sideshowbarker and others added 13 commits November 18, 2020 20:32
This change updates the compat-data schema and docs to allow per-browser
optional implementation_url values to be specified in the support data
for any browser; detailed description:

> An optional changeset URL or commit URL for the change which implemented
> the feature in the source code for the associated browser; e.g. a
> https://trac.webkit.org/changeset/ URL for a changeset whose subject
> line is in the form *"Enable [feature name/description]."* or *"Enable
> [feature name/description] by default."*. The presence of an
> `implementation_url` value indicates that the associated browser has
> spec-conformant support for the feature in its source code. Therefore,
> an `implementation_url` value can be added even if the feature hasn't
> yet shipped in a stable release, but instead only in a Nightly, Canary,
> or Technology Preview release — or even if the feature hasn't yet
> shipped in any release at all, but has only landed in the source code
> for the associated browser.

mdn#6896 (comment)
and mdn#6896 (comment)
are where the idea for this change arose. In summary, the rationale is to
have a record in BCD of what changeset landed support for a feature in a
particular browser’s codebase. Among other use cases, we have downstream
consumers who care only whether or not there’s an implementation of the
feature in a particular browser engine — even if that implementation
hasn’t yet actually shipped in a major release.
This change updates the compat-data schema docs to provide guidance that
implementation_url values will be https://trac.webkit.org/changeset/,
https://hg.mozilla.org/mozilla-central/rev/, or https://crrev.com/ URLs.
The change also updates the schema itself to constrain the allowed value
to a pattern that matches URLs in one of those forms.
Co-authored-by: Daniel D. Beck <daniel@ddbeck.com>
@github-actions github-actions bot added docs ✍️ Issues or pull requests regarding the documentation of this project. linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project. scripts 📜 Issues or pull requests regarding the scripts in scripts/. labels May 25, 2022
@queengooborg queengooborg added the semver-minor-bump ➕ A change that adds a new, non-potentially-breaking feature for consumers label May 25, 2022
@queengooborg queengooborg requested a review from caugner May 25, 2022 06:31
Copy link
Contributor

@caugner caugner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, even though the attribute seems a bit long to me.

@@ -63,6 +63,24 @@
"required": ["type", "name"]
}
},
"implementation_url": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To safe space and to be consistent with spec_url, I would suggest a shorter name like implement_url or impl_url.

@queengooborg queengooborg merged commit be846fa into mdn:main May 25, 2022
@queengooborg queengooborg deleted the schema/implementation_url branch May 25, 2022 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs ✍️ Issues or pull requests regarding the documentation of this project. linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project. scripts 📜 Issues or pull requests regarding the scripts in scripts/. semver-minor-bump ➕ A change that adds a new, non-potentially-breaking feature for consumers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support linking to bugs/issues
3 participants