Raycaster now uses Layers, so apps using .layers broke.
Semver would be a nice convention for Three.js to follow. The releases don’t even mention breaking changes.
By default npm (the most widely used package manager in human history by a far margin) places things like ^0.121.1 in package.json, which means that by default, any release of Three.js (the way they are currently managed) can break apps.
This is similar to placing a non-versions unpkg.com URL in your codepen.io pen, and not thinking that it is going to break. At any moment, your pen might break.
What Three.js users need to do is ensure that the version in package.json does not contain any symbol in the version f.e. 0.121.1 instead of ^0.121.1.
If you’re looking for breaking changes those are listed in the migration guide.
What Three.js users need to do is ensure that the version in package.json does not contain any symbol in the version f.e. 0.121.1 instead of ^0.121.1 .
You can also use ~0.121.0 to automatically take patch releases.
Oh, that’s good to know, I hadn’t thought of that. Usually (at least from my experience) projects categorize breaking vs non-breaking changes in the release notes.