Managing releases in a repository
You can create releases to bundle and deliver iterations of a project to users.
Who can use this feature?
Repository collaborators and people with write access to a repository can create, edit, and delete a release.
Tool navigation
About release management
You can create new releases with release notes, @mentions of contributors, and links to binary files, as well as edit or delete existing releases. You can also create, modify, and delete releases by using the Releases API. For more information, seeREST API endpoints for releases in the REST API documentation.
You can also publish an action from a specific release in GitHub Marketplace. For more information, seePublishing actions in GitHub Marketplace.
You can choose whether Git Large File Storage (Git LFS) objects are included in the ZIP files and tarballs that GitHub creates for each release. For more information, seeManaging Git LFS objects in archives of your repository.
Creating a release
Tip
If you have enabled immutable releases for your repository, it's recommended to create releases as drafts first, attach all assets, and then publish. This ensures all assets are in place before the release becomes immutable. For more information, seeImmutable releases.
On GitHub, navigate to the main page of the repository.
To the right of the list of files, clickReleases.

At the top of the page, clickDraft a new release.
To choose a tag for the release, select theChoose a tag dropdown menu.
- To use an existing tag, click the tag.
- To create a new tag, type a version number for your release, then clickCreate new tag.
If you created a new tag, select theTarget dropdown menu, then click the branch that contains the project you want to release.
Optionally, above the description field, select thePrevious tag dropdown menu, then click the tag that identifies the previous release.

In the "Release title" field, type a title for your release.
In the "Describe this release" field, type a description for your release.If you @mention anyone in the description, the published release will include aContributors section with an avatar list of all the mentioned users.Alternatively, you can automatically generate your release notes by clickingGenerate release notes.
Optionally, to include binary files such as compiled programs in your release, drag and drop or manually select files in the binaries box.
Optionally, to notify users that the release is not ready for production and may be unstable, selectThis is a pre-release.
Optionally, selectSet as latest release. If you do not select this option, the latest release label will automatically be assigned based on semantic versioning.
Optionally, if GitHub Discussions is enabled for the repository, create a discussion for the release.
- SelectCreate a discussion for this release.
- Select theCategory dropdown menu, then click a category for the release discussion.
If you're ready to publicize your release, clickPublish release. To work on the release later, clickSave draft. If you have enabled immutable releases for the repository, creating a draft first allows you to attach all assets before the release becomes immutable.You can then view your published or draft releases in the releases feed for your repository. For more information, seeViewing your repository's releases and tags.
Note
To learn more about GitHub CLI, seeAbout GitHub CLI.
To create a release, use the
gh release createsubcommand. Replacetagwith the desired tag for the release.gh release create TAGFollow the interactive prompts. Alternatively, you can specify arguments to skip these prompts. For more information about possible arguments, seethe GitHub CLI manual. For example, this command creates a prerelease with the specified title and notes.
gh release create v1.3.2 --title "v1.3.2 (beta)" --notes "this is a public preview release" --prereleaseIf you @mention any GitHub users in the notes, the published release will include aContributors section with an avatar list of all the mentioned users.
Editing a release
Note
If you have enabled immutable releases for your repository, you can only edit the title and release notes after a release is published. SeeImmutable releases.
On GitHub, navigate to the main page of the repository.
To the right of the list of files, clickReleases.

Next to the release you want to edit, click.

Edit the details for the release in the form, then clickUpdate release. If you add or remove any @mentions of GitHub users in the description, those users will be added or removed from the avatar list in theContributors section of the release.
To edit a release, use the
gh release editsubcommand. ReplaceTAGwith the tag representing the release you wish to edit. For example, to edit the title for a release, use the following code, replacingNEW-TITLEwith the updated title:gh release edit TAG -t "NEW-TITLE"For more information about possible arguments, seethe GitHub CLI manual.
Deleting a release
On GitHub, navigate to the main page of the repository.
To the right of the list of files, clickReleases.

On the right side of the page, next to the release you want to delete, click.

ClickDelete this release.
To delete a release, use the
gh release deletesubcommand. Replacetagwith the tag of the release to delete. Use the-yflag to skip confirmation.gh release delete TAG -y