Immutable releases are now generally available on GitHub

GitHub finally locks releases — the crowd cheers, groans, and yells “Wait, not already?”

TLDR: GitHub now offers “immutable releases,” locking files and tags and adding signed receipts to verify authenticity, boosting supply‑chain safety. Commenters are split: some are shocked this wasn’t default, others demand UI badges and runner transparency, while critics say GitHub should fix code reviews before adding new security features.

GitHub just put a big padlock on software releases with new immutable releases — once you publish, you can’t secretly swap files or move tags. There’s also a cryptographic receipt called an attestation so anyone can verify a release is legit using the GitHub CLI or Sigstore. It’s opt-in at the repo or org level, and old releases stay as-is unless republished. Security win, right? The comments did not hold back. The top-voted vibe: pure shock. One user basically screamed, “Wait, they weren’t already immutable?!” Others clapped, saying this closes a major supply-chain hole where bad actors could quietly slip in altered downloads. But the celebration had a heckler section: a jaded crowd says “cool feature, wrong priorities,” dragging GitHub’s code review experience and pining for a simpler, pre-rewrite era. Meanwhile, practical folks asked for receipts in the UI: a visible badge to show a repo uses immutability and whether Actions ran on GitHub’s own machines or a private runner. The policy nerds stirred drama too: why block deletion entirely, and how does that stop real attacks? The thread reads like security prom meets product therapy session — applause, eye-rolls, and feature requests flying. More details live on GitHub Docs and the Community forum.

Key Points

  • Immutable releases on GitHub lock assets from addition, modification, or deletion after publication.
  • Tags for new immutable releases are protected from deletion or movement.
  • Immutable releases include signed release attestations using the Sigstore bundle format.
  • Immutability can be enabled at the repository or organization level; all new releases then become immutable.
  • Verification is supported via GitHub CLI or Sigstore-compatible tools, and immutable releases remain immutable even if the setting is later disabled.

Hottest takes

"Wait?! They weren't immutable before?" — hoistbypetard
"The only thing that would fix this is for them to lose 20%+ of their customers" — bob1029
"Please add a small thing... to let users know the action was run by GitHub and not on a private runner" — rhodey
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.