Surveyor 0.7.2

dotnet tool install --global Surveyor --version 0.7.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Surveyor --version 0.7.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Surveyor&version=0.7.2
                    
nuke :add-package Surveyor --version 0.7.2
                    

About

A CLI tool to handle essential CI/CD tasks such as:

Version Numbering

Determine assembly and package version numbers by analyzing conventional commit messages and determining whether files have changed since the last version published to a NuGet feed.

  • Each project, assembly, or package in a solution is versioned independently so new versions are only released if the assembly has changed, as opposed to publishing every package in the repository.
  • Analyses commit messages formatted according to the Conventional Commits specification to determine whether a version bump should be a patch, minor, or major release.
  • Version numbers follow the Semantic Versioning 2 specification.
  • Version numbers are recorded as git tags ensuring full compatibility with your existing workflow.
  • Per branch versioning gives the flexibility to simultaneously develop v2.0.0 while providing patches for your v1 branch.
  • Pre-release versioning is fully supported via alpha, beta, and rc branches.

Generating Release Notes

Generate release notes by analyzing conventional commit messages and grouping them by type (breaking changes, features, fixes, etc.).

How to Use

Install as a .NET Core Global Tool:

dotnet tool install --global surveyor --prerelease

Determine the version number for the current working directory:

Surveyor version

Determine the version number for a repository:

Surveyor version --Versioning:Directory "/e/Repos/C#/Example/StudioLE.Example.Cli/src"

Determine the version number for a specific project:

Surveyor project-version --Versioning:Package "StudioLE.Example" --Versioning:Directory "/e/Repos/C#/Example/StudioLE.Example.Cli/src"

Generate release notes for all changes since the last tagged version of the current working directory:

Surveyor release-notes

Use Surveyor from GitHub Actions:

https://github.com/StudioLE/Actions/blob/7c6aea58c211d6411dc428bfb4b5fb0077884a0e/.github/workflows/02-release.yml#L55-L99

How it Works

The CLI logic is handled by Program.cs which calls activities defined in the Surveyor.Core project. The inputs for the activities are assigned by the Options pattern providing versatility to define the inputs via command line arguments, environment variables, or configuration files.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.7.2 199 2/22/2025