Skip to main content

Command line interface for managing CHANGELOG.md files

Project description

# Changelog CLI

[![PyPI version](https://badge.fury.io/py/changelog-cli.svg)](https://badge.fury.io/py/changelog-cli)
[![Build Status](https://travis-ci.org/mc706/changelog-cli.svg?branch=master)](https://travis-ci.org/mc706/changelog-cli)
[![Code Health](https://landscape.io/github/mc706/changelog-cli/master/landscape.svg?style=flat)](https://landscape.io/github/mc706/changelog-cli/master)
[![Coverage Status](https://coveralls.io/repos/github/mc706/changelog-cli/badge.svg?branch=master)](https://coveralls.io/github/mc706/changelog-cli?branch=master)
[![PyPI](https://img.shields.io/pypi/pyversions/changelog-cli.svg)](https://pypi.org/project/changelog-cli/)
[![Stories in Ready](https://badge.waffle.io/mc706/changelog-cli.png?label=ready&title=Ready)](https://waffle.io/mc706/changelog-cli?utm_source=badge)


A command line interface for managing your CHANGELOG.md files. Designed to make it easy to manage your repositories
release history according to [Keep a Changelog](http://keepachangelog.com/).

## Installation
install using `pip` via:

```
pip install changelog-cli
```


## How To
To keep an accurate changelog, whenenever you commit a change that affects how end users use
your project, use this command line tool to add a line to the changelog.

If you added a new feature, use something like `changelog new "added feature x"`. This will add a
line to your `CHANGELOG.md` under the `### New` section.

When you are ready for release, run `changelog release` and that will infer the correct semantic
version based on the types of changes since the last release. For example your `new` change should
prompt a `minor (0.X.0)` release. A `breaks` change would prompt a `major (X.0.0)` version bump and `fix` or `change` changes
would prompt a `patch (0.0.X)`.

You can manually override what type of of release via `changelog release --minor` using the `--patch`, `--minor` or `--major`
flags.


## Commands
`changelog init` -> Creates a CHANGELOG.md with some basic documentation in it.

`changelog (new|change|fix|breaks) "<message>"` -> adds a line to the appropriate section

`changelog release (--major|minor|patch|suggest) (--yes)` -> Cuts a release for the changelog, incrementing the version.

`changelog current` -> returns the current version of the project based on the changelog

`changelog suggest` -> returns the suggested version of the next release based on the current logged changes

`changelog --version` -> get the current version of the changelog tool

`changelog --help` -> show helps screen

## Shortcut
If you get tired of typing out `changelog` for every command, it can also be accessed via its shorthand `cl`

## Example Usage
```
>>> changelog current
1.4.1
>>> changelog new "add new feature x"
>>> changelog suggest
1.5.0
>>> changelog breaks "removing key feature y"
>>> cl release
Planning on releasing version 2.0.0. Proceed? [y/N]: n
>>> cl release --minor
>>> cl current
1.5.0
```

Example Changelog as a result of the above

```
# CHANGELOG

All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Changelog](http://keepachangelog.com/).


## Unreleased
---

### New

### Changes

### Fixes

### Breaks


## 1.5.0 - (2017-06-09)
---

### New
* add new feature x

### Breaks
* remove key feature y


## 1.4.1 - (2017-05-29)
---

### Changes
* updating documentation


...
```

Project details


Download files

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

Source Distribution

changelog-cli-0.5.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changelog_cli-0.5.1-py2.py3-none-any.whl (9.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file changelog-cli-0.5.1.tar.gz.

File metadata

  • Download URL: changelog-cli-0.5.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for changelog-cli-0.5.1.tar.gz
Algorithm Hash digest
SHA256 80d8deadcc4014abb059fb2fd0c67f81a4f6b0fccf45efb6a1e362acde3fa8a2
MD5 3128a4f1a1d5727ce62894da0debff83
BLAKE2b-256 2c682ae9db69098716fd533389e27729d7ebf438d3ae15df1c366ee426459a8f

See more details on using hashes here.

File details

Details for the file changelog_cli-0.5.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for changelog_cli-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a79f8f958673edf389cdecabbe5b67b96188018873a2e4892a45dcafad461247
MD5 8bca61b6bd301a4ee3b953a751d1ab28
BLAKE2b-256 f5531ae51017294077e5cf9aab296a3c0550822f602b938c9431109b4f900302

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page