PHPackages                             ergebnis/github-changelog - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. ergebnis/github-changelog

AbandonedArchivedLibrary[CLI &amp; Console](/categories/cli)

ergebnis/github-changelog
=========================

Provides a console command that generates a changelog based on titles of pull requests merged between specified references.

0.7.1(6y ago)49256[1 issues](https://github.com/ergebnis/github-changelog/issues)[17 PRs](https://github.com/ergebnis/github-changelog/pulls)MITPHPPHP ^7.2

Since Mar 2Pushed 4y ago1 watchersCompare

[ Source](https://github.com/ergebnis/github-changelog)[ Packagist](https://packagist.org/packages/ergebnis/github-changelog)[ Docs](https://github.com/ergebnis/github-changelog)[ RSS](/packages/ergebnis-github-changelog/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (16)Versions (35)Used By (0)

github-changelog
================

[](#github-changelog)

[![Integrate](https://github.com/ergebnis/github-changelog/workflows/Integrate/badge.svg)](https://github.com/ergebnis/github-changelog/actions)[![Prune](https://github.com/ergebnis/github-changelog/workflows/Prune/badge.svg)](https://github.com/ergebnis/github-changelog/actions)[![Release](https://github.com/ergebnis/github-changelog/workflows/Release/badge.svg)](https://github.com/ergebnis/github-changelog/actions)[![Renew](https://github.com/ergebnis/github-changelog/workflows/Renew/badge.svg)](https://github.com/ergebnis/github-changelog/actions)

[![Code Coverage](https://camo.githubusercontent.com/594b5e3351bfdea19a06cbea37b63a08a90bfbe87c6790d475e2e6cf150b3a89/68747470733a2f2f636f6465636f762e696f2f67682f65726765626e69732f6769746875622d6368616e67656c6f672f6272616e63682f6d61696e2f67726170682f62616467652e737667)](https://codecov.io/gh/ergebnis/github-changelog)[![Type Coverage](https://camo.githubusercontent.com/16ae004598de494771d2bbb1e4229c6319328ddb5763dcb208fbe308aee8da3e/68747470733a2f2f73686570686572642e6465762f6769746875622f65726765626e69732f6769746875622d6368616e67656c6f672f636f7665726167652e737667)](https://shepherd.dev/github/ergebnis/github-changelog)

[![Latest Stable Version](https://camo.githubusercontent.com/ed44c69ddcb27bc198b92d9478aab9ad7997f4cb1125c52930f964af21632359/68747470733a2f2f706f7365722e707567782e6f72672f65726765626e69732f6769746875622d6368616e67656c6f672f762f737461626c65)](https://packagist.org/packages/ergebnis/github-changelog)[![Total Downloads](https://camo.githubusercontent.com/bbe03cf0d4c99a263b2fb195a11437db72307c7ee7a2008e117fa33d37ee21ed/68747470733a2f2f706f7365722e707567782e6f72672f65726765626e69732f6769746875622d6368616e67656c6f672f646f776e6c6f616473)](https://packagist.org/packages/ergebnis/github-changelog)

Provides a script that generates a changelog based on titles of pull requests merged between specified references.

Is this the right tool for me?
------------------------------

[](#is-this-the-right-tool-for-me)

Probably not. There are a range of other tools that probably do a better job.

Take a look at

-
-
- [https://pypi.python.org/pypi?%3Aaction=search&amp;term=changelog](https://pypi.python.org/pypi?%3Aaction=search&term=changelog)

Nonetheless, for me and my projects, it's the second best thing after *manually*keeping a changelog as suggested at .

When will it work for me?
-------------------------

[](#when-will-it-work-for-me)

My processWill this tool work for me?I need elaborate changelogsNoI push directly into the default branchNo[![Rebase and merge](https://user-images.githubusercontent.com/605483/30547612-18674f5c-9c90-11e7-8c0c-b300a8abb30c.png)](https://user-images.githubusercontent.com/605483/30547612-18674f5c-9c90-11e7-8c0c-b300a8abb30c.png)No[![Squash and merge](https://user-images.githubusercontent.com/605483/30547621-1e1683fa-9c90-11e7-8233-fe41629d84d6.png)](https://user-images.githubusercontent.com/605483/30547621-1e1683fa-9c90-11e7-8233-fe41629d84d6.png)No[![Merge pull request](https://user-images.githubusercontent.com/605483/30547611-18656e26-9c90-11e7-9dd3-c49aaa9bb4bf.png)](https://user-images.githubusercontent.com/605483/30547611-18656e26-9c90-11e7-9dd3-c49aaa9bb4bf.png)**Yes**Why is this tool so limited?
----------------------------

[](#why-is-this-tool-so-limited)

All this tool does is this:

- it collects commits between references
- it matches commit messages against what is used by GitHub as a merge commit message
- it fetches the pull request title from the corresponding pull request
- it then uses all of the pull request titles to compile a list

CLI Tool
--------

[](#cli-tool)

### Global installation

[](#global-installation)

Install globally:

```
$ composer global require ergebnis/github-changelog
```

Create your changelogs from within a Git repository:

```
$ git clone git@github.com:ergebnis/github-changelog.git
$ cd github-changelog
$ github-changelog generate 0.1.1 0.1.2
```

Create your changelogs from anywhere, specifying the repository using the `--repository` option:

```
$ github-changelog generate --repository ergebnis/github-changelog 0.1.1 0.1.2
```

Enjoy the changelog:

```
- Fix: Catch exceptions in command (#37), by @localheinz
- Fix: Request 250 instead of 30 commits (#38), by @localheinz

```

### Local installation

[](#local-installation)

Install locally:

```
$ composer require --dev ergebnis/github-changelog
```

Create your changelog from within in your project:

```
$ vendor/bin/github-changelog generate ergebnis/github-changelog ae63248 main
```

Enjoy the changelog:

```
- Enhancement: Create ChangeLog command (#31), by @localheinz
- Fix: Assert exit code is set to 0 (#32), by @localheinz
- Enhancement: Add console application (#33), by @localheinz
- Fix: Readme (#34), by @localheinz
- Fix: Autoloading for console script (#35), by @localheinz
- Fix: Version foo with rebasing and whatnot (#36), by @localheinz
- Fix: Catch exceptions in command (#37), by @localheinz
- Fix: Request 250 instead of 30 commits (#38), by @localheinz

```

Userland Code
-------------

[](#userland-code)

Install locally:

```
$ composer require ergebnis/github-changelog
```

Retrieve pull requests between references in your application:

```
