- Look through issues that don't have an area assigned.
- Use the SDK triage query.
- Does the issue relate to code in the SDK?
- Assign to the right area by adding an
area-*
label.
- Assign to the right area by adding an
- Is the issue in
area-core-library
?- Assign the right
library-*
label, too.
- Assign the right
- Is it obvious if the issue is a bug or enhancement?
- Optional: Add
type-bug
ortype-enhancement
if you can.
- Optional: Add
- Does the issue relate to code in another
dart-lang
project/package?- Move the issue to the right repo by using the
Transfer issue
link.
- Move the issue to the right repo by using the
- Get emails when issues are tagged with labels you care about
- Use the Dart SDK email tool.
- Level of team urgency
- Should be the opinion of team and/or product management
- Can be affected by the quantity/priority of existing issues - If everything is P0, nothing is P0
- May evolve as other issues are resolved and new issues are opened
- Levels
- P0: Drop everything and fix it.
- For dev channel: blocks the release. Valid cherry-pick.
- For release channel: worthy of a "dot" release
- P1: Planned for the in-progress release
- Should be aligned with other work to ensure likely completion in current release
- P2: Important work for later release.
- Should be done – eventually.
- P3: Maybe, someday
- First candidates to close as "closed-not-planned"
- P0: Drop everything and fix it.
- When we enter cherry pick season for release X...
- P0 issues: are the only fixes that will be taken for release X
- P1-3 issues:
- Milestone flag should be changed to release X+1 or
- P1 issues can be changed to p2/3 and milestone flag removed
If you need additional information from an issue reporter to triage or otherwise act
on an issue, say so, and consider adding the needs-info
label to the issue. Issues
with a needs-info
label are triaged by our no response bot; it will auto-close
the issue after 14 days if the issue reporter does not respond.
We're experimenting with triage automation. You may see comments made by a
@dart-github-bot
- that's related to our automation investigations. We may or
may not continue experimentation here; for now, you can safely ignore these
comments.
For the source for the triage tool, see https://github.com/dart-lang/ecosystem/tree/main/pkgs/sdk_triage_bot.
Issues filed against the Dart VM (issues with label area-vm
: VM issues) and IO library (issues with labels area-core-library
library-io
: io library issues) are triaged at least weekly by a member of the Dart VM team.
Triaging a bug entails the following steps
-
Figure out if it is a bug, enhancement request, performance issue, general question, documentation issue or one of the other types and mark the issue appropriately as
type-bug
,type-question
,type-enhancement
,type-performance
or one of the other types. -
If additional information is needed for addressing the bug please add the label
needs-info
to the issue and a comment back to the person filing the issue asking for information -
Review contents of the issue and assign one of 4 priorities listed below
- P0 - the issue critically impacts many users: somebody is actively working on it and daily updates will be posted on the issue, it is definitely a cherry pick candidate
- P1 - the issue blocks several users: it is desirable to address it in the next beta release, there will be weekly updates on the issue (could be a cherry pick to the previous stable release)
- P2 - the issue is represents an important issue for a small number of users or is of minor importance for many users: it is desirable to address it in the next stable release, there will be quarterly updates on the issue
- P3 - the issue is not critical and is not being actively addressed
If the priority is <= P2 then it is also assigned to a developer.
-
Assign a milestone to the issue based on the priority selected so that the expected resolution timeline is clear. At this point add the
triaged
label so that it is clear the issue has been looked at.
Issues may have their priorities adjusted up or down based on user feedback and milestones may also be adjusted based on available bandwidth in the team to address issues.