{"name":"Github-changelog-generator","tagline":"Automatically generate changelog from your tags, closed issues and merged pull requests.","body":"\r\n[![Gem Version](https://badge.fury.io/rb/github_changelog_generator.svg)](http://badge.fury.io/rb/github_changelog_generator)\r\n[![Build Status](https://travis-ci.org/skywinder/Github-Changelog-Generator.svg?branch=master)](https://travis-ci.org/skywinder/Github-Changelog-Generator)\r\n\r\nGitHub Changelog Generator\r\n==================\r\n\r\n - [Installation](#installation)\r\n - [Output example](#output-example)\r\n - [Usage](#usage)\r\n - [Params](#params)\r\n - [GitHub token](#github-token)\r\n - [Features and advantages of this project](#features-and-advantages-of-this-project)\r\n - [Alternatives](#alternatives)\r\n - [Projects using this library](#projects-using-this-library)\r\n - [Am I missed some essential feature?](#am-i-missed-some-essential-feature)\r\n - [Contributing](#contributing)\r\n - [License](#license)\r\n\r\n \r\n### Changelog generation has never been so easy:\r\n\r\n**Fully automate changelog generation** - This gem generate change log file based on **tags**, **issues** and merged **pull requests** (and split them to separate lists according labels) from :octocat: GitHub Issue Tracker.\r\n\r\nSince now you don't have to fill your `CHANGELOG.md` manually: just run script, relax and take a cup of :coffee: before your next release! :tada:\r\n\r\n>### *What’s the point of a change log?*\r\nTo make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.\r\n### *Why should I care?*\r\nBecause software tools are for people. If you don’t care, why are you contributing to open source? Surely, there must be a kernel (ha!) of care somewhere in that lovely little brain of yours.\r\n\r\n> :copyright: *[http://keepachangelog.com](http://keepachangelog.com/)*\r\n\r\n## Installation\r\n\r\n\t[sudo] gem install github_changelog_generator\r\n\r\n## Output example\r\n\r\n- Look at **[CHANGELOG.md](https://github.com/skywinder/Github-Changelog-Generator/blob/master/CHANGELOG.md)** for this project\r\n- [ActionSheetPicker-3.0/CHANGELOG.md](https://github.com/skywinder/ActionSheetPicker-3.0/blob/master/CHANGELOG.md) was generated by command:\r\n\r\n\t\tgithub_changelog_generator -u skywinder -p ActionSheetPicker-3.0\r\n\r\n- In general it looks like this:\r\n\r\n> ## [1.2.5](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.5) (2015-01-15)\r\n> \r\n> [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.4...1.2.5)\r\n> \r\n> **Implemented enhancements:**\r\n> \r\n> - Use milestone to specify in which version bug was fixed [\\#22](https://github.com/skywinder/Github-Changelog-Generator/issues/22)\r\n> \r\n> **Fixed bugs:**\r\n> \r\n> - Error when trying to generate log for repo without tags [\\#32](https://github.com/skywinder/Github-Changelog-Generator/issues/32)\r\n> \r\n> **Merged pull requests:**\r\n> \r\n> - PrettyPrint class is included using lowercase 'pp' [\\#43](https://github.com/skywinder/Github-Changelog-Generator/pull/43) ([schwing](https://github.com/schwing))\r\n> \r\n> - support enterprise github via command line options [\\#42](https://github.com/skywinder/Github-Changelog-Generator/pull/42) ([glenlovett](https://github.com/glenlovett))\r\n\r\n\r\n## Usage\r\n**It's really simple**: \r\n\r\n- If your **git remote** `origin` refer to your GitHub repo, then just go to your project folder and run:\r\n\r\n\t\tgithub_changelog_generator\r\n\r\n- or from anywhere:\r\n - `github_changelog_generator -u github_username -p github_project`\r\n - `github_changelog_generator github_username/github_project`\r\n \r\nAs output you will get `CHANGELOG.md` file with pretty *Markdown-formatted* changelog.\r\n\r\n### Params\r\nType `github_changelog_generator --help` for detailed usage.\r\n\r\n Usage: changelog_generator [options]\r\n -u, --user [USER] Username of the owner of target GitHub repo\r\n -p, --project [PROJECT] Name of project on GitHub\r\n -t, --token [TOKEN] To make more than 50 requests per hour your GitHub token required. You can generate it here: https://github.com/settings/tokens/new\r\n -f, --date-format [FORMAT] Date format. Default is %d/%m/%y\r\n -o, --output [NAME] Output file. Default is CHANGELOG.md\r\n --[no-]verbose Run verbosely. Default is true\r\n --[no-]issues Include closed issues to changelog. Default is true\r\n --[no-]issues-wo-labels Include closed issues without labels to changelog. Default is true\r\n --[no-]pr-wo-labels Include pull requests without labels to changelog. Default is true\r\n --[no-]pull-requests Include pull-requests to changelog. Default is true\r\n --[no-]filter-by-milestone Use milestone to detect when issue was resolved. Default is true\r\n --[no-]author Add author of pull-request in the end. Default is true\r\n --unreleased-only Generate log from unreleased closed issues only.\r\n --[no-]unreleased Add to log unreleased closed issues. Default is true\r\n --[no-]compare-link Include compare link between older version and newer version. Default is true\r\n --include-labels x,y,z Issues only with that labels will be included to changelog. Default is 'bug,enhancement'\r\n --exclude-labels x,y,z Issues with that labels will be always excluded from changelog. Default is 'duplicate,question,invalid,wontfix'\r\n --github-site [URL] The Enterprise Github site on which your project is hosted.\r\n --github-api [URL] The enterprise endpoint to use for your Github API.\r\n -v, --version Print version number\r\n -h, --help Displays Help\r\n\r\n\r\n### GitHub token\r\n\r\nSince GitHub allow to make only 50 requests without authentication it's recommended to run this script with token (`-t, --token` option)\r\n\r\n**You can easily [generate it here](https://github.com/settings/applications)**.\r\n\r\nAnd:\r\n\r\n- Run with key `-t [your-16-digit-token]` \r\n- Or set environment variable `CHANGELOG_GITHUB_TOKEN` and specify there your token. \r\n \t\t\r\n\ti.e. add to your `~/.bash_profile` or `~/.zshrc` or any other place to load ENV variables string :\r\n\r\n export CHANGELOG_GITHUB_TOKEN=\"your-40-digit-github-token\"\r\n\r\nSo, if you got error like this:\r\n>! /Library/Ruby/Gems/2.0.0/gems/github_api-0.12.2/lib/github_api/response/raise_error.rb:14:in `on_complete'\r\n\r\nIt's time to create this token or wait for 1 hour before GitHub reset the counter for your IP.\r\n\r\n##Features and advantages of this project\r\n- Generate canonical, neat change log file, followed by [basic change log guidlines](http://keepachangelog.com/) :gem:\r\n- Possible to generate **Unreleased** changes (closed issues that have not released yet) :dizzy:\r\n- **GitHub Enterprise support** via command line options! :factory:\r\n- Flexible format **customisation**:\r\n - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk:\r\n - **Custom date format** supported :date:\r\n - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version :pushpin:\r\n - Automatically **exclude specific issues**, not-related to change log (any issue, that has label `question` `duplicate` `invalid` `wontfix`by default) :scissors:\r\n- **Distinguish** issues **according labels**. :mag_right:\r\n - Merged pull requests (all `merged` pull-requests) :twisted_rightwards_arrows:\r\n - Bug fixes (by label `bug` in issue) :beetle:\r\n - Enhancements (by label `enhancement` in issue) :star2:\r\n - \tIssues (closed issues `w/o any labels`) :non-potable_water: \r\n\r\n- You manually can set which labels should be included/excluded. :wrench:\r\n- Apply a lot of other customisations, to fit changelog for your personal style :tophat: \r\n(*look `github_changelog_generator --help` for details)*\r\n\r\n\r\n###Alternatives\r\nHere is a [wikipage list of alternatives](https://github.com/skywinder/Github-Changelog-Generator/wiki/Alternatives), that I found. But no one was satisfy my requirements.\r\n\r\n*If you know other projects - feel free to edit this Wiki page!*\r\n\r\n\r\n### Projects using this library\r\n[Wikipage with list of projects](https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator) \r\n\r\n*If you are using `github_changelog_generator` for generation change log in your project or know another project that uses it, please add it to [this] (https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator) list.*\r\n\r\n## Am I missed some essential feature?\r\n\r\n- **Nothing is impossible!** \r\n\r\n- Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together! \r\n\r\n- *Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark:\r\n\r\n## FAQ\r\n\r\n- ***I already use GitHub Releases. Why do I need this?***\r\n\r\nGitHub Releases is a very good thing. And it's very good practice to maintain it (not so much people using it yet)! :congratulations: \r\n\r\nI'm not try to compare quality of auto-generated and manually generated logs.\r\n\r\nThe Changelog like this sometimes really helps. For example:\r\n\r\nWhen I found a closed bug - it's very useful to understand, in which release it was fixed. In that case you can easily find this issue by \\# in `CHANGELOG.md`.\r\n\r\n- it's not so quite easy to find it in manually filled Releases notes.\r\n- this file can also help you to build your Release note and not miss features in manually-filled list.\r\n\r\nIn the end:\r\n\r\nI think, that GitHub Releases is more for end-users.\r\nBut `CHANGELOG.md` could stay in the repo for developers with detailed list of changes.\r\nAnd it's nothing bad to combine GitHub Releases and `CHANGELOG.md` file together in that manner.\r\n\r\n## Contributing\r\n\r\n1. Create an issue to discuss about your idea\r\n2. [Fork it] (https://github.com/skywinder/Github-Changelog-Generator/fork)\r\n3. Create your feature branch (`git checkout -b my-new-feature`)\r\n4. Commit your changes (`git commit -am 'Add some feature'`)\r\n5. Push to the branch (`git push origin my-new-feature`)\r\n6. Create a new Pull Request\r\n7. Profit! :white_check_mark:\r\n\r\n## License\r\n\r\nGithub Changelog Generator is released under the [MIT License](http://www.opensource.org/licenses/MIT).\r\n","google":"UA-52127948-2","note":"Don't delete this file! It's used internally to help with page regeneration."}