Skip to content

docs: correct what is editable on an immutable release - #45730

Open
koistya wants to merge 1 commit into
github:mainfrom
koistya:fix/immutable-releases-editable-fields
Open

docs: correct what is editable on an immutable release#45730
koistya wants to merge 1 commit into
github:mainfrom
koistya:fix/immutable-releases-editable-fields

Conversation

@koistya

@koistya koistya commented Sep 2, 2026

Copy link
Copy Markdown

Why:

Closes: #45718

"Managing releases in a repository" says that under immutable releases you "can only edit the title and release notes after a release is published." That allowlist is wrong, and it contradicts Immutable releases, which lists exactly two enforced protections: Git tags cannot be moved, and release assets cannot be modified or deleted.

Measured on a repository with immutable releases enabled, against a published prerelease carrying one asset:

  • Accepted — editing the title and notes, and PATCH /repos/{owner}/{repo}/releases/{release_id} with prerelease=false and make_latest=legacy; the release stays "immutable": true.
  • Rejected — uploading an asset (422 Cannot upload assets to an immutable release), deleting an asset, and moving the tag (push declined by repository rules).

Read literally, the old note rules out a release process that immutability actually supports: publish a prerelease, verify the assets over the public download path, then promote it. A draft release is not public, so that path cannot be exercised before publication.

What's being changed:

  • managing-releases-in-a-repository.md — the note under "Editing a release" becomes a denylist matching the concepts page: no adding, replacing, or deleting assets and no moving the tag, with the title, notes, pre-release and latest flags still editable.
  • immutable-releases.md — adds a "What you can still change" section, and a sentence under "Best practices" for the publish-as-prerelease, verify, promote flow, using the UI labels from data/reusables/releases/edit-release.md.

Both name the editable fields explicitly rather than as examples of a larger set: name, body, prerelease and make_latest were measured; tag_name, target_commitish, draft and discussion_category_name were not, so the wording claims nothing about them.

Check off the following:

  • A subject matter expert (SME) has reviewed the technical accuracy of the content in this PR. In most cases, the author can be the SME. Open source contributions may require an SME review from GitHub staff.
  • The changes in this PR meet the docs fundamentals that are required for all content.
  • All CI checks are passing and the changes look good in the review environment.

Copilot AI balanced review requested due to automatic review settings September 2, 2026 20:48
@github-actions github-actions Bot added the triage Do not begin working on this issue until triaged by the team label Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

How to review these changes 👓

Thank you for your contribution. To review these changes, choose one of the following options:

A Hubber will need to deploy your changes internally to review.

Table of review links

Note: Please update the URL for your staging server or codespace.

The table shows the files in the content directory that were changed in this pull request. This helps you review your changes on a staging server. Changes to the data directory are not included in this table.

Source Review Production What Changed
code-security/concepts/supply-chain-security/immutable-releases.md fpt
ghec
ghes@ 3.22 3.21 3.20
fpt
ghec
ghes@ 3.22 3.21 3.20
repositories/releasing-projects-on-github/managing-releases-in-a-repository.md fpt
ghec
ghes@ 3.22 3.21 3.20 3.19 3.18 3.17
fpt
ghec
ghes@ 3.22 3.21 3.20 3.19 3.18 3.17

Key: fpt: Free, Pro, Team; ghec: GitHub Enterprise Cloud; ghes: GitHub Enterprise Server

🤖 This comment is automatically generated.

@koistya
koistya force-pushed the fix/immutable-releases-editable-fields branch from 9099d47 to 42bd42e Compare September 2, 2026 20:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The restriction list omits that an immutable release’s tag cannot be deleted while the release exists.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Corrects documentation about editable fields on immutable releases.

Changes:

  • Clarifies immutable release restrictions.
  • Documents prerelease verification and promotion.
File summaries
File Description
managing-releases-in-a-repository.md Updates editing guidance.
immutable-releases.md Documents editable fields and verification workflow.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

"Managing releases in a repository" claimed that only the title and
release notes can be edited after an immutable release is published.
Measured against a repository with immutable releases enabled, a
published release also accepts changes to its pre-release and latest
flags and stays immutable; what is rejected is uploading or deleting
assets and moving the tag. The allowlist also contradicted the concepts
page, which lists exactly those two protections.

Replace it with a denylist, and document on the concepts page that a
release can be published as a pre-release, verified over the public
download path a draft does not offer, and then promoted.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage Do not begin working on this issue until triaged by the team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Immutable releases: "you can only edit the title and release notes" is inaccurate

2 participants