SemanticRelease.CoreBehavior
1.0.3
dotnet add package SemanticRelease.CoreBehavior --version 1.0.3
NuGet\Install-Package SemanticRelease.CoreBehavior -Version 1.0.3
<PackageReference Include="SemanticRelease.CoreBehavior" Version="1.0.3" />
<PackageVersion Include="SemanticRelease.CoreBehavior" Version="1.0.3" />
<PackageReference Include="SemanticRelease.CoreBehavior" />
paket add SemanticRelease.CoreBehavior --version 1.0.3
#r "nuget: SemanticRelease.CoreBehavior, 1.0.3"
#:package SemanticRelease.CoreBehavior@1.0.3
#addin nuget:?package=SemanticRelease.CoreBehavior&version=1.0.3
#tool nuget:?package=SemanticRelease.CoreBehavior&version=1.0.3
SemanticRelease.Core
A .NET implementation of semantic versioning and release automation for .NET projects. This project is inspired by the semantic-release package for Node.js.
Overview
SemanticRelease.Core provides automated versioning and package publishing by analyzing commit messages. It follows the Semantic Versioning specification to determine the next version number based on the types of changes made.
Features
- Automatic version determination based on commit history
- Semantic versioning compliance
- Automatic CHANGELOG generation
- Git tag management
- Plugin-based architecture for extensibility
Installation
Install the NuGet package:
dotnet add package SemanticRelease.CoreBehavior
Dependencies
- .NET Standard 2.1
- LibGit2Sharp (for Git repository operations)
- SemanticRelease.Abstractions
Usage
The core plugin can be registered with the semantic release lifecycle:
var lifecycle = new SemanticLifecycle();
var corePlugin = new CorePlugin();
corePlugin.Register(lifecycle);
How It Works
The plugin analyzes your Git repository to:
- Find the last release tag
- Collect commits since that tag
- Analyze commit messages to determine the next version
- Update project files with the new version
- Generate a changelog
- Create a new Git tag
Configuration
Configuration is handled through a semantic-release.json
file in your project root, similar to the Node.js semantic-release package.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
This project was inspired by and based on concepts from the semantic-release package for Node.js, bringing similar functionality to the .NET ecosystem.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- LibGit2Sharp (>= 0.31.0)
- SemanticRelease.Abstractions (>= 1.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
## [1.0.3](https://github.com/DuncanMcPherson/semantic-core/compare/v1.0.2...v1.0.3) (2025-07-09)
### Bug Fixes
* add last tag data to the context ([6533a9e](https://github.com/DuncanMcPherson/semantic-core/commit/6533a9e432488a3983320b171f00c2dc8e79f111))