caniuse icon indicating copy to clipboard operation
caniuse copied to clipboard

Consider semver(-ish) for versioning?

Open Schweinepriester opened this issue 4 months ago • 1 comments

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 :)

Schweinepriester avatar Oct 14 '24 23:10 Schweinepriester