Skip to main content

github-changelog

This is a small utility that generates a changelog between two git tags based on GitHub pull request titles as either plaintext or markdown.

An example might look like:

  • Improve test coverage for mygreatpackage.subpackage #1234
  • Add support for Python 3 #1233

Installing

pip install github-changelog

Using

changelog [-h] [-m] OWNER REPO [PREVIOUS] [CURRENT]

The changelog command takes a GitHub repository owner (user or organization), repository name and zero, one, or two tags to limit the set of changes to consider. If no tags are provided, the changelog will be computed between the latest tag and HEAD. One tag may be provided to set the base tag to compare against HEAD. Two tags may be provided to specify both base tag and ending tag. The generated changelog will list all GitHub pull requests that have been merged between the specified or inferred tags. If -m is specified the output will be formatted in markdown and include links to the pull requests.

Pull request merges are identified by their commit message, usually taking the form of Merge pull request #123…. Squash-and-merged pull requests are identified by having the PR number in parentheses at the end of first line of the commit message.

Examples

changelog cfpb github-changelog

Will generate a text changelog between the latest tag and HEAD.

changelog cfpb github-changelog 1.0.0

Will generate a text changelog between 1.0.0 and HEAD.

changelog -m cfpb github-changelog 1.0.0 1.0.1

Will generate a markdown changelog between 1.0.0 and 1.0.1.

Overriding the Default Branch

The default branch is set to main. To override this, use the optional --branch argument to specify a different branch. For example:

changelog owner some-repo \
--branch "production"

GitHub Enterprise Support

Use the optional --github-base-url, --github-api-url, and --github-token arguments to connect to a GitHub Enterprise instance. For example:

changelog owner some-repo \
--github-base-url "https://github.company.com" \
--github-api-url "https://github.company.com/api/v3" \
--github-token secret-value

Getting help

Please add issues to the issue tracker.

Getting involved

General instructions on how to contribute can be found in CONTRIBUTING.

Open source licensing info

  1. TERMS
  2. LICENSE
  3. CFPB Source Code Policy

Metadata

Release files for github-changelog 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for github-changelog 1.5.0
File Size Uploaded Provenance
github-changelog-1.5.0.tar.gz 11.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for github-changelog 1.5.0
File Interpreter ABI Platform
github_changelog-1.5.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 22.1 kB

Release files / github-changelog-1.5.0.tar.gz

Download URL github-changelog-1.5.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c099c73c7e5eb60569ff236873bb2ea8669cef9aaff5b8cddcebba328188550c
BLAKE2b-256 checksum
How to use checksums
85f54e1e08c7fbb1f001b0f13c4cd71250b88bdbe94140cb58b17e5b826048aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Release files / github_changelog-1.5.0-py2.py3-none-any.whl

Download URL github_changelog-1.5.0-py2.py3-none-any.whl
Size 10.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
85b7c873dd23c216dc6431f0848fe5e4357932a15ea39d5d06038441cc0fb40f
BLAKE2b-256 checksum
How to use checksums
922859b57f4980edfbee95264e94239f2c7949451e24ef14b8c76faca1ad4642
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Security for github-changelog 1.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page