Summary
Dependabot keeps opening the same PR to bump self_update from 0.42.0 to 0.44.0 (#711, #724, and now #757). Each one has been merged or will merge as a no-op: only Cargo.lock is updated, never the Cargo.toml requirement, so the change is silently reverted by the next build/resolve and Dependabot re-proposes it on the following run.
Mechanism
Cargo.toml pins self_update = "0.42" (i.e. ^0.42 → >=0.42.0, <0.43.0).
- Dependabot bumps only
Cargo.lock to 0.44.0, leaving the ^0.42 requirement in place. The lockfile now contradicts the manifest.
- CI runs plain
cargo build/cargo test (no --locked), so cargo silently re-resolves self_update back to 0.42 and rewrites the lock:
Downgrading self_update v0.44.0 -> v0.42.0 (available: v0.44.0)
CI is green — on 0.42.
- The reverted lock means the installed version stays
0.42. Next Dependabot run sees "still 0.42, 0.44 available" and files the bump again. Loop.
Evidence (version churn in main)
| Date |
Commit |
self_update in lock |
Effect |
| 2025-01-05 |
b44e294 update major deps |
→ 0.42 |
introduced 0.42 |
| 2026-05-20 17:35 |
9322e2d #711 bump self_update |
0.42 → 0.44 |
no-op bump |
| 2026-05-20 20:16 |
2f86f10 #714 sync Cargo.lock |
0.44 → 0.42 |
reverted #711 |
| 2026-06-02 09:47 |
51e0b37 #724 bump self_update |
0.42 → 0.44 |
no-op bump again |
| 2026-06-04 11:15 |
afed0d2 #751 bump tracing |
0.44 → 0.42 |
reverted #724 |
The reverts come from whatever next re-resolves the lock: the scheduled sync-cargo-lock.yml job (#714), or an unrelated Dependabot bump that regenerates the lock as a side effect (#751).
Summary
Dependabot keeps opening the same PR to bump
self_updatefrom0.42.0to0.44.0(#711, #724, and now #757). Each one has been merged or will merge as a no-op: onlyCargo.lockis updated, never theCargo.tomlrequirement, so the change is silently reverted by the next build/resolve and Dependabot re-proposes it on the following run.Mechanism
Cargo.tomlpinsself_update = "0.42"(i.e.^0.42→>=0.42.0, <0.43.0).Cargo.lockto0.44.0, leaving the^0.42requirement in place. The lockfile now contradicts the manifest.cargo build/cargo test(no--locked), so cargo silently re-resolvesself_updateback to0.42and rewrites the lock:0.42.0.42. Next Dependabot run sees "still 0.42, 0.44 available" and files the bump again. Loop.Evidence (version churn in
main)self_updatein lockb44e294update major deps9322e2d#711 bump self_update2f86f10#714 syncCargo.lock51e0b37#724 bump self_updateafed0d2#751 bump tracingThe reverts come from whatever next re-resolves the lock: the scheduled
sync-cargo-lock.ymljob (#714), or an unrelated Dependabot bump that regenerates the lock as a side effect (#751).