node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


github-changes NPM version

Generate a changelog based on merged pull requests or commit messages




npm install -g github-changes
Usage: github-changes [options]

   -o, --owner         (required) owner of the Github repository
   -r, --repository    (required) name of the Github repository
   -d, --data          (DEPRECATED) use pull requests or commits (choices: pulls, commits)  [commits]
   -b, --branch        name of the default branch  [master]
   -n, --tag-name      tag name for upcoming release  [upcoming]
   -a, --auth          prompt to auth with Github - use this for private repos and higher rate limits
   -k, --token         need to use this or --auth for private repos and higher rate limits
   -f, --file          name of the file to output the changelog to  []
   -t, --title         title to appear in the top of the changelog  [Change Log]
   -z, --time-zone     time zone  [UTC]
   -m, --date-format   date format  [(YYYY/MM/DD HH:mm Z)]
   -v, --verbose       output details
   --host              alternate host name to use with github enterprise  []
   --path-prefix       path-prefix for use with github enterprise
   --between-tags      only diff between these two tags, separate by 3 dots ...
   --for-tag           only get changes for this tag
   --issue-body        (DEPRECATED) include the body of the issue (--data MUST equal 'pulls')
   --no-merges         do not include merges
   --only-merges       only include merges
   --only-pulls        only include pull requests
   --use-commit-body   use the commit body of a merge instead of the message - "Merge branch..."
   --order-semver      use semantic versioning for the ordering instead of the tag date
   --reverse-changes   reverse the order of changes within a release (show oldest first)
   --hide-tag-names    hide tag names in changelog

Example usage

Generate changelog via pull requests

github-changes -o lalitkapoor -r github-changes -a --only-pulls --use-commit-body


## Change Log

### v1.0.3 (2016/08/19 08:25 +00:00)
- [#59]( added --time-zone option (@YuG1224)
- [#55]( Update README with correct links! (@PunkChameleon)

### v1.0.2 (2016/02/22 00:53 +00:00)
- [#53]( added --for-tag option to generate changelog for single tag (@ivpusic)

### v1.0.1 (2016/01/12 01:52 +00:00)
- [#52]( Update ghauth dependency (@nunorafaelrocha)

### v1.0.0 (2015/04/12 14:32 +00:00)
- [#47]( Add a Gitter chat badge to (@gitter-badger)

### v0.0.16 (2014/11/26 11:15 +00:00)
- [#30]( show changes between two tags (@lalitkapoor)

### v0.0.14 (2014/11/06 02:45 +00:00)
- [#41]( Aesthetic fixes (@nylen)
- [#46]( Add option to allow specifying the date format (@fixe)
- [#45]( Add option to allow specifying the changelog title (@fixe)

### v0.0.13 (2014/10/26 23:25 +00:00)
- [#42]( Fetch 100 tags per page (only 1 page for now) (@nylen)

### v0.0.12 (2014/09/02 05:37 +00:00)
- [#36]( PR links point to https://null/... (@lalitkapoor)
- [#35]( Update with Grunt Plugin Info (@PunkChameleon)


Generate changelog via commit messages

github-changes -o npm -r npm -a


## Change Log

### upcoming (2014/02/23 10:02 +00:00)
- [70fd532]( fix prune.js test with empty cache (@robertkowalski)
- [6fd6ff7]( Sort dependencies when --save'ing. (@domenic)
- [2ddd060]( add test, some boyscouting (@robertkowalski)
- [17f07df]( Add --save-exact config for --save[-dev|-optional]. (@timoxley)
- [4b51920]( Prevent creation of node_modules/npm-4503-c (@timoxley)
- [30b6783]( doc: update misc/ (@isaacs)

### v1.4.4 (2014/02/20 16:04 +00:00)
- [05d2490]( uid-number@0.0.4 (@isaacs)
- [3850441]( Document the --tag option of npm-publish (@kriskowal)
- [14e650b]( alias 't' to 'test' (@isaacs)
- [d50b826]( uid-number@0.0.5 (@isaacs)
- [cd7e4a2]( v1.4.4 (@isaacs)

### v1.4.3 (2014/02/17 04:37 +00:00)
- [3ce6905]( view: remove arbitrary cache limit (@isaacs)
- [bb6fb4d]( read-installed@1.0.0 (@isaacs)
- [caa7065]( new tests for read-installed (@isaacs)
- [401a642]( link: do not allow linking unnamed packages (@isaacs)
- [09223de]( Forbid deleting important npm dirs (@isaacs)
- [86028e9]( dedupe: respect dependency versions (@rafeca)
- [02d4322]( Follow redirects on curl|sh installer script (@isaacs)
- [8a26f6f]( Test for repo command (@isaacs)
- [acc4d02]( prune: Added back --production support (@davglass)
- [0a3151c]( default to ^ instead of ~ (@mikolalysenko)
- [9ae71de]( npm-registry-client@0.4.4 (@isaacs)
- [46d8768]( "install ./pkg@1.2.3" should install local module (@rlidwka)
- [f469847]( test: express is not in mocks, use underscore instead (@isaacs)


Using with Grunt

If you want to generate a changelog within a grunt workflow, a grunt plugin that can be utilized. To install:

npm install grunt-github-changes --save-dev

For further details and specifics on how to use (and to contribute), see grunt-github-changes.


How are squashed pull request matched?

When a pull request is merged with "Squash and merge", there isn't a merge commit. By checking the commit message for (#123) etc, we can match the correct pull request.