Creates changelog based on the conventional commits. It is possible to change some substitutions in the template, or even to define your own template. See configuration for all options.

Custom template

The template language is handlebars. There should be at least 1 file template.hbs. All *.hbs files in the template directory will be loaded and are usable as partials.

The default template can be found here.

Examples

convco changelog > CHANGELOG.md

Usage

Writes out a changelog

Usage: convco changelog [OPTIONS] [REV]

Arguments:
  [REV]  [default: HEAD]

Options:
  -C <PATH>                          Run as if convco was started in <path> instead of the current working directory
  -p, --prefix <PREFIX>              Prefix used in front of the semantic version [default: v]
  -c, --config <CONFIG>
  -s, --skip-empty
  -m, --max-versions <MAX_VERSIONS>  Limits the number of version tags to add in the changelog
      --max-minors <MAX_MINORS>      Only print this number of minor versions
      --max-majors <MAX_MAJORS>      Only show this number of major versions
      --max-patches <MAX_PATCHES>    Only show this number of patch versions
  -n, --no-links                     Do not generate links. Overrides linkReferences and linkCompare in the config
      --merges                       Include conventional merge commits (commits with more than 1 parent) in the changelog
      --include-hidden-sections      Print hidden sections
  -P, --paths <PATHS>                Only commits that update those <paths> will be taken into account. It is useful to support monorepos
      --first-parent                 Follow only the first parent of merge commits. Commits from the merged branche(s) will be discarded
      --line-length <LINE_LENGTH>    Max line length before wrapping. This only makes sense if the template makes use of `` blocks
      --no-wrap                      Do not wrap lines. This only makes sense if the template makes use of `` blocks
  -u, --unreleased <UNRELEASED>      Change the title for the unreleased commits. If a semantic version is given, the title will be prefixed [default: Unreleased]
  -o, --output <OUTPUT>              Path to write the changelog to [default: -]
  -h, --help                         Print help