Closed dmitryash closed 1 year ago
0.4 is a breaking change. Bumping the patch version is standard practice for pre-1.0 crates.
@jhpratt I do not quite understand what 0.4 can break. However there may be many projects depending on this time crate. Such project may still support older compilers. With https://github.com/time-rs/time/commit/d52798ed384a49a92a672cd374fd9ad586344a9b commit such project cannot provide compatibility with older compilers. Bumping version to 0.4 means that everybody who needs older compiler may stay with 0.3 version and get even update in patch version, e.g. security updates.
0.4 is incompatible with 0.3, and will only be released when there is a breaking change. Bumping the MSRV is not a breaking change. This view is widely held throughout the Rust ecosystem. The MSRV policy of time
is documented in the README. The older compilers are simply not supported. Pre-1.0, all non-breaking changes are released in the patch version. That's simply how semver works.
Please revert recent commit d52798e that puts restrictions on rustc. It unexpectedly breaks backward compatibility with older rustc. Usually if compatibility needs to be broken then people create new version, e.g. 0.4. Usully people avoid breaking compatibility in patch releases (third number in version)