Immutable releases are releases where the assets and associated Git tag cannot be changed after publication. The use of this type of release increases security by blocking supply chain attacks.
Attackers cannot:
- Inject vulnerabilities or malware into current project releases.
- Make changes to assets and tags that may break developer workflows.
The releases tags and artefacts can be also cryptographically verified.
Can you not create another release by the same name?
The release tags cannot be changed or removed from the commit they were applied to. You cannot reuse a tag.
Immutable releases include protection against repository resurrection attacks. Even if you delete a repository and create a new one with the same name, you cannot reuse tags that were associated with immutable releases in the original repository.
Tags are locked to a specific commit. So you won’t be able to create a different release with the same tag. Even deleting the repo and creating a new one won’t allow you to reuse the same tag, unless you change the repo name.
https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/immutable-releases