This release process is currently under review: #561
Raygun4Net is published on nuget.org under the mindscapehq account.
This package follows semantic versioning.
Given a version number MAJOR.MINOR.PATCH (x.y.z), increment the:
- MAJOR version when you make incompatible changes
- MINOR version when you add functionality in a backward compatible manner
- PATCH version when you make backward compatible bug fixes
To learn more about semantic versioning check: https://semver.org/
There are 3 variables for building which represent the version numbering.
-
assemblyVersion: The assembly version should be set to the major version, because of this it won't be prompted, it needs to be updated when we do a major version release. When the version being released is8.1.0the assembly version must stay as8.0.0and only when we do an API change or have a valid reason to increment the major version will we change it to9.0.0 -
version: Version is the current version for the release that is signed into the assembly, regardless of the Package Version. i.e.8.1.0 -
packageVersion:PackageVersionis used by NuGet, this should be the same asversionexcept you can change it if you need to, i.e. to include-pre-1to indicate that8.1.0is prerelease version 1. Enter in8.1.0-pre-1when prompted.
To build releases, you will need access to our CD/CI pipeline.
Navigate to Providers /.NET (Crash Reporting) / Release.
Then tap on "Run" and when prompted introduce the value for the version and packageVersion.
Once the process ends, the packages will be created.
Download the built files to your machine.
Open NuGet.org and go to Upload.
Then upload the packages there.
Add a new entry in the CHANGELOG.md file.
Obtain a list of changes using the following git command:
git log --pretty=format:"- %s (%as)"
Then create a PR with the change.
Once the changelog has been updated, create a release tag as follows:
Go to https://github.com/MindscapeHQ/raygun4net/releases and create a new Release.
GitHub will create a tag for you, you don't need to create the tag manually.
You can also generate the release notes automatically.
