You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: index.html
+58-59
Original file line number
Diff line number
Diff line change
@@ -36,118 +36,117 @@ <h2>Stages</h2>
36
36
37
37
<table>
38
38
<caption>ECMAScript Proposal Stages</caption>
39
+
39
40
<thead>
40
41
<tr>
41
42
<th>Stage
42
-
<th>Purpose
43
+
<th>Status
43
44
<th>Entrance Criteria
44
-
<th>Acceptance Signifies
45
-
<th>Spec Quality At Entrance
46
-
<th>Post-Acceptance Changes Expected
47
-
<th>Implementation Types Expected*
45
+
<thstyle="cursor: help" title="These are the actions that will be undertaken by the committee and the proposal authors while the proposal is in this stage.">Purpose
48
46
</tr>
49
47
</thead>
48
+
50
49
<tr>
51
50
<td>0
52
-
<td>Allow input into the specification
53
-
<td>None
54
-
<td>N/A
55
-
<td>N/A
56
-
<td>N/A
57
-
<td>N/A
58
-
</tr>
59
-
<tr>
60
-
<td>1
51
+
<td>This is a new proposal. It is not currently being considered by the committee.
52
+
<td>None. New proposals are assigned this stage by their authors outside of the usual advancement process.
61
53
<td>
54
+
Ideation and exploration. Define a problem space in which the committee and the champions can focus their efforts.
62
55
<ul>
63
-
<li>Make the case for the addition
64
-
<li>Describe the shape of a solution
56
+
<li>Make the case for an improvement
57
+
<li>Describe the shape of some possible solutions
65
58
<li>Identify potential challenges
59
+
<li>Research how the problem is dealt with using available facilities today
60
+
<li>Research how the problem has been solved by other languages or in the library ecosystem
66
61
</ul>
67
-
</td>
62
+
</tr>
63
+
64
+
<tr>
65
+
<td>1
66
+
<td>This proposal is under consideration. The committee expects to devote time to examining the identified problem space, the full breadth of possible solutions, and cross-cutting concerns.
68
67
<td>
69
68
<ul>
70
-
<li>Identified “champion” who will advance the addition
69
+
<li>Identified a champion or champion group who will advance the addition
71
70
<li>Prose outlining the problem or need and the general shape of a solution
72
-
<li>Illustrative examples of usage
73
-
<li>High-level API
74
71
<li>Discussion of key algorithms, abstractions and semantics
75
-
<li>Identification of potential “cross-cutting” concerns and implementation challenges/complexity
72
+
<li>Identification of potential cross-cutting concerns and implementation challenges/complexity
76
73
<li>A publicly available repository for the proposal that captures the above requirements
77
74
</ul>
78
75
</td>
79
-
<td>The committee expects to devote time to examining the problem space, solutions and cross-cutting concerns
76
+
<td>
77
+
Designing a solution.
78
+
<ul>
79
+
<li>Make the case for a particular solution or solution space
80
+
<li>Resolve any cross-cutting concerns
81
+
</ul>
80
82
</td>
81
-
<td>None
82
-
<td>Major
83
-
<td>Polyfills / demos
84
83
</tr>
84
+
85
85
<tr>
86
86
<td>2
87
-
<td>Precisely describe the syntax and semantics using formal spec language
87
+
<td>The committee has chosen a preferred solution or solution space, but the design is a draft and may still change significantly. The committee expects the feature to be developed and eventually included in the standard, but due to reasons that may not be apparent at this stage, the feature may never be included in the standard.
88
88
<td>
89
89
<ul>
90
-
<li>Above
91
-
<li>Initial spec text
90
+
<li>Proposal document describes all high-level APIs and syntax
91
+
<li>Illustrative examples of usage
92
+
<li>Initial spec text including all major semantics, syntax, and APIs. Placeholders, TODOs, and editorial issues are acceptable
93
+
</ul>
94
+
</td>
95
+
<td>
96
+
Refining the solution.
97
+
<ul>
98
+
<li>Work out minor details such as ordering of observable effects, handling of invalid inputs, API names, etc.
99
+
<li>Receive and address spec text reviews from the assigned reviewers and the appropriate editor group
100
+
<li>Produce experimental implementations such as loosely-correct (not for production use) polyfills to aid in validating the design and exploring the details
101
+
<li>Investigate integration with relevant host APIs, if necessary
92
102
</ul>
93
103
</td>
94
-
<td>The committee expects the feature to be developed and eventually included in the standard
95
-
<td>Draft: all <em>major</em> semantics, syntax and API are covered, but TODOs, placeholders and editorial issues are expected
96
-
<td>Incremental
97
-
<td>Experimental
98
104
</tr>
105
+
99
106
<tr>
100
107
<td>2.7
101
-
<td>Gain initial experience with the feature through testing and prototyping
108
+
<td>The proposal is approved in principle and undergoing validation. The solution is complete and no further work is possible without feedback from tests, implementations, or usage. No changes to the proposal will be requested by the committee aside from those elicited through testing, implementation, or usage experience.
102
109
<td>
103
110
<ul>
104
-
<li>Above
105
-
<li>Complete spec text
106
-
<li>Designated reviewers have signed off on the current spec text
107
-
<li>ECMAScript editors have signed off on the current spec text
111
+
<li>Complete spec text: all semantics, syntax, and APIs are completely described
112
+
<li>Assigned reviewers have signed off on the current spec text
113
+
<li>Relevant editor group has signed off on the current spec text
114
+
</ul>
115
+
<td>
116
+
Testing and validation.
117
+
<ul>
118
+
<li>Validate the design of the feature through the development of a rigorous and comprehensive test suite
119
+
<li>Develop spec-compliant prototypes to validate implementability, as necessary, or aid in test development
108
120
</ul>
109
121
</td>
110
-
<td>The solution is complete and no further work is possible without feedback from tests, implementations, or usage. No changes to the proposal will be requested aside from those elicited through testing or implementation experience.
111
-
<td>Complete: all semantics, syntax and API are completely described
112
-
<td>Limited: only those resulting from new information obtained through testing or usage experience
113
-
<td>Spec compliant prototypes
114
122
</tr>
123
+
115
124
<tr>
116
125
<td>3
117
-
<td>Indicate that further refinement will require feedback from implementations or users
126
+
<td>The proposal has been recommended for implementation. No changes to the proposal are expected, but some necessary changes may still occur due to web incompatibilities or feedback from production-grade implementations.
118
127
<td>
119
128
<ul>
120
-
<li>Above
121
129
<li>The feature has sufficient testing and appropriate pre-implementation experience
122
130
</ul>
123
131
</td>
124
-
<td>The solution is complete and no further work is possible without implementation experience, significant usage and external feedback.
125
-
<td>Complete: all semantics, syntax and API are completely described
126
-
<td>Limited: only those deemed critical based on implementation experience
127
-
<td>Spec compliant production
132
+
<td>Gaining implementation experience and discovering any web compatibility or integration issues.
128
133
</tr>
134
+
129
135
<tr>
130
136
<td>4
131
-
<td>Indicate that the addition is ready for inclusion in the formal ECMAScript standard
137
+
<td>The proposed feature is complete and ready to be included in the standard. No further changes will be made to the proposal.
132
138
<td>
133
139
<ul>
134
-
<li>Above
135
-
<li><ahref="https://github.com/tc39/test262">Test262</a> acceptance tests have been written for mainline usage scenarios, and merged
136
-
<li>Two compatible implementations which pass the acceptance tests
140
+
<li>Two compatible implementations which pass the test262 acceptance tests
137
141
<li>Significant in-the-field experience with shipping implementations, such as that provided by two independent VMs
138
-
<li>A pull request has been sent to <ahref="https://github.com/tc39/ecma262">tc39/ecma262</a> with the integrated spec text
139
-
<li>All ECMAScript editors have signed off on the pull request
142
+
<li>A pull request has been sent to <ahref="https://github.com/tc39/ecma262">tc39/ecma262</a>or <ahref="https://github.com/tc39/ecma402">tc39/ecma402</a>, as appropriate, with the integrated spec text
143
+
<li>The relevant editor group has signed off on the pull request
140
144
</ul>
141
145
</td>
142
-
<td>The addition will be included in the soonest practical standard revision
143
-
<td>Final: All changes as a result of implementation experience are integrated
144
-
<td>None
145
-
<td>Shipping
146
+
<td>Integration into the draft specification and eventual inclusion in a yearly standard publication.
146
147
</tr>
147
148
</table>
148
149
149
-
<p>* This column does not indicate a requirement for advancement, but simply a general expectation.
150
-
151
150
<h2>Input into the process</h2>
152
151
153
152
<p>Ideas for evolving the ECMAScript language are accepted in any form. Any discussion, idea, or proposal for a change or addition which has not been submitted as a formal proposal is considered to be a “strawperson” (stage 0) and has no acceptance requirements. Such submissions must either come from TC39 delegates or from non-delegates who have <ahref="https://tc39.github.io/agreements/contributor">registered</a> via Ecma International.
0 commit comments