|
|
|
|
|
by munificent
2110 days ago
|
|
You mention "major semantic versions", but semver itself explicitly says that the point of major version changes is backwards incompatibility. > This assertion in particular seems wrong to me for most software in use today: By definition, a new major version of a package is not backwards compatible with the previous version. It is true for any package manager using semver, cargo, npm, pub, etc. |
|
The meaning of versions is a negotiation between producer and consumer, not a fixed rigid set of rules as strict semver would have you believe. In practice the definitions are more fluid, something like major: big changes, may be breakage, minor: minor changes, should be no or minimal breakage, patch: small fix, no breakage.
Putting versions in the import path is not something any of the popular package managers do AFAIK, and they certainly don't force you to do that, nor do they force you to use strict semantic versioning.