Everytime three.js updates and breaks things it means 1000s, 10s of 1000s, maybe even 100s of thousands of developers end up spending time migrating. That means lot of computer time so energy used. Even if it’s only 30 minutes, 30 minutes * 10000 devs = 5000 hours of work. or 2.5 man years. Collectively that $$$$$$$ and probably several barrels of oil or other measure of energy.
It also means those devs get work added to their plates. Work that they could either be using to ship their product instead of dealing with migration issues or time they could have spent with friends and family.
Not only that but many live samples, stack overflow answers, online tutorials, youtube videos, etc all become useless. An expert might understand the changes but the typical inexperienced programmer Googling for how to use three.js, stumbling on some 3 month old tutorial, will have no idea why things are broken.
I’m sure the responses will be things like “so don’t upgrade” or “if you don’t like the churn don’t use three.js”
But, just pointing out the changes have real impacts on real people. Maybe weigh those impacts a little higher? Some how the majority of libraries of all types for all languages manage not to have this much churn. I’m not sure what makes three.js special. It’s not like other 3d engines churn this much.
Anyway I didn’t post this to debate or even get feedback. I only posted it to raise awareness that there are real impacts of shipping breaking changes every month. I don’t expect anything will change but given all the other libraries out there that don’t have this issue, even 3D libraries, there really isn’t much of an excuse. It’s a choice to cause this much extra work for thousands of developers.