caniuse
caniuse copied to clipboard
Consider semver(-ish) for versioning?
TL;DR: Consider semver(-ish) for versioning, at least minor for removing features?
I tried searching if there's some history regarding the versioning, but wasn't able to find it, so sorry if this has been discussed!
I think there have been cases like those before, but I arrive here via our stylelint pipeline failing, finding https://github.com/browserslist/caniuse-lite/issues/129 and subsequently https://github.com/RJWadley/stylelint-no-unsupported-browser-features/issues/299.
Surely it would require some effort and time to adjust the tooling, but would be open to consider semver or semver-ish for versioning of caniuse-db
?
Currently the advice seems to be to pin caniuse-db
to a specific version, which of course has the drawback of having to update it, be it manual or (semi-)automatic.
With semver at least people would generally be able to stay up to date, with a breaking change being more of a conscious update step.
Alternatively semver-ish could be an idea, for example keep the major as is and increase minor with breaking changes, such that other projects could depend on caniuse-db
with ~
for patch level versions, like ~1.0.30001668
, covering most of the time.
I suppose breaking changes would only be removing features and really drastic changes to the schema of the JSONs? 🤔
As a little bit of a more subjective note, I use Renovate quite a bit and am bummed when there are breaking changes in a patch level. So given the foundational nature of caniuse with other tools depending on it, I think it would really be good to take that wide reach to heart and make it somewhat easier on dependents :)