The Road to 2.0
#2425
Replies: 1 comment
-
What specific improvements are being planned for the handling of props, JSX attributes, and destructuring in SolidJS 2.0? Will this include simplifications for working with spread, binding, conditional logic, or destructuring directly within JSX? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello everyone. I'd like to officially announce the beginning of our journey to Solid 2.0. We've done a lot of prototyping over the last few months and feel like we've gotten to a place where we can official start the process of developing Solid 2.0!!
For Solid 2.0 we are looking at features in a few key areas:
If you don't know what all of these are that's ok. This will take several months to complete and include multiple phases, the first we just entered as of today. You will be able to track the progress on the #next branch of the repo and on npm.
Experimental (2.0.0-experimental.x)
This is where are today where we have an idea of what the client-side behavior is and are testing and finding holes with our assumptions. This phase is largely self-guided and will break even significantly between versions. It's even possible for previously published experimental versions to break due to dependency updates. Consider only the latest release of all related packages as truth.
The goal of this phase is to re-implement the equivalent of all client, ssr, and hydration for non-experimental 1.0 features, as well as implement any new features we feel are core to the experience. This requires a lot of experimentation and benchmarking. We are being aggressive during this phase so it may even include breaking changes that will never get into the final release. It is possible there will be performance regressions. This is about capability.
Alpha (2.0.0-alpha.x)
This is the next stage when we feel the core behavior is presentable. This is when we will be writing up the formal RFCs and asking for more community feedback in terms of designs. The project should work with its base features end to end at this point but there are still opportunities for APIs and behaviors to wildly change between releases. We will use the feedback from the RFCs to hopefully bridge any gaps.
The goal of this stage is to have important core projects (Router/Start), infrastructure, and examples working with the 2.0 stuff to vet that the approach handles all the cases.
Beta (2.0.0-beta.x)
When we are content with the design and proposed implementation we will run a wider beta so that ecosystem libraries can try the new stuff. This is also when focus will be put on migration efforts(code mods) and documentation. At this point the API should be mostly stable but it will be possible that some behavior changes need to be tweaked. The goal of this phase will be to have the popular libraries like UI Components such as Kobalte, etc... and agnostic projects like Tanstack working with the 2.0 updates.
RC (2.0.0-rc.x)
These will be release candidates ready for final release.
Timeline
Given that we are in the experimental stage timeline is not available currently. It is really going to depend on how much help and feedback we get and how well we are able to address it. I will continue to reach out and provide updates to the community as the process continues. If you want to get involved in the day to day. Come the #next channel in Solid's discord. That is where all the relevant conversations are happening.
And with that, I want say it is a really exciting time and I hope you all join us on this journey to push the boundaries of frontend at their foundations.
Best,
@ryansolid and the SolidJS Core Team
Beta Was this translation helpful? Give feedback.
All reactions