Release 3.1.0 in violation of semantic versioning?
d-e-s-o opened this issue · comments
Release 3.1.0
broke the build of lzma-rs
(possibly among others). The reason seems to be the changed trait bound of crc::Digest
:
- https://docs.rs/crc/3.1.0/crc/struct.Digest.html: pub struct Digest<'a, I: Implementation>
- https://docs.rs/crc/3.0.1/crc/struct.Digest.html: pub struct Digest<'a, W: Width>
As per my understanding this is not in line with semantic versioning requirements. Would it be possible to yank this version and fix this or publish it as 4.0 instead?
Thanks for being considerate of the wider eco system.
Thanks for reporting this, just yanked 3.1.0 and will investigate further.
Yup, this'll do it: https://github.com/gendx/lzma-rs/blob/168221a91f66000cf2424a62f9ffd18cf5fd91b7/src/encode/util.rs#L7. I suspect this is a somewhat uncommon use of the API, but it's still a breaking change that's not acceptable.
Unfortunately, I don't see an easy way to replace Width
with Implementation
when there are generic call sites explicitly referencing Width
.
Will either have to rename Implementation
to Width
or release 4.0.0.
I have a solution for this that doesn't break semver: #115. Will do some more testing (incl. against lzma-rs
before release 3.1.0).