VERSIONING.md
This page describes how we version Scala.js core. Notably what compatibility guarantees we give with respect to the version numbering.
The following changes must cause a major version bump.
Severe changes can break the ecosystem of sbt plugins and other build tools, but not the ecosystem of libraries (which would be major). Severe changes should be done only if absolutely necessary. The following are considered severe changes:
linker.* or linker.interface.*sbtplugin.*testadapter.*Severe changes are difficult from a versioning point of view, since they require a careful tradeoff:
As such, we leave the best course of action in case of severe changes to the maintainers. Possible courses of action are:
The following changes must cause a minor version bump.
linker.*, linker.interface.*
or sbtplugin.* (including any addition of public API)testadapter.*ir.*, linker.interface.unstable.*
or linker.standard.*All other changes cause a patch version bump only. Explicitly (but not exhaustively):
ir.*, linker.interface.unstable.*
or linker.standard.*linker.**