Skip to main content

Command line interface for managing CHANGELOG.md files

Project description

PyPI version Build Status Code Health Coverage Status PyPI

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.

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
changelog_cli-0.3.4-py2.py3-none-any.whl (9.0 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Jun 10, 2017
changelog-cli-0.3.4.tar.gz (5.8 kB) Copy SHA256 hash SHA256 Source None Jun 10, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page