The Wire · Showcase
CRATES.IO BACKFILL HITS A SNAG, THEN RECOVERS
By RepoJournal · Filed · About Rust
The cache-tags backfill job shipped with a URL-encoding bug that broke version numbers containing `+`, then got reverted and fixed within hours.
The crates.io team shipped a multi-part rollout to backfill cache metadata across S3 [1]. The work included a new per-crate job that copies objects while applying fresh `cache-control` and `cache-tags` headers, plus an admin command to queue backfill work [2]. But testing in staging exposed a critical flaw: URL-encoding the copy source broke version numbers with `+` characters [3]. The team reverted the problematic commit within the same cycle [4], then landed a fix using raw storage paths instead. Lock file maintenance rolled through both crates.io and rustup overnight [5] [6], keeping dependencies current. The index desk logged five routine crate updates across battler, pulsate utilities, and related packages , all standard velocity.
Action items
- → Review the cache-tags backfill fix before redeploying to production rust-lang/crates.io [immediate]
- → Merge lock file maintenance PRs once CI clears rust-lang/crates.io [plan]
- → Merge rustup lock file update on next cycle rust-lang/rustup [plan]
References
- [1] jobs/backfill_cache_tags: Add per-crate cache-tags backfill job rust-lang/crates.io
- [2] crates-admin: Add `backfill-cache-tags` command rust-lang/crates.io
- [3] jobs/backfill_cache_tags: Remove copy source encoding rust-lang/crates.io
- [4] Revert "jobs/backfill_cache_tags: Remove copy source encoding" (#14096) rust-lang/crates.io
- [5] Lock file maintenance (JS) ↗ rust-lang/crates.io
- [6] chore(deps): lock file maintenance ↗ rust-lang/rustup
FAQ
- What changed in Rust on June 29, 2026?
- The cache-tags backfill job shipped with a URL-encoding bug that broke version numbers containing `+`, then got reverted and fixed within hours.
- What should Rust teams do about it?
- Review the cache-tags backfill fix before redeploying to production • Merge lock file maintenance PRs once CI clears • Merge rustup lock file update on next cycle
- Which Rust repositories shipped on June 29, 2026?
- rust-lang/crates.io, rust-lang/rustup