Because we've decided to ship new crate versions for each new service api-version instead of using features, we want to abide by semver rules as best as possible1. To that end, we should look at adding cargo-semver-checks or similar into our build and release pipelines.
1 There have been times we didn't rev in some languages because we didn't want to rev the major version for minor breaking changes most people would never hit. The friction of discovering/updating to the latest major version was considered a worse behavior because it affects everyone.
Because we've decided to ship new crate versions for each new service api-version instead of using features, we want to abide by semver rules as best as possible1. To that end, we should look at adding
cargo-semver-checks
or similar into our build and release pipelines.