-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider handling feature identifier changes or aliases #91
Comments
Thoughts on the different cases:
This case is different from the others, it's about the scope of the feature changing in addition to the name. This is a very long term problem, but I think we'll be better off trying to maintain a stable tree structure and only changing the properties of the nodes of the tree. Inverting parent-child relationships would be especially complex to understand and communicate I think.
For this I think we should have a concept of renaming using aliases, if we don't pick the best name first. Such aliases could remain long term if they don't get in the way. Technically, I think this requires that we have a
If we want to get rid of error, or if we've accidentally used up a good name, I think we need a concept of deprecation and removal. We'd mark features as deprecated and make that visible in the API and release notes, and then remove them in a future major release bump. |
My concrete proposal here is a new The API can wait until later, and might also including looking features up by BCD and caniuse identifiers. |
#202 stakes out the optional |
There's some additional discussion in #729. @romainmenke points out that |
The Maybe all features could have a stable machine readable id? Having such an id would make it easier for 3rd parties (like myself) to reference web-features without having to worry too much about churn. |
Would a "get feature" helper that follows aliases make this easier to deal with? That would also I'm a little bit hesitant on an ID which is guaranteed to never change, because it opens up new questions. If a feature needs to be split, which one gets to keep the ID? And with long term evolution you also have a problem akin to Ship of Theseus, does it ever become a new feature? |
This helps with discovery and it slightly reduces the amount of work to handle changes. |
This came up in the WebDX call today. There was a request for more examples (from me), especially actual historic ones. Some semantics we'll need to deal with:
There was also some discussion of features that evolved a lot, such as a CSS feature with changing name and syntax. I don't have a good example for this kind of thing and would welcome more thought on that. |
One (identified) example is the |
Inspired by discussion on #89.
If the feature set is based on real-world usage by web developers, then some features may need to change identifiers from time to time or accommodate multiple known names. Some possible scenarios:
subgrid
is subsumed bygrid
. At least one feature is removed and the definition of another feature changes, triggering some sort of versioning event (either at the data or package level).es6
andes2015
).felxbox
) and we ship with the erroneous name.Some questions emerge:
The answers to some of these questions might influence how we handle versioning (if we understand versions to be a kind of identifier for a feature).
We ought to resolve this issue before a 1.0 release.
The text was updated successfully, but these errors were encountered: