Skip to content

Commit

Permalink
Detail minimum supported Rust version policy
Browse files Browse the repository at this point in the history
There is rough consensus in the Rust ecosystem that bumps of the
compiler version are not considered breaking changes as per semantic
versioning, as the compiler version is not part of the public API
contract, and because it would cause way too much churn if incompatible
releases were published all the time.
However, to make that behavior at somewhat more predictable to users,
most crates define a policy that they adhere to (for lack of an
ecosystem wide suggestion, as is currently discussed here
rust-lang/libs-team#72, among other places).

This change defines such a policy for both libbpf-rs and libbpf-cargo.
Moving forward, we will support the most recent six stable minor version
releases ("N - 5"), at a minimum. At a release cadence of every 6 weeks,
that provides more than half a year of buffer. This policy is not set in
stone and is based on what we can currently support.

Signed-off-by: Daniel Müller <deso@posteo.net>
  • Loading branch information
d-e-s-o committed Mar 28, 2023
1 parent 73ce9f4 commit 5ce9c43
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
5 changes: 4 additions & 1 deletion libbpf-cargo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ libbpf-cargo = "0.20"

See [full documentation here](https://docs.rs/libbpf-cargo).

This crate adheres to Cargo's [semantic versioning rules][cargo-semver].
This crate adheres to Cargo's [semantic versioning rules][cargo-semver]. At a
minimum, it builds with the most recent Rust stable release minus five minor
versions ("N - 5"). E.g., assuming the most recent Rust stable is `1.68`, the
crate is guaranteed to build with `1.63` and higher.

## Contributing

Expand Down
5 changes: 4 additions & 1 deletion libbpf-rs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ libbpf-rs = "0.20"

See [full documentation here](https://docs.rs/libbpf-rs).

This crate adheres to Cargo's [semantic versioning rules][cargo-semver].
This crate adheres to Cargo's [semantic versioning rules][cargo-semver]. At a
minimum, it builds with the most recent Rust stable release minus five minor
versions ("N - 5"). E.g., assuming the most recent Rust stable is `1.68`, the
crate is guaranteed to build with `1.63` and higher.

## Contributing

Expand Down

0 comments on commit 5ce9c43

Please sign in to comment.