-
Notifications
You must be signed in to change notification settings - Fork 95
Compatibility Policy & Rust version
slog
follows SemVer: this is the official policy regarding breaking changes
and minimum supported rust versions (MSRV).
Slog crates should pin the minimum required version of Rust to the CI builds. Bumping the minimum version of Rust is considered a minor breaking change, meaning at a minimum the minor version will be bumped.
In order to keep from being surprised by breaking changes, it is highly
recommended to use the ~major.minor.patch
style in your Cargo.toml
if you
wish to target a version of Rust that is older than the current stable minus 15
releases:
[dependencies]
slog = "~2.1.0"
This will cause only the patch version to be updated upon a cargo update
call, and therefore cannot break due to new features, or bumped minimum
versions of Rust.
slog
and its ecosystem is guaranteed to support current stable Rust, minus
15 releases, but may work with prior releases as well. For example, the current
stable Rust at the time of this writing is 1.57, meaning slog
is guaranteed
to compile with 1.42. However, (as of the time of this writing) we actually support Rust 1.23, which is much older than the minimum requirement.
Upon bumping the minimum version of Rust (assuming it's within the stable-15
range), it must be clearly annotated in the CHANGELOG.md
See PR #296 for more details on this policy (we actually made it stricter)