The lifecycle of a feature, and where to look for updates

From a high level, what's the process a feature goes through before it gets stabilized?

From what I gathered, features start out as RFC's. If the RFC is accepted, someone may implement the feature on nightly. At some point a tracking issue for the feature is created. Once the feature has baked for a while it can enter a FCP (who requests this, and who determines if it is ready for FCP?). Once it passes its FCP, it can be nominated for stabilization, where it will first reach the beta channel, and if that doesn't uncover any problems there it will reach stable.

Is that roughly right?

If I encounter the mention of a feature and I want to know what the most current aspirational end result is, what would be the best place to go? If the direction of a feature changes substantially, will there always be a new RFC that supersedes the old one? Will the latest RFC always be linked from the tracking issue?

I sometimes find it a little confusing to know where to look if I want to try to piece together the current state of a feature. AFAICT, they can be discussed in GitHub Issues (though not the tracking issues), on zulip and on here. Is there any of these places that is, at least aspirationally, meant to be updated with latest features update news?

The project goals on zulip are a really nice way to see if progress is being made on features-of-interest, but they only cover some features.

Not really? Ideally any PRs will be linked back to the tracking issue, so the backlinks from that might help, but often features -- especially very incomplete ones -- are just worked on a single person without coordinating with anyone.

1 Like
  • An FCP is associated with some particular proposed action, such as merging an RFC, merging a stabilization PR, or just approving stabilization without having an exact PR yet. The FCP is requested by some project member, who specifies which teams' members should approve by checking their checkboxes, and the actual final comment period starts when sufficient boxes are checked.
  • The important part of the process that you haven’t mentioned is the stabilization report. This is a document which describes what is being stabilized (which may not be identical to the RFC) and presents evidence that that the feature is ready for stabilization.
2 Likes