RepoJournal
Rust

@rust-lang

The Rust language, Cargo, and the standard library

Pick a date

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

References

  1. [1] jobs/backfill_cache_tags: Add per-crate cache-tags backfill job rust-lang/crates.io
  2. [2] crates-admin: Add `backfill-cache-tags` command rust-lang/crates.io
  3. [3] jobs/backfill_cache_tags: Remove copy source encoding rust-lang/crates.io
  4. [4] Revert "jobs/backfill_cache_tags: Remove copy source encoding" (#14096) rust-lang/crates.io
  5. [5] Lock file maintenance (JS) ↗ rust-lang/crates.io
  6. [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

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.