3 ms·
Elm does this. While developing Elm libraries it caught violations for me a few times even though I was trying hard to stick to semver. I also found that the a
by danpalmer 3y ago
Elm does this. While developing Elm libraries it caught violations for me a few times even though I was trying hard to stick to semver.
I also found that the average version of an Elm package was much higher than I expected given the ecosystem’s relative infancy when I was working with it (~5 years ago), when comparing to the JavaScript ecosystem where popular packages theoretically follow semver.
I suspect that most packages regularly violate semver in small ways, and I’d recommend giving automated checks for violations a go if only to have the experience and be more aware of the issue.
- obi1kenobi 3y agoTool author here. Your hunch is absolutely right. An analysis I and a few contributors did for Rust showed that over 1 in 6 of the top 1000 most downloaded Rust crates has broken semver at least once in a way our tool can detect & where we can produce a program that suffers a compile error due to the semver break. This is obviously a lower bound, and yet it's quite a high number already. I plan to write more about this on my blog in the coming weeks: https://predr.ag/blog https://predr.ag/blog In the meantime I put some more info (including a link to slides from a recent talk I gave on this) in another comment: https://news.ycombinator.com/item?id=36653954 https://news.ycombinator.com/item?id=36653954
- danpalmer 3y agoNice one, great analysis.
- obi1kenobi 3y agoThank you!