https://github.com/ap0llo/changelog
ChangeLog is a tool to generate a change log from a project's git history using "Conventional Commits".
https://github.com/ap0llo/changelog
changelog conventional-changelog conventional-commits release-notes
Last synced: about 1 month ago
JSON representation
ChangeLog is a tool to generate a change log from a project's git history using "Conventional Commits".
- Host: GitHub
- URL: https://github.com/ap0llo/changelog
- Owner: ap0llo
- License: mit
- Created: 2020-02-01T15:45:37.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2026-01-14T16:31:33.000Z (about 1 month ago)
- Last Synced: 2026-01-14T19:55:58.575Z (about 1 month ago)
- Topics: changelog, conventional-changelog, conventional-commits, release-notes
- Language: C#
- Homepage:
- Size: 2.59 MB
- Stars: 12
- Watchers: 1
- Forks: 4
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.sln
- License: LICENSE
Awesome Lists containing this project
README
# ChangeLog
[](https://www.nuget.org/packages/Grynwald.ChangeLog)
[](https://www.myget.org/feed/ap0llo-changelog/package/nuget/Grynwald.ChangeLog)
[](https://dev.azure.com/ap0llo/OSS/_build/latest?definitionId=17&branchName=master)
[](https://dev.azure.com/ap0llo/OSS/_build/latest?definitionId=17&branchName=master)
[](https://conventionalcommits.org)
[](https://renovatebot.com/)
## Overview
ChangeLog is a tool to generate a change log based from a project's git history
using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
## Documentation
- [Getting started](./docs/getting-started.md)
- [Configuration](./docs/configuration.md)
- [Integrations](./docs/integrations.md)
- [Templates](./docs/templates/README.md)
- [Commandline Reference](./docs/commandline-reference/index.md)
- [Automatic References](./docs/auto-references.md)
- [Commit Message Overrides](./docs/message-overrides.md)
## Building from source
ChangeLog is a .NET application.
Building it from source requires the .NET SDK (the SDK version is defined in [global.json](./global.json)) and uses [Cake](https://cakebuild.net/) for the build.
To execute the default task, run
```ps1
.\build.ps1
```
This will build the project, run all tests and pack the NuGet package.
## Issues
If you run into any issues or if you are missing a feature, feel free
to open an [issue](https://github.com/ap0llo/changelog/issues).
I'm also using issues as a backlog of things that come into my mind or
things I plan to implement, so don't be surprised if many issues were
created by me without anyone else being involved in the discussion.
## Acknowledgments
This project was made possible through a number of libraries and tools (aside from .NET Core).
Thanks to all the people contributing to these projects:
- [Nerdbank.GitVersioning](https://github.com/AArnott/Nerdbank.GitVersioning/)
- [FluentValidation](https://fluentvalidation.net/)
- [LibGit2Sharp](https://github.com/libgit2/libgit2sharp)
- [CommandLineParser](https://github.com/gsscoder/commandline)
- [Microsoft.Extensions.Configuration](https://github.com/dotnet/extensions)
- [Microsoft.Extensions.Logging](https://github.com/dotnet/extensions)
- [NuGet.Versioning](https://github.com/NuGet/NuGet.Client)
- [OctoKit](https://github.com/octokit/octokit.net)
- [GitLabApiClient](https://github.com/nmklotas/GitLabApiClient)
- [Autofac](https://autofac.org/)
- [ApprovalTests](https://github.com/approvals/ApprovalTests.Net)
- [Moq](https://github.com/moq/moq4)
- [Newtonsoft.Json](https://www.newtonsoft.com/json)
- [Mono.Cecil](https://github.com/jbevain/cecil/)
- [xUnit](http://xunit.github.io/)
- [Coverlet](https://github.com/coverlet-coverage/coverlet)
- [ReportGenerator](https://github.com/danielpalme/ReportGenerator)
- [NetArchTest](https://github.com/BenMorris/NetArchTest)
- [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn)
- [Markdig](https://github.com/lunet-io/markdig)
- [SourceLink](https://github.com/dotnet/sourcelink)
- [Scriban](https://github.com/lunet-io/scriban)
- [Spectre.Console](https://spectresystems.github.io/spectre.console/)
- [Xunit.Combinatorial](https://github.com/AArnott/Xunit.Combinatorial)
- [CliWrap](https://github.com/Tyrrrz/CliWrap)
- [Zio](https://github.com/xoofx/zio)
- [Cake](https://cakebuild.net/)
- [Cake.BuildSystems.Module](https://github.com/cake-contrib/Cake.BuildSystems.Module)
## Versioning and Branching
The version of the library is automatically derived from git and the information
in `version.json` using [Nerdbank.GitVersioning](https://github.com/AArnott/Nerdbank.GitVersioning):
- The master branch always contains the latest version. Packages produced from
master are always marked as pre-release versions (using the `-pre` suffix).
- Stable versions are built from release branches. Build from release branches
will have no `-pre` suffix
- Builds from any other branch will have both the `-pre` prerelease tag and the git
commit hash included in the version string
To create a new release branch use the [`nbgv` tool](https://www.nuget.org/packages/nbgv/)
(at least version `3.0.24`):
```ps1
dotnet tool install --global nbgv
nbgv prepare-release
```