Changelog Plugin

Use this plugin to manage CHANGELOG.yaml and CHANGELOG.md files

CHANGELOG.md

# Changelog


## unreleased
### added
- a feature was added
### fixed
- a bug was fixed

## 1.0.0
### added
- initial release

CHANGELOG.yaml

unreleased:
  added:
    - a feature was added
  fixed:
    - a bug was fixed

1.0.0:
  added:
    - initial release

Config Example

ctl:
  plugins:

    - type: changelog
      name: changelog
      config:
        # you can paths for the files here
        # these are also exposed to the CLI
        # data_file: CHANGELOG.yaml
        # md_file: CHANGELOG.md


  permissions:
    - namespace: ctl
      permission: crud

Generate .yaml from .md

ctl changelog generate_datafile

Generate .md from .yaml

ctl changelog generate

Generate a fresh .yaml file

ctl changelog generate_clean

Note new release

This will make a new section in the CHANGELOG.yaml file for the specified release version and move all the items that exist in unreleased to it

This can only be done if a CHANGELOG.yaml file exists, CHANGELOG.md is not a valid target for this operation

ctl changelog release 1.0.0

Usage

Plugin name

This usage documentation assumes that the plugin instance name is changelog

usage: ctl changelog [-h]
                     {generate,generate_datafile,generate_clean,release} ...

optional arguments:
  -h, --help            show this help message and exit

Operation:
  {generate,generate_datafile,generate_clean,release}
    generate            generate CHANGELOG.md
    generate_datafile   generate CHANGELOG.yaml from CHANGELOG.md
    generate_clean      generate fresh CHANGELOG.(yaml|json) file
    release             Create new section for release and move all items
                        under unreleased to it - requires a
                        CHANGELOG.(yaml|json) file. Will regenerate the
                        CHANGELOG.md file after

generate

usage: ctl changelog generate [-h] [--print] [--data-file DATA_FILE]
                              [--md-file MD_FILE]

optional arguments:
  -h, --help            show this help message and exit

  --print               if set no file will be generated and output will be
                        printed to console instead.
  --data-file DATA_FILE
                        path to a changelog data file (CHANGELOG.yaml)
  --md-file MD_FILE     path to a changelog markdown file (CHANGELOG.md)

generate_datafile

usage: ctl changelog generate_datafile [-h] [--print] [--data-file DATA_FILE]
                                       [--md-file MD_FILE]

optional arguments:
  -h, --help            show this help message and exit

  --print               if set no file will be generated and output will be
                        printed to console instead.
  --data-file DATA_FILE
                        path to a changelog data file (CHANGELOG.yaml)
  --md-file MD_FILE     path to a changelog markdown file (CHANGELOG.md)

generate_clean

usage: ctl changelog generate_clean [-h] [--data-file DATA_FILE]

optional arguments:
  -h, --help            show this help message and exit
  --data-file DATA_FILE
                        path to a changelog data file (CHANGELOG.yaml)

release

usage: ctl changelog release [-h] [--data-file DATA_FILE] version

positional arguments:
  version               release version

optional arguments:
  -h, --help            show this help message and exit
  --data-file DATA_FILE
                        path to a changelog data file (CHANGELOG.yaml)