Git2SemVer

Git2SemVer is a Visual Studio and developer friendly Semantic Versioning and changelog generation framework for .NET solutions or projects using dotnet CLI or Visual Studio. Every build, on both developer boxes and the build system, without scripts or environment tools. Just add the NuGet package.

Automatic Versioning

Tutorials to add automatic Semantic versioning, from Conventional Commits, to your projects or solution.

Changelog Generation

Tutorials to generate changelog from Conventional Commits.

Git2SemVer.MSBuild

Current Version

A nuget package that adds a versioning task for every build.

Git2SemVer.Tool

Current Version

A dotnet tool nuget package providing command line versioning and changelog generation.

Git2SemVer leverages conventional commits to silently version .NET solutions and projects. The MSBuild Nuget packages adds Git2SemVer versioning to every build while the dotnet tool provides stand-alone use and changelog generation.


An example git workflow from a release 1.2.3 to the next release 2.0.0:

gitGraph
        commit id:"1.2.3+99"
        
        commit id:"1.2.3+100" tag:"1.2.3"
        branch feature/berry order: 1
        checkout feature/berry
        commit id:"1.2.4-beta.101"

        checkout main
        commit id:"1.2.4+102"
        branch feature/peach order: 3
        checkout feature/berry

        branch develop/berry order: 2
        checkout develop/berry
        commit id:"feat:berry 1.3.0-alpha.103"
        checkout feature/berry
        merge develop/berry id:"1.3.0-beta.104"
        checkout main
        merge feature/berry id:"1.3.0+105"

        checkout feature/peach
        commit id:"fix:bug1 1.2.4-beta.106"
        commit id:"feat!:peach 2.0.0-beta.107"
        checkout main
        merge feature/peach id:"2.0.0+108" tag:"v2.0.0"

        commit id:"2.0.1-beta.108"

An example generated draft (pre-release) changelog fragment: