{"record":{"id":"f8334a51e1485306","repo":"rust-lang/cargo","slug":"detected-changes-in-these-crates-but-no-version-bu","errorCode":null,"errorMessage":"Detected changes in these crates but no version bump found:\n{entries}\n\nPlease bump at least one patch version in each corresponding Cargo.toml.","messagePattern":"Detected changes in these crates but no version bump found:\n(.+?)\n\nPlease bump at least one patch version in each corresponding Cargo\\.toml\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/xtask-bump-check/src/xtask.rs","lineNumber":182,"sourceCode":"                tracing::trace!(\"skipping {pkg_name}, may be removed or not published\");\n                continue;\n            };\n\n            if changed_member.version() <= referenced_member.version() {\n                needs_bump.push(*changed_member);\n            }\n        }\n    }\n    if !needs_bump.is_empty() {\n        needs_bump.sort();\n        needs_bump.dedup();\n        let mut msg = String::new();\n        msg.push_str(\"Detected changes in these crates but no version bump found:\\n\");\n        for pkg in needs_bump {\n            writeln!(&mut msg, \"  {}@{}\", pkg.name(), pkg.version())?;\n        }\n        msg.push_str(\"\\nPlease bump at least one patch version in each corresponding Cargo.toml.\");\n        anyhow::bail!(msg)\n    }\n    if github {\n        println!(\"::endgroup::\");\n    }\n\n    if let Some(referenced_commit) = referenced_commit.as_ref() {\n        if github {\n            println!(\"::group::SemVer Checks against {}\", referenced_commit.id());\n        }\n        let mut cmd = ProcessBuilder::new(\"cargo\");\n        cmd.arg(\"semver-checks\")\n            .arg(\"--workspace\")\n            .arg(\"--baseline-rev\")\n            .arg(referenced_commit.id().to_string());\n        for krate in crates_not_checked {\n            cmd.args(&[\"--exclude\", krate]);\n        }\n        for krate in crates_not_check_against_channels {","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/rust-lang/cargo/blob/eb98b54bc9f3c74519f43d066cb3fd02ebc88df0/crates/xtask-bump-check/src/xtask.rs#L164-L200","documentation":"xtask-bump-check compares crate changes against version bumps in Cargo.toml. If it detects source changes in a crate whose version was not incremented relative to the base commit, it bails listing the offending crates and instructs to bump at least a patch version. This enforces release hygiene in the Cargo monorepo.","triggerScenarios":"Running `cargo bump-check` (the xtask) on a branch where a crate's source files changed but its Cargo.toml version stayed the same compared to the referenced (base) commit.","commonSituations":"Forgetting to bump version after a bug fix; modifying shared code without bumping the owning crate; large PRs where version bumps get dropped in rebase.","solutions":["Increment the patch (or minor/major) version in the changed crate's Cargo.toml.","If the change should not trigger a release (e.g. test-only/docs), confirm the diff scope excludes release-relevant files or adjust the check's ignore rules.","Re-run `cargo bump-check` to confirm all listed crates are resolved."],"exampleFix":"// before\n# Cargo.toml\nversion = \"1.2.3\"   # after source edits\n// after\nversion = \"1.2.4\"","handlingStrategy":"validation","validationCode":"// Pre-flight: diff changed crates vs their Cargo.toml versions locally\nfor c in changed_crates {\n    if !version_bumped(&c) {\n        eprintln!(\"bump patch in {}\", c);\n    }\n}","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Bump the patch version in the same commit that changes a crate's source.","Run `cargo bump-check` locally before pushing.","Add a pre-commit hook reminding to bump."],"tags":["cargo","xtask","versioning","release","ci"],"backgroundTag":null,"analyzedSha":"eb98b54bc9f3c74519f43d066cb3fd02ebc88df0","analyzedAt":"2026-08-11T17:42:36.556Z","contentChangedAt":"2026-08-11T17:42:36.556Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}