@@ -125,6 +125,20 @@ This issue must contain links to:
125
125
One of the most important parts of the language feature process is communicating
126
126
with all the implementation teams and any other stakeholders.
127
127
128
+ ### Tracking doc
129
+
130
+ Create a tracking doc to allow the Dash team and other stakeholders to track the
131
+ progress of the feature. Keep this document up to date.
132
+
133
+ The tracking doc includes the following:
134
+ - [ ] A go-link that clearly describes the feature
135
+ (e.g. ` go/dart-dot-shorthands ` )
136
+ - [ ] A brief introduction on what the feature is and how it's used
137
+ - [ ] Useful links, background context, and other resources
138
+ - [ ] A task breakdown table with status and owners for each task
139
+ - [ ] Tables and links to the test tracking sheet
140
+ - [ ] (Optional) An FAQ section
141
+
128
142
### Channels for communication
129
143
130
144
We'll send out an announcement email to the entire team, letting them know that
@@ -148,8 +162,8 @@ give some concrete examples, and collect insights from the implementation teams
148
162
about what aspects of the implementation might need special attention.
149
163
150
164
Get sign-off from the following teams:
151
- - [ ] Analyzer team
152
- - [ ] CFE team
165
+ - [ ] Model team (parser, CFE, analyzer)
166
+ - [ ] Developer experience team
153
167
- [ ] Back-end teams:
154
168
- [ ] Dart VM Team
155
169
- [ ] Dart Web Team
@@ -302,6 +316,14 @@ within Google3.
302
316
303
317
## Shipping
304
318
319
+ > [ !NOTE]
320
+ > We typically enable the feature by default in a version's beta 2 release. This
321
+ > is so that we have time to test the feature in beta 3 and we can give
322
+ > ourselves some leeway to fix any surprise bugs.
323
+ >
324
+ > If the implementation teams aren't confident by beta 2 of an intended release
325
+ > version, we'll re-evaluate and push the feature forward to the next version.
326
+
305
327
This is a general checklist for shipping a feature:
306
328
- [ ] Make sure all pre-migrations are complete.
307
329
- [ ] Submit a CL that enables the feature by default in the upcoming version.
@@ -316,13 +338,15 @@ Keep an eye out for breakages and any new QOL requests that surface from the
316
338
usage of the feature. Sometimes people use features in ways we don't expect and
317
339
we can learn a lot from seeing how the feature is used in the real world.
318
340
319
- ### After shipping
341
+ ### Moving the feature spec
320
342
321
343
After a feature has been shipped, the documents pertaining to the feature should
322
- be moved into subfolders carrying the name of the release in which they were
344
+ be copied into the subfolder carrying the name of the release in which they were
323
345
shipped (e.g. ` 2.1 ` ).
324
346
325
- For example, moving ` super-mixins ` to ` 2.1 ` after shipping:
347
+ The original file should have a forwarding stub to the new location of the file.
348
+
349
+ For example, moving ` super-mixins ` to ` /accepted/2.1/ ` after shipping:
326
350
327
351
```
328
352
/language
@@ -348,3 +372,25 @@ For example, moving `super-mixins` to `2.1` after shipping:
348
372
/resources/
349
373
[various supporting documents and resources]
350
374
```
375
+
376
+ ### Sharing the feature release
377
+
378
+ Send an email to the Dash team to notify them that the flag has been flipped and
379
+ that they can start testing out the feature. Invite everyone to dogfood the
380
+ feature and provide feedback through Github issues.
381
+
382
+ You may also want to send a similar email to ` flutter-insiders@ ` .
383
+
384
+ Reach out to DevRel to discuss other means of advertising the new feature to
385
+ users. This can involve a YouTube video, an X tweet, a LinkedIn post, or other
386
+ types of social media posts.
387
+
388
+ ### Using the feature in the SDK
389
+
390
+ The Dart tryjobs need to update their pre-built SDK to allow the feature to be
391
+ used. Remember to update ` DEPS ` in the SDK once you've flipped the flag.
392
+
393
+ ```
394
+ # The `sdk_tag` in DEPS needs to be updated to the commit SHA of a recent tag.
395
+ "sdk_tag": "git_revision:4bb26ad346b166d759773e01ffc8247893b9681e",
396
+ ```
0 commit comments