I was wondering if anybody could tell me what the differences are between the Lab and Core components. What is required of a component before it can move from the lab to the core package?
@jcafiero The main difference between the lab and the core is how we version the components.
The lab allows us to release breaking changes anytime we want while the core follows a slower-moving policy.
As our users battle test the components and report issues, we learn more from the design flaws of our components: lacking features, a11y, bugs, API, etc. The older and the more used a component is, the less likely we will find new flaws and we will need to introduce breaking changes.
In the current state of the lab, we are not aware of any significant breaking change we will need to apply. However, we will use them to incentivize users to upgrade to v5 (Q3-Q4 2020), to counterbalance the breaking changes we have planned.
We might want to improve this page https://material-ui.com/components/about-the-lab/ to clear it up.
Is there a clear path to core though? As in, can we as developers know if a certain component is "almost ready" for moving to the core? - Will it be next version, or the one after that or.....
I think that we need the component:
A few notes on the current components in the lab.
@oliviertassinari Thank you for clarifying this for me. I agree, I think it would be beneficial to add a small description of the difference between a lab and core component to the page you highlighted above.
Where can we find a list of the features missing from a component, like what you mentioned about Tree View?
I think it would be beneficial to add a small description of the difference between a lab and core component to the page you highlighted above.
@jcafiero If it's something you want to contribute, we would be happy to review it.
Where can we find a list of the features missing from a component, like what you mentioned about Tree View?
You could look at the issues that have the TreeView label.
Yeah I can submit a PR sometime next week. Thanks!
I would add:
We recently agreed that a component doesn't need to be typed to be added to the lab, but it would do to move to the core.
I may be mistaken, but I don't think all the lab components currently have comprehensive tests.
Toggle Button: I wonder if we shouldn't merge it with the ButtonGroup component
I agree, we shouldn't merge them. 馃槈
More seriously, I'll give basically the same answer I've given every other time this has been suggested: The have distinctly different concerns, both functionally and stylistically, so no, they shouldn't be merged.
Most helpful comment
When do we move a lab component into the core?
I think that we need the component:
A few notes on the current components in the lab.