diff --git a/lib/l10n-en_GB.js b/lib/l10n-en_GB.js index 26fb26d81..17b38d97b 100644 --- a/lib/l10n-en_GB.js +++ b/lib/l10n-en_GB.js @@ -186,12 +186,9 @@ export const messages = { 'sotd.stability.no-cr-review': 'No wide review link for Candidate Recommendation', 'sotd.stability.wrong-cr-review-link': - "Wrong wide review link for Candidate Recommendation, link should be 'https://www.w3.org/policies/process/20231103/#dfn-wide-review'", + "Wrong wide review link for Candidate Recommendation, link should be 'https://www.w3.org/policies/process/20250818/#dfn-wide-review'", 'sotd.stability.no-licensing-link': "Wrong royalty-free licensing link for CR and REC, link should be ${licensingLink} with text '${licensingText}'", - // sotd/review-end - 'sotd.review-end.not-found': 'No review end date found.', - 'sotd.review-end.found': 'Review end date found: ${date}', // sotd/candidate-review-end 'sotd.candidate-review-end.not-found': 'No minimal review end for candidate document date found.', @@ -262,11 +259,6 @@ export const messages = { 'The process document (${process}) you are using is deprecated.', 'sotd.process-document.previous-not-allowed': 'The process document (${process}) you are using is no longer allowed.', - // sotd/ac-review - 'sotd.ac-review.found': - 'Found a link to an online questionnaire: ${link}. Does this link provide access to the review form?', - 'sotd.ac-review.not-found': - 'Did not find information about a forum for AC Representative feedback.', // sotd/diff 'sotd.diff.note': false, // sotd/rescind @@ -278,7 +270,7 @@ export const messages = { 'Deliverer not found. An attribute data-deliverer must be in the SotD', // sotd/new-features 'sotd.new-features.no-link': - 'The paragraph on future updates to the recommendation should include a link to the new features: https://www.w3.org/policies/process/20231103/#allow-new-features', + 'The paragraph on future updates to the recommendation should include a link to the new features: https://www.w3.org/policies/process/20250818/#allow-new-features', 'sotd.new-features.no-warning': "If it is the intention to incorporate new features in future updates of the Recommendation, please make sure to identify the document as intending to allow new features.", // structure/canonical diff --git a/lib/profiles/TR/Recommendation/CR.js b/lib/profiles/TR/Recommendation/CR.js index 32aa4cab6..b0032479f 100644 --- a/lib/profiles/TR/Recommendation/CR.js +++ b/lib/profiles/TR/Recommendation/CR.js @@ -1,4 +1,5 @@ import * as candidateReviewEnd from '../../../rules/sotd/candidate-review-end.js'; +import * as newFeatures from '../../../rules/sotd/new-features.js'; import { insertAfter } from '../../profileUtil.js'; import { config as baseConfig, @@ -15,5 +16,6 @@ export const config = { }; export const rules = insertAfter(baseRules, 'sotd.process-document', [ + newFeatures, candidateReviewEnd, ]); diff --git a/lib/profiles/TR/Recommendation/CRD.js b/lib/profiles/TR/Recommendation/CRD.js index f7df75012..fa6b132f3 100644 --- a/lib/profiles/TR/Recommendation/CRD.js +++ b/lib/profiles/TR/Recommendation/CRD.js @@ -1,4 +1,5 @@ import * as draftStability from '../../../rules/sotd/draft-stability.js'; +import * as newFeatures from '../../../rules/sotd/new-features.js'; import { insertAfter } from '../../profileUtil.js'; import { config as baseConfig, @@ -14,4 +15,7 @@ export const config = { styleSheet: 'W3C-CRD', }; -export const rules = insertAfter(baseRules, 'sotd.pp', [draftStability]); +export const rules = insertAfter(baseRules, 'sotd.pp', [ + newFeatures, + draftStability, +]); diff --git a/lib/profiles/TR/Recommendation/PR.js b/lib/profiles/TR/Recommendation/PR.js deleted file mode 100644 index 6d4c99ff7..000000000 --- a/lib/profiles/TR/Recommendation/PR.js +++ /dev/null @@ -1,24 +0,0 @@ -import * as acReview from '../../../rules/sotd/ac-review.js'; -import * as draftStability from '../../../rules/sotd/draft-stability.js'; -import * as newFeatures from '../../../rules/sotd/new-features.js'; -import * as reviewEnd from '../../../rules/sotd/review-end.js'; -import { insertAfter } from '../../profileUtil.js'; -import { - config as baseConfig, - rules as baseRules, -} from './recommendation-base.js'; - -export const name = 'PR'; -export const config = { - ...baseConfig, - status: 'PR', - longStatus: 'Proposed Recommendation', - styleSheet: 'W3C-PR', -}; - -export const rules = insertAfter(baseRules, 'sotd.process-document', [ - acReview, - reviewEnd, - newFeatures, - draftStability, -]); diff --git a/lib/rules.json b/lib/rules.json index 2260ef711..208c739f1 100644 --- a/lib/rules.json +++ b/lib/rules.json @@ -146,8 +146,8 @@ "datesFormat": true, "publish": [ "Draft Registry", - "Registry track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Registry track</a>" + "Registry track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Registry track</a>" ], "customParagraph": true, "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Draft Registry does not imply endorsement by W3C and its Members

", @@ -235,11 +235,11 @@ "datesFormat": true, "publish": [ "Candidate Registry Snapshot", - "Registry track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Registry track</a>" + "Registry track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Registry track</a>" ], "customParagraph": true, - "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Draft Registry does not imply endorsement by W3C and its Members. A Candidate Registry Snapshot has received wide review.

Include this source code:
<p>Publication as a Draft Registry does not imply endorsement by W3C and its Members. A Candidate Registry Snapshot has received <a href=\"https://www.w3.org/policies/process/20231103/#dfn-wide-review\">wide review</a>.</p>
", + "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Draft Registry does not imply endorsement by W3C and its Members. A Candidate Registry Snapshot has received wide review.

Include this source code:
<p>Publication as a Draft Registry does not imply endorsement by W3C and its Members. A Candidate Registry Snapshot has received <a href=\"https://www.w3.org/policies/process/20250818/#dfn-wide-review\">wide review</a>.</p>
", "reviewEndDate": "It must include a minimal duration (before which the group will not request the next transition). The duration must be expressed as an estimated date.", "knownDisclosureNumber": true, "patPolReq": true, @@ -324,8 +324,8 @@ "datesFormat": true, "publish": [ "Candidate Registry Draft", - "Registry track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Registry track</a>" + "Registry track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Registry track</a>" ], "customParagraph": true, "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Candidate Registry Draft does not imply endorsement by W3C and its Members. A Candidate Registry Draft integrates changes from the previous Candidate Registry that the Working Group intends to include in a subsequent Candidate Registry Snapshot.

", @@ -413,8 +413,8 @@ "datesFormat": true, "publish": [ "Registry", - "Registry track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Registry track</a>" + "Registry track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Registry track</a>" ], "customParagraph": true, "usage": "It must include the expectations in terms of usage of this registry. The SOTD should include the paragraph:
W3C recommends the wide usage of this registry.
", @@ -507,8 +507,8 @@ "boilerplateTRDoc": true, "publish": [ "Group Draft Note", - "Note track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Note track</a>" + "Note track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Note track</a>" ], "customParagraph": true, "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Group Draft Notes are not endorsed by W3C nor its Members.

or

This Group Draft Note is endorsed by the @@@ Working/Interest Group (and the @@@ Working/Interest Group), but is not endorsed by W3C itself nor its Members.

", @@ -596,8 +596,8 @@ "datesFormat": true, "publish": [ "Group Note", - "Note track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Note track</a>" + "Note track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Note track</a>" ], "customParagraph": true, "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Group Notes are not endorsed by W3C nor its Members.

or

This Group Note is endorsed by the @@@ Working/Interest Group (and the @@@ Working/Interest Group), but is not endorsed by W3C itself nor its Members.

", @@ -685,8 +685,8 @@ "datesFormat": true, "publish": [ "Statement", - "Note track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Note track</a>" + "Note track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Note track</a>" ], "customParagraph": true, "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

A W3C Statement is a specification that, after extensive consensus-building, is endorsed by W3C and its Members.

Include this source code:
<p>A W3C Statement is a specification that, after extensive consensus-building, is endorsed by W3C and its Members.</p>
", @@ -778,8 +778,8 @@ "datesFormat": true, "publish": [ "First Public Working Draft", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" + "Recommendation track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>" ], "customParagraph": true, "stability": ["a First Public Working Draft", ""], @@ -866,8 +866,8 @@ "datesFormat": true, "publish": [ "Working Draft", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" + "Recommendation track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>" ], "customParagraph": true, "changesList": ["should", ""], @@ -960,16 +960,17 @@ "datesFormat": true, "publish": [ "Candidate Recommendation Snapshot", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" + "Recommendation track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>" ], "reviewEndDate": "It must include a minimal duration (before which the group will not request the next transition). The duration must be expressed as an estimated date.", "implEstimation": "It should include an estimated date by which time the Working Group expects to have sufficient implementation experience.", "featAtRisk": "It must identify any \"features at risk\" declared by the Working Group (as defined in section 6.4 of the W3C Process Document).", "customParagraph": true, "changesList": ["must", ""], - "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations.

Include this source code:
<p>Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received <a href=\"https://www.w3.org/policies/process/20231103/#dfn-wide-review\">wide review</a>, is intended to gather implementation experience, and has commitments from Working Group members to <a href=\"https://www.w3.org/policies/patent-policy/#sec-Requirements\">royalty-free licensing</a> for implementations.</p>
", + "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations.

Include this source code:
<p>Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received <a href=\"https://www.w3.org/policies/process/20250818/#dfn-wide-review\">wide review</a>, is intended to gather implementation experience, and has commitments from Working Group members to <a href=\"https://www.w3.org/policies/patent-policy/#sec-Requirements\">royalty-free licensing</a> for implementations.</p>
", "patPolReq": true, + "newFeatures": "If it is the intention to incorporate new features in future updates of the specification, please make sure to identify the document as intending to allow new features. Recommended text is:
Future updates to this upcoming Recommendation may incorporate new features.
Include one of this source code:
<p>Future updates to this upcoming Recommendation may incorporate <a href=\"https://www.w3.org/policies/process/20250818/#allow-new-features\">new features</a>.</p>", "knownDisclosureNumber": true, "whichProcess": true } @@ -1053,8 +1054,8 @@ "datesFormat": true, "publish": [ "Candidate Recommendation Draft", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" + "Recommendation track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>" ], "reviewEndDate": "It must include a minimal duration (before which the group will not request the next transition). The duration must be expressed as an estimated date.", "implEstimation": "It should include an estimated date by which time the Working Group expects to have sufficient implementation experience.", @@ -1064,6 +1065,7 @@ "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Draft integrates changes from the previous Candidate Recommendation that the Working Group intends to include in a subsequent Candidate Recommendation Snapshot.

Include this source code:
<p>Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Draft integrates changes from the previous Candidate Recommendation that the Working Group intends to include in a subsequent Candidate Recommendation Snapshot.</p>
", "draftStability": "W3C Candidate Recommendation Draft must include one of the following two paragraphs in the \"Status Of This Document\":
This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.
This document is maintained and updated at any time. Some parts of this document are work in progress.
", "patPolReq": true, + "newFeatures": "If it is the intention to incorporate new features in future updates of the specification, please make sure to identify the document as intending to allow new features. Recommended text is:
Future updates to this upcoming Recommendation may incorporate new features.
Include one of this source code:
<p>Future updates to this upcoming Recommendation may incorporate <a href=\"https://www.w3.org/policies/process/20250818/#allow-new-features\">new features</a>.</p>", "knownDisclosureNumber": true, "whichProcess": true } @@ -1090,104 +1092,6 @@ } } }, - "PR": { - "order": 5, - "name": "Proposed Recommendation", - "sections": { - "format": { - "name": "1. Normative Document Representation", - "rules": { - "normativeVersion": true, - "validHTML": true, - "visualStyle": true - } - }, - "metadata": { - "name": "2. Document Metadata", - "rules": { - "goodStylesheet": ["PR"], - "lastStylesheet": true, - "viewport": true, - "canonical": true - } - }, - "front-matter": { - "name": "3. Front Matter", - "rules": { - "divClassHead": true, - "logo": true, - "title": true, - "versionNumber": [""], - "dateState": ["Proposed Recommendation", ""], - "docIDFormat": true, - "docIDOrder": true, - "docIDThisVersion": ["PR"], - "docIDDate": true, - "docIDLatestVersion": true, - "docIDHistory": true, - "editorSection": true, - "altRepresentations": ["PR"], - "implReport": true, - "copyright": true, - "hrAfterCopyright": true - } - }, - "navigation": { - "name": "6. Table of Contents", - "rules": { - "toc": true, - "tocNav": true - } - }, - "document-status": { - "name": "5. Document Status Section", - "rules": { - "sotd": true, - "boilerplateTRDoc": true, - "datesFormat": true, - "publish": [ - "Proposed Recommendation", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" - ], - "ACRepFeedbackEmail": true, - "reviewEndDatePR": true, - "skipCR": "If the previous version of this document was not a Candidate Recommendation, the status section should include rationale for the Director's decision to skip CR (e.g., there was already sufficient implementation experience).", - "customParagraph": true, - "changesList": [ - "must", - " The group must indicate which changes may affect conformance." - ], - "stability": ["a Proposed Recommendation", ""], - "draftStability": true, - "patPolReq": true, - "knownDisclosureNumber": true, - "newFeatures": "If it is the intention to incorporate new features in future updates of the specification, please make sure to identify the document as intending to allow new features. Recommended text is:
Future updates to this specification may incorporate new features.
Include one of this source code:
<p>Future updates to this specification may incorporate <a href=\"https://www.w3.org/policies/process/20231103/#allow-new-features\">new features</a>.</p>", - "whichProcess": true - } - }, - "document-body": { - "name": "7. Document Body", - "rules": { - "headingWithoutID": true, - "brokenLink": true, - "cssValid": true, - "namespaces": true, - "wcag": true, - "fixupJs": true, - "securityAndPrivacy": true - } - }, - "compound": { - "name": "8. Compound Documents", - "rules": { - "compoundFilesLocation": ["PR"], - "compoundOverview": true, - "compound": true - } - } - } - }, "REC": { "order": 6, "name": "Recommendation", @@ -1250,14 +1154,14 @@ "boilerplateTRDoc": true, "datesFormat": true, "deployment": true, - "publish": "W3C Recommendation must include one of the following paragraphs in the \"Status of This Document\" depending on the type of Recommendations:
  1. Recommendation without modifications:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>.</p>
  2. Recommendation with candidate corrections:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes candidate corrections.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20231103/#candidate-correction\">candidate corrections.</a>.</p>
  3. Recommendation with candidate additions:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes candidate additions, introducing new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20231103/#candidate-addition\">candidate additions</a>, introducing new features since the Previous Recommendation.</p>
  4. Recommendation with candidate amendments:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes candidate amendments, introducing substantive changes and new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20231103/#candidate-amendments\">candidate amendments</a>, introducing substantive changes and new features since the Previous Recommendation.</p>
  5. Recommendation with proposed corrections:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes proposed corrections.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20231103/#proposed-corrections\">proposed corrections.</a>.</p>
  6. Recommendation with proposed additions:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes proposed additions, introducing new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20231103/#proposed-addition\">proposed additions</a>, introducing new features since the Previous Recommendation.</p>
  7. Recommendation with proposed amendments:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes proposed amendments, introducing substantive changes and new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20231103/#proposed-amendments\">proposed amendments</a>, introducing substantive changes and new features since the Previous Recommendation.</p>
", + "publish": "W3C Recommendation must include one of the following paragraphs in the \"Status of This Document\" depending on the type of Recommendations:
  1. Recommendation without modifications:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>.</p>
  2. Recommendation with candidate corrections:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes candidate corrections.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20250818/#candidate-correction\">candidate corrections.</a>.</p>
  3. Recommendation with candidate additions:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes candidate additions, introducing new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20250818/#candidate-addition\">candidate additions</a>, introducing new features since the Previous Recommendation.</p>
  4. Recommendation with candidate amendments:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes candidate amendments, introducing substantive changes and new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20250818/#candidate-amendments\">candidate amendments</a>, introducing substantive changes and new features since the Previous Recommendation.</p>
  5. Recommendation with proposed corrections:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes proposed corrections.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20250818/#proposed-corrections\">proposed corrections.</a>.</p>
  6. Recommendation with proposed additions:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes proposed additions, introducing new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20250818/#proposed-addition\">proposed additions</a>, introducing new features since the Previous Recommendation.</p>
  7. Recommendation with proposed amendments:
    This document was published by the @@ Working Group as a Recommendation using the Recommendation track. It includes proposed amendments, introducing substantive changes and new features since the Previous Recommendation.
    Include this source code:
    <p>This document was published by the @@ Working Group as a Recommendation using the <a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>. It includes <a href=\"https://www.w3.org/policies/process/20250818/#proposed-amendments\">proposed amendments</a>, introducing substantive changes and new features since the Previous Recommendation.</p>
", "recRelation": "It must indicate its relationship to previous related Recommendations (e.g., an indication that a Recommendation supersedes, obsoletes, or subsumes another, or that a Recommendation is an editorial revision) and must link to the most recent Recommendation (if any) having the same major revision number. The document thus links to two important resources: the previous edition of the Recommendation via the status section, and the previous draft (the Proposed Recommendation) via the \"Previous version\" link.", "customParagraph": true, "changesList": ["must", ""], "stability": "It must set expectations about the stability of the document. The recommended text is:

A W3C Recommendation is a specification that, after extensive consensus-building, is endorsed by W3C and its Members, and has commitments from Working Group members to royalty-free licensing for implementations.

Include this source code:
<p>A W3C Recommendation is a specification that, after extensive consensus-building, is endorsed by <abbr title=\"World Wide Web Consortium\">W3C</abbr> and its Members, and has commitments from Working Group members to <a href=\"https://www.w3.org/policies/patent-policy/#sec-Requirements\">royalty-free licensing</a> for implementations.</p>
", "patPolReq": true, "knownDisclosureNumber": true, - "newFeatures": "If it is the intention to incorporate new features in future updates of the Recommendation, please make sure to identify the document as intending to allow new features. Recommended text is:
Future updates to this Recommendation may incorporate new features.
Include one of this source code:
<p>Future updates to this Recommendation may incorporate <a href=\"https://www.w3.org/policies/process/20231103/#allow-new-features\">new features</a>.</p>", + "newFeatures": "If it is the intention to incorporate new features in future updates of the Recommendation, please make sure to identify the document as intending to allow new features. Recommended text is:
Future updates to this Recommendation may incorporate new features.
Include one of this source code:
<p>Future updates to this Recommendation may incorporate <a href=\"https://www.w3.org/policies/process/20250818/#allow-new-features\">new features</a>.</p>", "whichProcess": true, "recAddition": "Modifications in W3C Recommendation are divided into \"new features\" and \"changes\". Recommendations with modifications must include the following paragraphs depending on the changes.
  1. proposed corrections, aka \"substantive changes\":

    there should be a paragraph with class=\"correction proposed\"

    Proposed corrections are marked in the document.
    Include this source code:
    <p class=\"correction proposed\">Proposed corrections are marked in the document.</p>
  2. proposed additions, aka \"new features\":

    there should be a paragraph with class=\"addition proposed\"

    Proposed additions are marked in the document.
    Include this source code:
    <p class=\"addition proposed\">Proposed additions are marked in the document.</p>
  3. candidate corrections, aka \"substantive changes\":

    there should be a paragraph with class=\"correction\"

    Candidate corrections are marked in the document.
    Include this source code:
    <p class=\"correction\">Candidate corrections are marked in the document.</p>
  4. candidate additions, aka \"new features\":

    there should be a paragraph with class=\"addition\"

    Candidate additions are marked in the document.
    Include this source code:
    <p class=\"correction\">Candidate additions are marked in the document.</p>
", "commentEnd": "W3C Recommendation with proposed amendments (substantive changes or new features) must have a comment review date of at least 60 days after the publication date." @@ -1342,8 +1246,8 @@ "datesFormat": true, "publish": [ "Recommendation", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" + "Recommendation track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>" ], "recRelation": true, "rescindsRationale": "It must include rationale for the decision to rescind the Recommendation.

Include this source code:
<p>W3C has chosen to rescind the <a href=\"@@PREVIOUS REC URI@@\">@@TITLE@@ Recommendation</a> for the following reasons: [...list of reasons...]. For additional information about replacement or alternative technologies, please refer to the <a href=\"https://www.w3.org/2016/11/obsoleting-rescinding/\">explanation of Obsoleting, Rescinding or Superseding W3C Specifications</a>.</p>

", @@ -1430,8 +1334,8 @@ "datesFormat": true, "publish": [ "Discontinued Draft", - "Recommendation track", - "<a href=\"https://www.w3.org/policies/process/20231103/#recs-and-notes\">Recommendation track</a>" + "Recommendation track", + "<a href=\"https://www.w3.org/policies/process/20250818/#recs-and-notes\">Recommendation track</a>" ], "stability": "It must set expectations about the (in)stability of the document. The recommended text is:

Publication as a Discontinued Draft implies that this document is no longer intended to advance or to be maintained. It is inappropriate to cite this document as other than abandoned work.

Include this source code:
<p>Publication as a Discontinued Draft implies that this document is no longer intended to advance or to be maintained. It is inappropriate to cite this document as other than abandoned work.</p>
", "patPolReq": true, @@ -1525,7 +1429,7 @@ "draftStability": "It must include the following sentences in the \"Status Of This Document\":
This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.
", "patPolReq": "It must include a text related to the patent policy:", "knownDisclosureNumber": "It must not indicate the number of known disclosures at the time of publication.", - "whichProcess": "The document must include the following boilerplate text in the status section to identify the governing process:

This document is governed by the 03 November 2023 W3C Process Document.

Include this source code:
<p>This document is governed by the <a id=\"w3c_process_revision\" href=\"https://www.w3.org/policies/process/20231103/\">03 November 2023 W3C Process Document</a>. </p>
", + "whichProcess": "The document must include the following boilerplate text in the status section to identify the governing process:

This document is governed by the 03 November 2023 W3C Process Document.

Include this source code:
<p>This document is governed by the <a id=\"w3c_process_revision\" href=\"https://www.w3.org/policies/process/20250818/\">03 November 2023 W3C Process Document</a>. </p>
", "discontinue": "If the document was published due to a W3C decision to stop work on this material, the status section should include that rationale.", "expectations": "It should indicate the level of endorsement within the group for the material, set expectations that the group has completed work on the topics covered by the document, and set expectations about the group's commitment to respond to comments about the document.", "ACRepFeedbackEmail": "It also must provide information to Advisory Committee Representatives about how to send their review comments (e.g., the link to all AC reviews, or a link to a specific questionnaire)", @@ -1587,7 +1491,7 @@ "rec-edit-sotd": { "name": "6. Change the \"status of this document\" section", "rules": { - "sotd": "The SOTD gets updated as follows:" + "sotd": "The SOTD gets updated as follows:" } } } diff --git a/lib/rules/metadata/process.js b/lib/rules/metadata/process.js index 7c5a2bbbd..a73564bef 100644 --- a/lib/rules/metadata/process.js +++ b/lib/rules/metadata/process.js @@ -23,9 +23,5 @@ export function check(sr, done) { if (!processDocumentHref) { return done(); } - const process = - processDocumentHref === 'https://www.w3.org/2023/Process-20231103/' - ? 'https://www.w3.org/policies/process/20231103/' - : processDocumentHref; - return done({ process }); + return done({ process: processDocumentHref }); } diff --git a/lib/rules/sotd/ac-review.js b/lib/rules/sotd/ac-review.js deleted file mode 100644 index 557d4086f..000000000 --- a/lib/rules/sotd/ac-review.js +++ /dev/null @@ -1,26 +0,0 @@ -const self = { - name: 'sotd.ac-review', -}; - -export const { name } = self; - -/** - * @param sr - * @param done - */ -export function check(sr, done) { - const sotd = sr.getSotDSection(); - if (sotd) { - let found = false; - sotd.querySelectorAll("a[href*='www.w3.org/2002/09/wbs/']").forEach( - element => { - const href = element.getAttribute('href'); - found = true; - // XXX use an to display the link - sr.info(self, 'found', { link: href }); - } - ); - if (!found) sr.error(self, 'not-found'); - } - done(); -} diff --git a/lib/rules/sotd/new-features.js b/lib/rules/sotd/new-features.js index 6b883e9de..78edd8e82 100644 --- a/lib/rules/sotd/new-features.js +++ b/lib/rules/sotd/new-features.js @@ -12,23 +12,18 @@ export const { name } = self; */ export function check(sr, done) { const sotd = sr.getSotDSection(); - const docType = - sr.config.status === 'PR' ? 'specification' : 'Recommendation'; + const docType = `${sr.config.status !== 'REC' ? 'upcoming ' : ''}Recommendation`; const warning = new RegExp( `Future updates to this ${docType} may incorporate new features.` ); const linkTxt = 'new features'; - const linkHrefOld = - 'https://www.w3.org/2023/Process-20231103/#allow-new-features'; - const linkHrefNew = - 'https://www.w3.org/policies/process/20231103/#allow-new-features'; + const linkHref = + 'https://www.w3.org/policies/process/20250818/#allow-new-features'; if (sotd && sr.norm(sotd.textContent).match(warning)) { const foundLink = Array.prototype.some.call( sotd.querySelectorAll('a'), - a => - sr.norm(a.textContent) === linkTxt && - [linkHrefNew, linkHrefOld].includes(a.href) + a => sr.norm(a.textContent) === linkTxt && a.href === linkHref ); if (!foundLink) { sr.error(self, 'no-link'); diff --git a/lib/rules/sotd/process-document.js b/lib/rules/sotd/process-document.js index fd5f22430..12665b834 100644 --- a/lib/rules/sotd/process-document.js +++ b/lib/rules/sotd/process-document.js @@ -14,11 +14,10 @@ export function check(sr, done) { const sotd = sr.getSotDSection(); const BOILERPLATE_PREFIX = 'This document is governed by the '; const BOILERPLATE_SUFFIX = ' W3C Process Document.'; - const newProc = '03 November 2023'; - const newProcOldUri = 'https://www.w3.org/2023/Process-20231103/'; - const newProcNewUri = 'https://www.w3.org/policies/process/20231103/'; - const previousProc = '12 June 2023'; - const previousProcUri = 'https://www.w3.org/2023/Process-20230612/'; + const newProc = '18 August 2025'; + const newProcUri = 'https://www.w3.org/policies/process/20250818/'; + const previousProc = '03 November 2023'; + const previousProcUri = 'https://www.w3.org/policies/process/20231103/'; let previousAllowed; const boilerplate = BOILERPLATE_PREFIX + newProc + BOILERPLATE_SUFFIX; @@ -45,9 +44,7 @@ export function check(sr, done) { if ( sr.norm(p.textContent) === boilerplate && link && - [newProcOldUri, newProcNewUri].includes( - link.getAttribute('href') - ) + newProcUri === link.getAttribute('href') ) { if (found) sr.error(self, 'multiple-times', { process: newProc }); diff --git a/lib/rules/sotd/publish.js b/lib/rules/sotd/publish.js index 3cfe79564..d87eaa727 100644 --- a/lib/rules/sotd/publish.js +++ b/lib/rules/sotd/publish.js @@ -50,7 +50,7 @@ export async function check(sr, done) { }, doAfter() { baseURL = - /^https:\/\/www.w3.org\/(2023\/Process-|policies\/process\/)20231103\//; + /^https:\/\/www.w3.org\/policies\/process\/20250818\//; }, }); diff --git a/lib/rules/sotd/review-end.js b/lib/rules/sotd/review-end.js deleted file mode 100644 index 8e4a55dfc..000000000 --- a/lib/rules/sotd/review-end.js +++ /dev/null @@ -1,30 +0,0 @@ -const self = { - name: 'sotd.review-end', -}; - -export const { name } = self; - -/** - * @param sr - * @param done - */ -export function check(sr, done) { - const sotd = sr.getSotDSection(); - if (sotd) { - const txt = sr.norm(sotd.textContent); - const rex = new RegExp(sr.dateRegexStrCapturing, 'g'); - // XXX we want to make this an error, but there is no standard for the text. - if (!rex.test(txt)) sr.warning(self, 'not-found'); - else { - const matches = txt.match(rex); - for (const i in matches) { - if (sr.stringToDate(matches[i]) > sr.getDocumentDate()) { - sr.info(self, 'found', { date: matches[i] }); - return done(); - } - } - sr.warning(self, 'not-found'); - } - } - done(); -} diff --git a/lib/rules/sotd/stability.js b/lib/rules/sotd/stability.js index 49d50f836..043885db4 100644 --- a/lib/rules/sotd/stability.js +++ b/lib/rules/sotd/stability.js @@ -109,10 +109,8 @@ export async function check(sr, done) { ); if (!review) sr.error(self, 'no-cr-review'); else if ( - ![ - 'https://www.w3.org/2023/Process-20231103/#dfn-wide-review', - 'https://www.w3.org/policies/process/20231103/#dfn-wide-review', - ].includes(review.href) + review.href !== + 'https://www.w3.org/policies/process/20250818/#dfn-wide-review' ) sr.error(self, 'wrong-cr-review-link'); } diff --git a/test/api.js b/test/api.js index cce2cbcb0..e29292084 100644 --- a/test/api.js +++ b/test/api.js @@ -117,7 +117,7 @@ describe('API', () => { query = request('metadata?file=test/docs/metadata/ttml-imsc1.html'); // @TODO: parse result as an Object (it's JSON) instead of a String. return expect(query) - .to.eventually.match(/"profile":\s*"pr"/i) + .to.eventually.match(/"profile":\s*"rec"/i) .and.to.eventually.match(/"docDate":\s*"2016-3-8"/i); }); }); diff --git a/test/data/TR/Recommendation/PR.js b/test/data/TR/Recommendation/PR.js deleted file mode 100644 index b77e0ce55..000000000 --- a/test/data/TR/Recommendation/PR.js +++ /dev/null @@ -1,35 +0,0 @@ -import recommendationBase from './recommendationBase.js'; - -const { - rules: baseRules, - securityPrivacyRules, - newFeaturesRules, -} = recommendationBase; - -export const rules = { - ...baseRules, - structure: { - ...baseRules.structure, - 'security-privacy': securityPrivacyRules, - }, - sotd: { - ...baseRules.sotd, - 'ac-review': [ - { - data: 'noACReview', - errors: ['sotd.ac-review.not-found'], - }, - ], - 'review-end': [ - { - data: 'noReviewEndMatched', - warnings: ['sotd.review-end.not-found'], - }, - { - data: 'noReviewEndFound', - warnings: ['sotd.review-end.not-found'], - }, - ], - 'new-features': newFeaturesRules, - }, -}; diff --git a/test/data/goodDocuments.js b/test/data/goodDocuments.js index ca1b15824..3a0b911c8 100644 --- a/test/data/goodDocuments.js +++ b/test/data/goodDocuments.js @@ -40,9 +40,6 @@ export const goodDocuments = { FPWD: { url: 'doc-views/TR/Recommendation/FPWD?type=good', }, - PR: { - url: 'doc-views/TR/Recommendation/PR?type=good', - }, REC: { url: 'doc-views/TR/Recommendation/REC?type=good', }, diff --git a/test/doc-views/TR/Recommendation/PR.js b/test/doc-views/TR/Recommendation/PR.js deleted file mode 100644 index 03911b09c..000000000 --- a/test/doc-views/TR/Recommendation/PR.js +++ /dev/null @@ -1,54 +0,0 @@ -import { config } from '../../../../lib/profiles/TR/Recommendation/PR.js'; -import recommendationBase from './recommendationBase.js'; - -const { buildCommonViewData, buildNewFeatures, buildSecurityPrivacy, data } = - recommendationBase; - -const profile = 'PR'; -const customData = { - config: { - ...config, - ...data.config, - profile, - notEndorsed: true, - maybeUpdated: true, - needImple: true, - isPR: true, - }, -}; - -// Used in http://localhost:8001/doc-views/TR/Recommendation/PR?type=good -const good = { ...data, ...customData }; - -export default { - good, - ...buildCommonViewData(good), - 'security-privacy': buildSecurityPrivacy(good), - 'ac-review': { - noACReview: { - ...good, - sotd: { - ...good.sotd, - acReviewLink: 'https://www.w3.org/fake_url', - }, - }, - }, - 'review-end': { - noReviewEndMatched: { - ...good, - config: { - ...good.config, - isPR: false, - }, - sotd: { - ...good.sotd, - processHTML: - 'W3C Process Document', - }, - }, - noReviewEndFound: { - ...good, - }, - }, - 'new-features': buildNewFeatures(good), -}; diff --git a/test/doc-views/TR/Recommendation/REC.js b/test/doc-views/TR/Recommendation/REC.js index 77c736263..9e39d0ac0 100644 --- a/test/doc-views/TR/Recommendation/REC.js +++ b/test/doc-views/TR/Recommendation/REC.js @@ -140,7 +140,7 @@ export default { showProposedAdd: true, }, processHTML: - '03 November 2023 W3C Process Document', + '18 August 2025 W3C Process Document', }, }, }, diff --git a/test/doc-views/TR/TRBase.js b/test/doc-views/TR/TRBase.js index a36968a96..ee3362eeb 100644 --- a/test/doc-views/TR/TRBase.js +++ b/test/doc-views/TR/TRBase.js @@ -111,7 +111,7 @@ export function buildCommonViewData(base) { sotd: { ...base.sotd, processLink: - 'https://www.w3.org/wrong/link/2023/Process-20231103/', + 'https://www.w3.org/wrong/link/2023/Process-20250818/', }, }, duplicatedProcess: { @@ -151,7 +151,7 @@ export function buildCommonViewData(base) { sotd: { ...base.sotd, trackLink: - 'https://www.w3.org/policies/process/20231103/#wrong-url', + 'https://www.w3.org/policies/process/20250818/#wrong-url', }, }, noHomepageLink: { diff --git a/test/doc-views/layout/spec.handlebars b/test/doc-views/layout/spec.handlebars index 07c7b8ee4..beaf621bf 100644 --- a/test/doc-views/layout/spec.handlebars +++ b/test/doc-views/layout/spec.handlebars @@ -203,7 +203,7 @@

{{#if sotd.rec.showProposedAdd}}

- It includes proposed addition, introducing new features since the Previous Recommendation. + It includes proposed addition, introducing new features since the Previous Recommendation.

{{/if}} {{#if sotd.rec.showAddition}} @@ -243,11 +243,11 @@ {{> patent-policy}}

- This document {{sotd.processTextPrefix}}{{! is governed by the}} {{{sotd.processHTML}}}{{! 03 November 2023 W3C Process Document }}. + This document {{sotd.processTextPrefix}}{{! is governed by the}} {{{sotd.processHTML}}}{{! 18 August 2025 W3C Process Document }}.

{{#if sotd.duplicateProcess}}

- This document {{sotd.processTextPrefix}}{{! is governed by the}} {{{sotd.processHTML}}}{{! 03 November 2023 W3C Process Document }}. + This document {{sotd.processTextPrefix}}{{! is governed by the}} {{{sotd.processHTML}}}{{! 18 August 2025 W3C Process Document }}.

{{/if}} {{#if sotd.newFeatures.show}} diff --git a/test/doc-views/partials/stability.handlebars b/test/doc-views/partials/stability.handlebars index 21a3945d6..e827097ad 100644 --- a/test/doc-views/partials/stability.handlebars +++ b/test/doc-views/partials/stability.handlebars @@ -21,7 +21,7 @@ DISC: Publication as a Discontinued Draft implies that this document is no longer intended to advance or to be maintained. It is inappropriate to cite this document as other than abandoned work. - CR: Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations. + CR: Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations. CRD: Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Draft integrates changes from the previous Candidate Recommendation that the Working Group intends to include in a subsequent Candidate Recommendation Snapshot. + @@ -72,7 +72,7 @@ DRY: Publication as a Draft Registry does not imply endorsement by W3C and its Members. This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress. - CRY: Publication as a Candidate Registry Snapshot does not imply endorsement by W3C and its Members. A Candidate Registry Snapshot has received wide review. + CRY: Publication as a Candidate Registry Snapshot does not imply endorsement by W3C and its Members. A Candidate Registry Snapshot has received wide review. CRYD: Publication as a Candidate Registry Draft does not imply endorsement by W3C and its Members. A Candidate Registry Draft integrates changes from the previous Candidate Registry that the Working Group intends to include in a subsequent Candidate Registry Snapshot. diff --git a/test/doc-views/specBase.js b/test/doc-views/specBase.js index f004b2537..5ef413e6a 100644 --- a/test/doc-views/specBase.js +++ b/test/doc-views/specBase.js @@ -139,7 +139,7 @@ export const data = { WGLink: 'https://www.w3.org/groups/wg/i18n-core/', trackLink: - 'https://www.w3.org/policies/process/20231103/#recs-and-notes', + 'https://www.w3.org/policies/process/20250818/#recs-and-notes', extra1: '', noEndorsementHTML: 'does not imply endorsement by W3C and its Members', @@ -153,7 +153,7 @@ export const data = { discText: 'intended to advance or to be maintained', wideReviewText: 'wide review', wideReviewLink: - 'https://www.w3.org/policies/process/20231103/#dfn-wide-review', + 'https://www.w3.org/policies/process/20250818/#dfn-wide-review', recConsensusText: 'after extensive consensus-building', licensingText: 'royalty-free licensing', @@ -187,9 +187,9 @@ export const data = { duplicateProcess: false, processTextPrefix: 'is governed by the', - processLink: 'https://www.w3.org/policies/process/20231103/', + processLink: 'https://www.w3.org/policies/process/20250818/', processHTML: - '03 November 2023 W3C Process Document', + '18 August 2025 W3C Process Document', newFeatures: { show: false, text: 'Future updates to this Recommendation may incorporate new features.', diff --git a/test/docs/2021-cr.html b/test/docs/2021-cr.html index d308aa1d6..f6af433c3 100644 --- a/test/docs/2021-cr.html +++ b/test/docs/2021-cr.html @@ -84,7 +84,7 @@

Status of This Document

This document was published by the Web Performance Working Group as a Candidate Recommendation Snapshot using the Recommendation + href="https://www.w3.org/policies/process/20250818/#recs-and-notes">Recommendation track.

@@ -92,7 +92,7 @@

Status of This Document

Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to + href="https://www.w3.org/policies/process/20250818/#dfn-wide-review">wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations.

@@ -111,7 +111,7 @@

Status of This Document

Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent that the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

- This document is governed by the 03 November 2023 W3C Process Document. + This document is governed by the 18 August 2025 W3C Process Document.

diff --git a/test/docs/2021-crd.html b/test/docs/2021-crd.html index 418c2e45f..3cfde5dc4 100644 --- a/test/docs/2021-crd.html +++ b/test/docs/2021-crd.html @@ -102,7 +102,7 @@

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index.

-

This document was published by the Web Performance Working Group as a Candidate Recommendation Draft using the Recommendation track.

+

This document was published by the Web Performance Working Group as a Candidate Recommendation Draft using the Recommendation track.

Publication as a Candidate Recommendation does not imply endorsement by Status of This Document

- This document is governed by the 03 November 2023 W3C Process Document. + This document is governed by the 18 August 2025 W3C Process Document.