changelog - Generate a changelog from GitHub release notes
changelog
[options] [--
] owner/repo...
If GITHUB_TOKEN
is found in the environment, its value is applied to the
Authorization
header of requests to the GitHub REST API.
To generate a changelog for releases in one or more private GitHub repositories, a personal access token with read access to the contents of each repository must be provided.
Releases in public repositories can be read without a personal access token, but providing one is recommended anyway because unauthenticated requests are rate-limited to 60 per hour per originating IP address.
-
owner/repo...
One or more GitHub repositories with release notes.
The first repository passed to
changelog
is regarded as the primary repository. -
-n
,--name
name,...Name to use instead of owner/repo when referring to the repository.
May be given once per repository.
-
-r
,--releases
[=yes
|no
,...]Include releases found in the repository?
changelog
includes releases found in the primary repository by default. May be given once per repository.The default value is:
yes
-
-m
,--missing
[=yes
|no
,...]Report releases missing from the repository?
changelog
doesn't report missing releases by default. May be given once per repository.The default value is:
yes
-
-I
,--include
regexRegular expression for releases to include.
If not given, all releases are included.
Exclusions (
-X/--exclude
) are processed first. -
-X
,--exclude
regexRegular expression for releases to exclude.
If not given, no releases are excluded.
-
-F
,--from
tag_nameExclude releases before a given tag.
This option has no effect if no release with the given tag_name is found.
-
-T
,--to
tag_nameExclude releases after a given tag.
If no release with the given tag_name is found, an empty changelog is generated.
-
-h
,--headings
(auto
|secondary
|all
)Specify headings to insert above release notes.
In
auto
mode, headings are inserted above release notes contributed by repositories other than the primary repository, unless there is only one contributing repository for the release.In
secondary
mode, headings are always inserted above release notes contributed by repositories other than the primary repository.This option has no effect if
-1/--merge
is given.The default mode is:
auto
-
-1
,--merge
Merge release notes from all repositories.
If this option is given, Markdown-style lists are merged and de-duplicated on a best-effort basis.
-
-o
,--output
fileWrite output to a file.
If file already exists, content before the first version heading is preserved.
-
-f
,--flush
Flush cached release notes.
GitHub responses are cached for 10 minutes. Use this option to replace responses cached on a previous run.
-
-q
,--quiet
Only print warnings and errors.