Replies: 7 comments 18 replies
-
For context see:
And the other discussion where I announced the breakage |
Beta Was this translation helpful? Give feedback.
-
I continue to like @Kixunil argued elsewhere that this sucks because it makes every single Bitcoin Core release into a semver-breaking change for us. My view is that some releases will be a semver-breaking change anyway (e.g. when the verification function is updated to take more context, as in Taproot) so we need to handle this downstream anyway. Also, in cases where there are actually no breaking changes, then we can semver-trick it. Another sensible option would be to take A hybrid of these would be to combine the two approaches, and swap the "Rust part" and the "Core part" of the version number. Then the Core part is what will get ignored by cargo, and the Rust part is in our control. |
Beta Was this translation helpful? Give feedback.
-
Why did we not end up with our.version.stuff-bitcoin.core.version? That would basically mean cargo ignores the Bitcoin Core version, which I think is fine, as long as we bump our version when we actually have an API change. |
Beta Was this translation helpful? Give feedback.
-
While I believe that works its ugly for the reason you mention, we'd have to offset our version number.
I like this idea for releases of Core 0.20.2 and 0.21.2
Once we get to Core 22 I think we should do this. (But like you say, @Kixunil has some disagreement that I'm not fully understanding). |
Beta Was this translation helpful? Give feedback.
-
Isn't what you want |
Beta Was this translation helpful? Give feedback.
-
Next release version number 0.100.0+0.20.2 Can I get some thumb emojis on this post if this is agreed please. |
Beta Was this translation helpful? Give feedback.
-
Thanks all, marking this as resolved. Please see rust-bitcoin/rust-bitcoinconsensus#76 if you are interested. |
Beta Was this translation helpful? Give feedback.
-
rust-bitcoinconsensus
uses a technically semver compliant kludge for its version number0.20.2-0.5.0
to show the Core version and the crate version. The idea was that we could then move to0.20.2-0.6.0
and be following all the semver rules. Turns outcargo
seems to ignore the stuff after the-
so the recent release was not semver compliant because it remove stuff in a point release.We need a new versioning scheme for
rust-bitcoinconsensus
in order to be able to do the next release.Beta Was this translation helpful? Give feedback.
All reactions