Command line tool (and Node module) that generates a changelog in color output, markdown, or json for modules in's registry as well as any public repo.

npm install changelog
44 downloads in the last week
61 downloads in the last month
## changelog NPM version Build Status > Command line tool (and Node module) that generates a changelog in color output, markdown, or json for modules in's registry as well as any public repo. changelog ### Command-line Usage #### Node Modules in NPM Modules do not need to be installed to generate changelog but they must define their repository url in their package.json. Example using Express sh $ changelog {npm module name} [release] [options] npm module: The module name, such as express, npm, grunt, etc. #### Any Public Repository Changelog also works on any public Github repo. sh $ changelog { repo} [options] repo url: Urls can be any format, such as or or even just dylang/changelog. #### Help changelog --help Usage: changelog <npm module name> [versions] [options] changelog <github repo url> [versions] [options] Module name: $ changelog npm Github repo: $ changelog $ changelog isaacs/npm Versions: latest Default: Show only the latest versions. ex: $ changelog npm latest all Show all versions. ex: $ changelog npm all number Show that many recent versions. ex: $ changelog npm 3 n.n.n Show changes for a specific version. ex: $ changelog npm 1.3.11 Options: -c, --color Output as Color (terminal default) -m, --markdown Output as Github-flavored Markdown (file default) -j, --json Output as JSON -d, --debug Enable debugging -h, --help Display help and usage details #### More Examples More Examples ### Changelog API Changelog can be easily integrated into other tools. #### `changelog.generate(name, versions) name string, required NPM module name from registry. versions integer or semver, optional Number of versions, or the semver version to show. js var changelog = require('changelog'); changelog.generate(NpmPackageName, countOrVersions) .then(changelog.markdown); ````js var changelog = require('changelog'); changelog.generate('grunt') .then(showChanges); function showChanges(data) { //With npm each "version" corresponds to all changes for that build pushed on npm //With github each "version" is one GMT day of changes data.versions.forEach(function(version) { console.log(version.version); //currently npm projects only console.log(; //JS Date //version.changes is an array of commit messages for that version version.changes.forEach(function(change) { console.log(' ' + change); }); }); //Information about the project console.log(data.project); } ``` ### How it works * Changelog uses [ API]( to get the list of versions and the publish dates. * It cross-references the versions innpmwith the commit history from the [Github's API]( ### Inspiration [Dylan Greene]( built this because he was always curious what was changed when doingnpm update. This module's name is inspired by listening to [TheChangelog Podcast]( on the way to [work]( ### About the Author Hello fellow developer! My name is [Dylan Greene]( When not overwhelmed with my two kids I enjoy contributing to the open source community. I'm a tech lead at [Opower]( I lead a team using Grunt and Angular to build software that successfully helps people like us use less power. Not too long ago I co-created [Doodle or Die](, a hilarious web game with millions of doodles that won us Node Knockout for the "most fun" category. I'm [dylang]( on Twitter and other places. Some of my other Node projects: | Name | Description | Github Stars | Npm Installs | |---|---|--:|--:| | [grunt-notify]( | Automatic desktop notifications for Grunt errors and warnings using Growl for OS X or Windows, Mountain Lion and Mavericks Notification Center, and Notify-Send. | 619 | 52,208 | | [grunt-prompt]( | Interactive prompt for your Grunt config using console checkboxes, text input with filtering, password fields. | 144 | 6,885 | | [rss]( | RSS feed generator. A really simple API to add RSS feeds to any project. | 177 | 98,802 | | [shortid]( | Amazingly short non-sequential url-friendly unique id generator. | 129 | 22,984 | | [xml]( | Fast and simple xml generator. Supports attributes, CDATA, etc. Includes tests and examples. | 35 | 180,625 | | [anthology]( | Module information and stats for any @npmjs user | _New!_ | _TBD_ | | [grunt-attention]( | Display attention-grabbing messages in the terminal | _New!_ | 336 | | [observatory]( | Beautiful UI for showing tasks running on the command line. | _New!_ | 81 | | [logging]( | Super sexy color console logging with cluster support. | 21 | 8,793 | | [grunt-cat]( | Echo a file to the terminal. Works with text, figlets, ascii art, and full-color ansi. | _New!_ | 396 | _This list was generated using [anthology]( ### License Copyright (c) 2014 undefined, contributors. Released under the [MIT license]( Screenshots are [CC BY-SA]( (Attribution-ShareAlike). *** _Generated using [grunt-readme]( with [grunt-templates-dylang]( on Monday, February 10, 2014._ [![Bitdeli Badge](]( "Bitdeli Badge") [![Google Analytics](]( <!--- This file was automatically generated. Usegrunt readme` to regenerate. --->
npm loves you