rust-bitcoin/rust-bitcoinconsensus

Unusual semvar usage

tcharding opened this issue · 4 comments

Why have we released versions

  • 0.19.0-1
  • 0.19.0-2
  • 0.19.0-3

This is not valid semvar versioning according to the grammar? Shouldn't the versions have been

  • 0.19.0
  • 0.19.1
  • 0.19.2

Note that cargo is handling these versions correctly it seems. I built rust-bitcoin depending on 0.19.0-2 and got 0.19.0-3 in the lock file.

Hmm, but its referring to the bitcoin core version, plus a number. Does cargo allow 0.19.0.1? Otherwise we probably have to stick with the -

Oh cool, I did not pick that up. Cheers, I did a PR adding docs to the version number.

Also for the record I was wrong, the current version number is valid semvar. The N after the dash is interpreted as . So we are abusing the semvar instead of being invalid, that explains why cargo handles it correctly.

Closing this issue.

This is the valid semver, as you write later: https://semver.org/#spec-item-9

I think the best is to use 0.22.0-M.m.p where M, m, p will be for major, minor and patch version of this rust library and 0.22.0 for bitcoin core version.

Good idea!