ChangeLog
Overview
ChangeLog is a tool to generate a change log based from a project's git history using Conventional Commits.
Documentation
- Getting started
- Configuration
- Integrations
- Templates
- Commandline Reference
- Automatic References
- Commit Message Overrides
Building from source
ChangeLog is a .NET Core application. Building it from source requires the .NET 6 SDK (version 6.0.101 as specified in global.json) and uses Cake for the build.
To execute the default task, run
.\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.
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
- FluentValidation
- LibGit2Sharp
- CommandLineParser
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Logging
- NuGet.Versioning
- OctoKit
- GitLabApiClient
- Autofac
- ApprovalTests
- Moq
- Newtonsoft.Json
- Mono.Cecil
- xUnit
- Coverlet
- ReportGenerator
- NetArchTest
- Microsoft.CodeAnalysis.CSharp
- Markdig
- SourceLink
- Scriban
- Spectre.Console
- Xunit.Combinatorial
- CliWrap
- Zio
- Cake
- 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:
- 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
(at least version 3.0.24
):
dotnet tool install --global nbgv
nbgv prepare-release