Skip to content

Commit d423660

Browse files
Prepare for release 6.4
1 parent e6045f1 commit d423660

File tree

23 files changed

+136
-128
lines changed

23 files changed

+136
-128
lines changed

.claude/CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@../AGENTS.md
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
2-
agent: agent
3-
tools: ['edit/editFiles', 'search/codebase', 'search/readFile', 'problems', 'changes', 'runTests']
2+
name: code-review
43
description: 'Perform a systematic code review of all source files, focusing on security, performance, backwards compatibility, and design principles.'
54
---
65

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
2-
agent: agent
3-
tools: ['edit/editFiles', 'search/readFile', 'search/codebase', 'problems', 'changes']
2+
name: doc-comments
43
description: 'Ensure that C# and C++/CLI types are documented with XML comments and follow best practices for documentation.'
54
---
65

76
# C# and C++/CLI Documentation Best Practices
87

9-
- Public members should be documented with XML comments.
8+
- All public members in the entire solution should be documented with XML comments.
109
- It is encouraged to document internal members as well, especially if they are complex or not self-explanatory.
1110

1211
## Guidance for all APIs
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
name: release-preparation
3+
description: 'Prepare the DSInternals project for a new release by updating version numbers, release notes, and changelog.'
4+
---
5+
6+
# Release Preparation Guide
7+
8+
## Copyright Year Updates
9+
10+
If releasing in a new calendar year, update the copyright information first.
11+
12+
## Files to Update
13+
14+
### 1. Assembly Version and NuGet Release Notes
15+
16+
C# project files - Update `<Version>` and `<PackageReleaseNotes>`:
17+
- [DSInternals.Common.csproj](../../../Src/DSInternals.Common/DSInternals.Common.csproj)
18+
- [DSInternals.DataStore.csproj](../../../Src/DSInternals.DataStore/DSInternals.DataStore.csproj)
19+
- [DSInternals.Replication.csproj](../../../Src/DSInternals.Replication/DSInternals.Replication.csproj)
20+
- [DSInternals.SAM.csproj](../../../Src/DSInternals.SAM/DSInternals.SAM.csproj)
21+
22+
C# project files - Update `<Version>` only (not packable):
23+
- [DSInternals.ADSI.csproj](../../../Src/DSInternals.ADSI/DSInternals.ADSI.csproj)
24+
- [DSInternals.Replication.Model.csproj](../../../Src/DSInternals.Replication.Model/DSInternals.Replication.Model.csproj)
25+
- [DSInternals.PowerShell.csproj](../../../Src/DSInternals.PowerShell/DSInternals.PowerShell.csproj)
26+
27+
C++/CLI interop library:
28+
- [version.h](../../../Src/DSInternals.Replication.Interop/version.h) - Update `VERSION_MAJOR`, `VERSION_MINOR`, `VERSION_REVISION`, `VERSION_BUILD`.
29+
30+
> [!NOTE]
31+
> Only increment the version number if the respective assembly has changes or its dependencies have changed.
32+
33+
### 2. PowerShell Module Manifest
34+
35+
[DSInternals.psd1](../../../Src/DSInternals.PowerShell/DSInternals.psd1) - Update `ModuleVersion` and `ReleaseNotes` in the PowerShell module manifest file.
36+
37+
> [!NOTE]
38+
> `ModuleVersion` must match the assembly version (e.g., `6.3` for assembly `6.3.0.0`).
39+
40+
### 3. Chocolatey Package Specification
41+
42+
[dsinternals-psmodule.nuspec](../../../Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec) - Update `<releaseNotes>` in the Chocolatey package specification.
43+
44+
### 4. Changelog
45+
46+
[CHANGELOG.md](../../../Documentation/CHANGELOG.md) - Add new version section following [Keep a Changelog](https://keepachangelog.com/) format. Update comparison links at the bottom.
47+
48+
## Release Notes Consistency
49+
50+
Release notes should be consistent across files:
51+
- **CHANGELOG.md**: Most detailed, follows Keep a Changelog format with sections (Added, Changed, Fixed, etc.)
52+
- **DSInternals.psd1** and **dsinternals-psmodule.nuspec**: Should match each other and contain a relevant subset of the changelog (user-visible changes only)
53+
54+
## Release Preparation Process
55+
56+
1. Update all files listed above with the new version and release notes
57+
2. Build the solution.
58+
3. Verify version consistency across all files by running the following Pester tests:
59+
- [Integration.Tests.ps1](../../../Src/DSInternals.PowerShell/Tests/Integration.Tests.ps1) verifies module/assembly version match
60+
- [Documentation.Tests.ps1](../../../Src/DSInternals.PowerShell/Tests/Documentation.Tests.ps1) verifies changelog contains current version
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: update-copyright-year
3+
description: 'Update copyright year references across the project at the beginning of each calendar year.'
4+
---
5+
6+
# Yearly Copyright and License Update
7+
8+
This prompt helps update all copyright year references in the DSInternals project at the beginning of each new calendar year.
9+
10+
## Files to Update
11+
12+
The following files contain copyright year references that need to be updated:
13+
14+
- [LICENSE.md](../../../LICENSE.md) - Main project license (MIT License)
15+
- [Src/Directory.Build.props](../../../Src/Directory.Build.props) - MSBuild properties for all projects
16+
- [Src/DSInternals.Replication.Interop/version.h](../../../Src/DSInternals.Replication.Interop/version.h) - Version header for native interop library
17+
- [Src/DSInternals.PowerShell/DSInternals.psd1](../../../Src/DSInternals.PowerShell/DSInternals.psd1) - PowerShell module manifest
18+
- [Src/DSInternals.PowerShell/License.txt](../../../Src/DSInternals.PowerShell/License.txt) - License file included in binary distributions
19+
- [Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec](../../../Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec) - Chocolatey package specification
20+
21+
## Important Notes
22+
23+
- The start year (2015) should **never** change - it represents when the project was first created.
24+
Only the end year should be updated to the current year.
25+
- The copyright holder name "Michael Grafnetter" should not be changed.
26+
- Third-party copyright notices should **not** be modified.
27+
- No other content in these files should be altered, only the year values. This applies to whitespaces as well.

.github/prompts/release.prompt.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

.github/prompts/update-copyright-year.prompt.md

Lines changed: 0 additions & 28 deletions
This file was deleted.

AGENTS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# GitHub Copilot Instructions for DSInternals
1+
# Agent Instructions for DSInternals
22

33
## Project Overview
44

@@ -22,7 +22,8 @@ and the [PowerShell module documentation](Documentation/PowerShell/Readme.md) fo
2222

2323
## Build Instructions
2424

25-
> **Important:** The `Src` directory must be the working directory for all build and test commands due to the `global.json` SDK configuration.
25+
> [!IMPORTANT]
26+
> The `Src` directory must be the working directory for all build and test commands due to the `global.json` SDK configuration.
2627
2728
### Building C# Projects Only
2829

@@ -38,7 +39,7 @@ dotnet build DSInternals.DotNetSdk.slnf
3839
dotnet build DSInternals.Common
3940
```
4041

41-
> **Note:** The `dotnet build` command cannot compile C++/CLI projects. Use MSBuild or Visual Studio for full builds including the PowerShell module:
42+
**Note:** The `dotnet build` command cannot compile C++/CLI projects. Use MSBuild or Visual Studio for full builds including the PowerShell module:
4243

4344
```powershell
4445
cd Src

Documentation/CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ All notable changes to this project will be documented in this file. The format
99

1010
- Nothing yet.
1111

12+
## [6.4] - 2026-03-28
13+
14+
### Changed
15+
16+
- Switched `CborMap.ToJson` to source-generated `System.Text.Json` serialization.
17+
18+
### Fixed
19+
20+
- Fixed MS-SAMR authentication.
21+
- Fixed an arithmetic overflow in the [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet when using an empty dictionary file.
22+
1223
## [6.3] - 2026-02-08
1324

1425
### Added
@@ -704,7 +715,8 @@ This is a [Chocolatey](https://chocolatey.org/packages/dsinternals-psmodule)-onl
704715
## 1.0 - 2015-01-20
705716
Initial release!
706717

707-
[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.3...HEAD
718+
[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.4...HEAD
719+
[6.4]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.3...v6.4
708720
[6.3]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.2...v6.3
709721
[6.2]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.1.1...6.2
710722
[6.1.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.1...v6.1.1

Src/DSInternals.ADSI/DSInternals.ADSI.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<Version>6.3</Version>
3+
<Version>6.4</Version>
44
<AssemblyTitle>DSInternals ADSI Library</AssemblyTitle>
55
</PropertyGroup>
66

0 commit comments

Comments
 (0)