time-rs / time

The most used Rust library for date and time handling.
https://time-rs.github.io
Apache License 2.0
1.13k stars 281 forks source link

Please revert commit d52798e #605

Closed dmitryash closed 1 year ago

dmitryash commented 1 year ago

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)

jhpratt commented 1 year ago

0.4 is a breaking change. Bumping the patch version is standard practice for pre-1.0 crates.

dmitryash commented 1 year ago

@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.

jhpratt commented 1 year ago

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.