diff --git a/schemas/compat-data-schema.md b/schemas/compat-data-schema.md index f4f99287cf111a..e63d23060e35a9 100644 --- a/schemas/compat-data-schema.md +++ b/schemas/compat-data-schema.md @@ -369,6 +369,18 @@ Example for two flags required: } ``` +#### `implementation_url` + +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. + #### `partial_implementation` A `boolean` value indicating whether or not the implementation of the sub-feature diff --git a/schemas/compat-data.schema.json b/schemas/compat-data.schema.json index 033ec7d4dd71c7..9257ae044ca866 100644 --- a/schemas/compat-data.schema.json +++ b/schemas/compat-data.schema.json @@ -39,6 +39,12 @@ "required": ["type", "name"] } }, + "implementation_url": { + "type": "string", + "format": "uri", + "pattern": "^http(s)?:\/\/[^#]+#.+", + "description": "An optional changeset URL or commit URL for the change which implemented the feature in the source code for the associated browser." + }, "partial_implementation": { "type": "boolean", "description": "A boolean value indicating whether or not the implementation of the sub-feature deviates from the specification in a way that may cause compatibility problems. It defaults to false (no interoperability problems expected). If set to true, it is recommended that you add a note explaining how it diverges from the standard (such as that it implements an old version of the standard, for example)." diff --git a/types.d.ts b/types.d.ts index e5a8579bbba725..076569e5c0397d 100644 --- a/types.d.ts +++ b/types.d.ts @@ -195,6 +195,13 @@ export interface SimpleSupportStatement { */ value_to_set?: string; }[]; + + /** + * 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. + */ + implementation_url?: string; + /** * A `boolean` value indicating whether or not the implementation of the sub-feature follows * the current specification closely enough to not create major interoperability problems.