Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This integrates the cargo-semver-checks tool in the CI to check for SemVer compatibility as per the Cargo reference
(https://doc.rust-lang.org/cargo/reference/semver.html).
The cargo-public-api tool is a viable alternative to cargo-semver-checks, but I didn't choose it because its comparison baseline needs to be stored in the repository and manually updated on each change. For zenoh, the 1.0.0 revision will be the baseline for the forseeable future.
This comes with a caveat though: cargo-semver-checks accepts a "release type" argument which would be either patch or minor in zenoh's case. I specified "patch" since I expect patch releases to be more common. If the next release is expected to include changes that require a minor version bump (as defined by the Cargo reference) then the CI workflow would need to be manually adjusted at the start and the end of the release cycle.