[TRACKING] Breaking Changes Made During the RC Phase #1044
Description
Well y'all, I hate to say it, but we'll have a few breaking changes during our RC "stable" phase.
We just released our first two breaking changes in 0.38.0
:
- Dropped support for TypeScript 4.9 and 5.0
- Dropped support for Angular 17.3 and 18.x
And, unfortunately, it's not the only two breaking changes we'll be making. In addition, we need to introduce two breaking changes to our React adapters:
- Remove
form.useField
API, as it does not follow the rules of React Hooks - Remove
form.useStore
API, as it does not follow the rules of React Hooks
Which will be merged here shortly as part of 0.39.0
: #1035
While these breaking changes are unfortunate, there were a few factors at play:
- I assumed dynamic hooks followed the rules of React Hooks, which turned out to be false, only discovered once the Compiler was more generally available
- I didn't think we could integrate TanStack Store's fresh
Derived
API would be fast enough to validate in TanStack Form for some time. I was wrong.
2b) Once I realized we could use TanStack Store, working on it made it clear that there were bugs in the Angular adapter and TypeScript types that we needed to ship downstream
I wish I could have foreseen these issues ahead of time, but alas I am only human. Needless to say, once we hit v1, we'll be much more careful to introduce these breaking changes in chunks (ala major versions) and with migration guides to avoid problems.
Moreover, to help make this second batch of React breaking changes a little easier, we'll help write migration guides for form.useField
and form.useStore
in our changelog for everyone impacted.
Again, immense apologies on my end. I was the one who made the call to introduce these breaking changes prior to v1. We'll work hard on avoiding doing so again in the immediate future.
Activity