Skip to main content

Print a changelog from closed GitHub pull requests

Project description

A script that prints out a Markdown-formatted changelog snippet listing changes since the most recent release of a GitHub repo. The output is a list of closed pull requests since the repo’s last release, and follows conventions. You can copy the output, paste it into your changelog file, and then edit it.


$ unreleased hypothesis/client

Changes since hypothesis/client v1.24.1:

Please edit the output below before including it in the change log.
See for further advice.

Only include changes which are interesting to users of the package or
application, and use a description they will be able to understand.

## [Unreleased]

### Changed

- Multiple frame detection improvements

- Adding waitForFrameObserver in frame manipulation tests

- Allow "oauthEnabled" setting to be overridden in client config

- Replace selection tabs with view switcher (feature flagged)

- Convert Unicode service & tests to JS

- Set the visibleHighlights state for multiple Guests

- Frame destruction ([#472](

You can use xclip to copy the output directly into your clipboard instead of printing it to the terminal:

unreleased hypothesis/client | xclip -selection clipboard -i


  • Python 3
  • Git


pip install unreleased


Your current working directory must be the working tree of a local clone of the GitHub repo that you’re going to print a changelog for. You then provide the GitHub repo name as a command-line argument. For example to print changes for since the most recent release, cd into your local repo and run:

unreleased hypothesis/client

To print changes since version v1.24.1 instead, run:

unreleased hypothesis/client --tag v1.24.1

The version should be the name of a GitHub release of the repo.

For more options see unreleased --help.


How to release a new version of unreleased

You will need:

To publish a new release:

  1. Commit your new changes to git

  2. Increment the version number in

  3. Commit the version number change: git commit unreleased/ -m "Bump version number"

  4. Build the source and binary releases:

    python sdist
    python bdist_wheel
  5. Upload the releases to PyPI:

    twine upload dist/*
  6. That’s it! The PyPI package page should now show your new version, and existing users can upgrade to it by running pip install --upgrade unreleased.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for unreleased, version 0.1.0
Filename, size & hash File type Python version Upload date
unreleased-0.1.0-py2-none-any.whl (7.8 kB) View hashes Wheel py2
unreleased-0.1.0.tar.gz (6.0 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page