Skip to content

bans: add optional prereleases lint#852

Open
MavenRain wants to merge 1 commit into
EmbarkStudios:mainfrom
MavenRain:bans-prerelease-check
Open

bans: add optional prereleases lint#852
MavenRain wants to merge 1 commit into
EmbarkStudios:mainfrom
MavenRain:bans-prerelease-check

Conversation

@MavenRain

Copy link
Copy Markdown

Closes #850. Adds a new [bans] prereleases = "allow|warn|deny" config option mirroring the existing wildcards and multiple-versions checks. When set above allow, cargo-deny emits a diagnostic for any crate in the resolved dependency graph whose semver version carries a non-empty prerelease component (e.g. 1.0.0-alpha.1). This catches both direct declarations of prerelease version requirements and transitive dependencies that resolve to prereleases.

Tests: new prereleases/maincrate fixture with a path-dep at 0.1.0-alpha.1, snapshotted against prereleases = 'deny' (positive) and the default (negative).

  Closes EmbarkStudios#850.  Adds a new `[bans] prereleases = "allow|warn|deny"`
  config option mirroring the existing `wildcards` and
  `multiple-versions` checks.  When set above `allow`, cargo-deny
  emits a diagnostic for any crate in the resolved dependency
  graph whose semver version carries a non-empty prerelease
  component (e.g. `1.0.0-alpha.1`).  This catches both direct
  declarations of prerelease version requirements and transitive
  dependencies that resolve to prereleases.

  Tests: new `prereleases/maincrate` fixture with a path-dep at
  `0.1.0-alpha.1`, snapshotted against `prereleases = 'deny'`
  (positive) and the default (negative).
@MavenRain
MavenRain requested a review from Jake-Shadle as a code owner May 1, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optional ban for prereleases

1 participant