Feature Flags Availability


#1

I am trying to understand the new release process and I am confused about the features hidden behind flags. Which features are only available in the canary builds and which ones are in the beta builds? It would be good to document that in the features doc.

I was surprised to find the query-param feature missing in the latest beta and it took me some time to realize that it’s only available in the canary builds even though it was documented in the feature file.


#2

What I gathered from the new release process was that anything behind a feature flag will be available on canary, then when a feature is released to beta it’s feature flag will be removed.

If that is the case, it would definitely be useful to highlight at the top of the features doc as it’s not particularly clear otherwise.


#3

That does not seem to be the case since the query-param feature was added in the first 1.1 beta but didn’t make it to the 1.2 beta.


#4

I wrote up a guide for the website detailing the feature flagging process. I would love for your feedback/questions after reading through the proposed guide.


#5

The guide is great, it answered all my questions except one. Could features behind flags be yanked never making it to an official release?

Also, not a guide problem, but features.json should be reflected in the feature listing.


#6

Yes, if a feature is deemed unstable during the beta cycle it will be disabled before the next beta release, and removed from eligibility until the next beta cycle. I will add additional details to the guide explaining this.

FEATURES.md will be modified to point to the new guide once it is published, and the existing prose will be removed. At that point FEATURES.md will simply hold the listing of feature flags and their descriptions. I agree that linking the features.json is still a good idea.


#7

The PR has been merged. Linking here for future reference: Feature Flag Guide


#8

Maybe I was not clear with my question but I was asking if a flagged features could be permanently removed, not making it to any future release. Or, is it guaranteed that a flagged feature would eventually make it to an official ember release in the feature.