| name | release-preparation |
| description | Prepare the DSInternals project for a new release by updating version numbers, release notes, and changelog. |
Release Preparation Guide
Copyright Year Updates
If releasing in a new calendar year, update the copyright information first.
Files to Update
1. Assembly Version and NuGet Release Notes
C# project files - Update <Version> and <PackageReleaseNotes>:
C# project files - Update <Version> only (not packable):
C++/CLI interop library:
- version.h - Update
VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD.
[!NOTE]
Only increment the version number if the respective assembly has changes or its dependencies have changed.
2. PowerShell Module Manifest
DSInternals.psd1 - Update ModuleVersion and ReleaseNotes in the PowerShell module manifest file.
[!NOTE]
ModuleVersion must match the assembly version (e.g., 6.3 for assembly 6.3.0.0).
3. Chocolatey Package Specification
dsinternals-psmodule.nuspec - Update <releaseNotes> in the Chocolatey package specification.
4. Changelog
CHANGELOG.md - Add new version section following Keep a Changelog format. Update comparison links at the bottom.
Release Notes Consistency
Release notes should be consistent across files:
- CHANGELOG.md: Most detailed, follows Keep a Changelog format with sections (Added, Changed, Fixed, etc.)
- DSInternals.psd1 and dsinternals-psmodule.nuspec: Should match each other and contain a relevant subset of the changelog (user-visible changes only)
Release Preparation Process
- Update all files listed above with the new version and release notes
- Build the solution.
- Verify version consistency across all files by running the following Pester tests: