Also it seems JS devs don't understand semver either. Massive breaking changes in patch or minor versions are just evil.
Also it seems JS devs don't understand semver either. Massive breaking changes in patch or minor versions are just evil.
It has a tick-tock pattern so that you can upgrade and having time to fix the warnings.
The API changes are carefully crafted.
Sometimes there are even migration tools to help you upgrade.
I have published a library myself and experienced it, going from 2.x to 3.x to 4.x.
After you just do it for the sake of semver though, the resistance vanished for me.
And the second thing: Never use 0.x.x versions, I think those should have been omitted from semver completely, as they circumvent the entire concept.
A problem in React ecosystem is that it's a rendering library not really a webapp framework so you need to use community provided libraries to fill in the gaps. Those libraries are often maintained by an individual so it's unreasonable to expect corporate SDK approach to development, but unfortunately it leads to a lot of abandonware and rewrites, especially since JS is not very maintainable and it's often easier to rewrite something than to pick up someone else's code.
I am relatively new to React. Perhaps all of this happened 3 or more years ago.
I know React Router 4 was released in mid 2017. Perhaps I was too new when I looked over the changes between 3 and 4. It didn’t seem as drastic as the general opinion that JS changes like crazy. I looked at the migration guide again. Still doesn’t look too bad. Maybe it would be in a large code base.
I try to resist hyperbole, but if it wasn't for the brand value of owning the name "React Router", it should (or would) have been released under a different package name.