# Manage GitHub Releases for the current repository.

## Synopsis

`hub release` [--include-drafts] [--exclude-prereleases] [-L LIMIT] [-f FORMAT]
`hub release` show [-f FORMAT] TAG
`hub release` create [-dpoc] [-a FILE] [-m MESSAGE|-F FILE] [-t TARGET] TAG
`hub release` edit [options] TAG
`hub release` download TAG [-i PATTERN]
`hub release` delete TAG

## Commands

With no arguments, shows a list of existing releases.

show

  Show GitHub release notes for TAG.

  With `--show-downloads`, include the "Downloads" section.

create

  Create a GitHub release for the specified TAG name. If git tag TAG does not exist, it will be created at TARGET (default: current branch).

edit

  Edit the GitHub release for the specified TAG name. Accepts the same options as create command. Publish a draft with `--draft=false`.

  Without `--message` or `--file`, a text editor will open pre-populated with the current release title and body. To re-use existing title and body unchanged, pass `-m ""`.

download

  Download the assets attached to release for the specified TAG.

delete

  Delete the release and associated assets for the specified TAG. Note that this does not remove the git tag TAG.

## Options

-d, --include-drafts

  List drafts together with published releases.

-p, --exclude-prereleases

  Exclude prereleases from the list.

-L, --limit

  Display only the first LIMIT releases.

-d, --draft

  Create a draft release.

-p, --prerelease

  Create a pre-release.

-a, --attach FILE

  Attach a file as an asset for this release.

  If FILE is in the "filename#text" format, the text after the "#" character is taken as asset label.

-m, --message MESSAGE

  The text up to the first blank line in MESSAGE is treated as the release title, and the rest is used as release description in Markdown format.

  When multiple `--message` are passed, their values are concatenated with a blank line in-between.

  When neither `--message` nor `--file` were supplied to `release create`, a text editor will open to author the title and description in.

-F, --file FILE

  Read the release title and description from FILE. Pass "-" to read from standard input instead. See `--message` for the formatting rules.

-e, --edit

  Open the release title and description in a text editor before submitting. This can be used in combination with `--message` or `--file`.

-o, --browse

  Open the new release in a web browser.

-c, --copy

  Put the URL of the new release to clipboard instead of printing it.

-t, --commitish TARGET

  A commit SHA or branch name to attach the release to, only used if TAG does not already exist (default: main branch).

-i, --include PATTERN

  Filter the files in the release to those that match the glob PATTERN.

-f, --format FORMAT

  Pretty print releases using FORMAT (default: "%T%n"). See the "PRETTY FORMATS" section of git-log(1) for some additional details on how placeholders are used in format. The available placeholders for issues are:

  %U: the URL of this release

  %uT: tarball URL

  %uZ: zipball URL

  %uA: asset upload URL

  %S: state (i.e. "draft", "pre-release")

  %sC: set color to yellow or red, depending on state

  %t: release name

  %T: release tag

  %b: body

  %as: the list of assets attached to this release

  %cD: created date-only (no time of day)

  %cr: created date, relative

  %ct: created date, UNIX timestamp

  %cI: created date, ISO 8601 format

  %pD: published date-only (no time of day)

  %pr: published date, relative

  %pt: published date, UNIX timestamp

  %pI: published date, ISO 8601 format

  %n: newline

  %%: a literal %

--color[=WHEN]

  Enable colored output even if stdout is not a terminal. WHEN can be one of "always" (default for `--color`), "never", or "auto" (default).

TAG

  The git tag name for this release.

## See also

hub(1), git-tag(1)