Just curious. Good info to know. How often do release come out, and after how long to deprecations get removed (I’m asking about both because I’ve seen some notes in the code that things get deprecated at version X and then removed at version X+10, which maybe hints at deprecation timeline, but need to explicitly know the release cadence).
afaik three aims to release a new revision once a month… i’m sure as you’ve said, deprecation warnings are kept for a while, up to, and sometimes even more than 10x revisions…
These depreciations are nothing that you could rely on. It releases what technically are semver majors (breaking changes), masked as feature minors every month. The argument is that because it is published as 0.x.x it is semver conform and every release should be regarded as breaking, but after 10 years that’s imo stretching it.
Honest semver would be a major relief. It would require though that jsm/examples is finally being moved into a real repository, and it seems that is unwanted, as well as some care when considering things that break, like name changes.
In any other open source project breaking changes aren’t taken lightly and minor things are usually collected in a separate branch so that the burden on the end user isn’t too high. Three on the other hand for long term maintenance is a full time job.
Do you have any theories on to why are examples kept so close to the core?
I’m not sure there’s a theory based argument here, it’s likely just because three is not masquerading as anything its not…
an easy to use, lightweight, cross-browser, general purpose 3D library.
Everything offered in the library is as self contained as can be, with as much cross compatibility as can be, without the need for external dependencies, meaning for what it is, all internal dependencies are as easily accessible from one place… As close to its core as possible…
When you say “dependencies” you are referring to “examples”? Three can run without examples, it does not depend on them.
It has already been said but to make it officially: The project targets a release per month. Deprecated code is removed in ten releases.
It has been pointed out in Three.js, semver, and addons - #7 by donmccurdy that separating addons from core is not required for having semver.
The OP asked a quite simple question and there is no need to start a discussion about semver and addons here. We already have a dedicated topic for this: Three.js, semver, and addons