https://github.com/l0nax/changelog-go
Changelog Management Tool written in Go || Mirror of https://gitlab.com/l0nax/changelog-go
https://github.com/l0nax/changelog-go
changelog changelog-formatter changelog-generator changelog-parser colaboration git git-flow git-workflow golang golang-tools
Last synced: 5 months ago
JSON representation
Changelog Management Tool written in Go || Mirror of https://gitlab.com/l0nax/changelog-go
- Host: GitHub
- URL: https://github.com/l0nax/changelog-go
- Owner: l0nax
- License: mit
- Created: 2020-01-02T15:28:50.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2025-01-08T08:39:28.000Z (over 1 year ago)
- Last Synced: 2025-10-17T07:42:25.340Z (8 months ago)
- Topics: changelog, changelog-formatter, changelog-generator, changelog-parser, colaboration, git, git-flow, git-workflow, golang, golang-tools
- Language: Go
- Size: 712 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# `changelog-go`
[](https://snapcraft.io/changelog)
[](https://goreportcard.com/report/gitlab.com/l0nax/changelog-go)
[](https://codeclimate.com/github/l0nax/changelog-go/maintainability)
A Changelog Management Tool written in Go which is compatible with Linux, Windows and Mac OS-X.
## Demo
[](https://asciinema.org/a/291463)
## Motivation
Think about that: You have a Project where you work with other 4-5 Peoples. How do you track changes so that they can
easily added to a Changelog File?
This Tool helps you to keep track of you Changelog (and changes) and its fully
compatible with (eg.) the Git Flow. This Tool does **not** aim to replace Tools
like _Jira_ moreover, it extends it. Create Changelog Files easily with one
Command (`changelog release `).
Feature branches can contain Changelog Entries and can be merged whenever you want!
It does not break the functionality.
**And** this Tool does _not_ disturb any other Tool (eg IDE, CI/CD, Artifact, ...)
## Features
- seamless integration into your Workflow and CI/CD environment
- works with Git, SVN, ... (every version control system)
- highly customizable
* `CHANGELOG.md` output can be easily changed without writting any code
* for internal and OpenSource Projects
- MIT license
- wide range of supported (and pre-compiled) Operating Systems
- keep track of changes made in your Project
- generates a changelog exactly the way you want it
- _free_ and _fast_ support
## Installation
There are many possibilities to install this Application.
### snap
[](https://snapcraft.io/changelog)
```bash
~] snap install changelog
```
### script
You can also install `changelog-go` via a shell script:
```bash
~] curl https://gitlab.com/l0nax/changelog-go/raw/master/install.sh | bash
```
### Homebrew
```bash
brew tap l0nax/changelog-go https://gitlab.com/l0nax/changelog-go
brew install changelog-go
```
### RPM/ Deb
```bash
### (1) download the file from https://gitlab.com/l0nax/changelog-go/-/releases
### (2) install it via
~] rpm -iv PATH/TO/FILE
# or
~] dep -iv PATH/TO/FILE
```
### binary
1. Download the binary file from the [Release Page](https://gitlab.com/l0nax/changelog-go/-/releases)
2. Add the Path to the binary to your `$PATH` environment variable
## Usage
_NOTE: You don't have to be at the root path (eg. where your `.git` relies) to
generate/ create a Changelog(-Entry)_
### Initialize directory
1. Run `changelog init` and edit the config file (`.changelog-go.toml`)
### Create a new change entry
1. Run `changelog new ""` and then choose from the list which category
is the best fit.
2. Add and commit the new Changelog File
Example:
```bash
## (1) create changelog entry
~] changelog new "Fix 'go pos'-Parser Bug"
Using config file: /root/.go/src/gitlab.com/l0nax/test/.changelog-go.toml
[0] New Feature (Added)
[1] Bug Fix (Fixed)
[2] Feature change (Changed)
[3] New deprecation (Deprecated)
[4] Feature removal (Removed)
[5] Security fix (Security)
[6] Other (Other)
>> 1
## (2) add and commit changelog Entry
~] git add .changelogs/unreleased/bugfix_P71128-114_bug-in-go-to-parser-gnAfCUyu
~] git commit -m "Add changelog entry"
## (3) push/ merge your changes or create (ie.) a Pull-Request
```
### Release a new version
Releasing a new Version is as simple as creating a new changelog entry:
1. Run `changelog release `
2. Add and Commit the new `CHANGELOG.md` and changed files under `.changelogs`
Example:
```bash
## (1) generate new changelog
~] changelog release 2.0.0
## (2) commit CHANGELOG.md and `.changelogs`
~] git add .changelogs CHANGELOG.md
~] git commit -m "Generating new CHANGELOG.md"
## (3) push/ merge your changes or create (ie.) a Pull-Request
```