From 8537de45d33c7e431fb43d72f59c28d55465ef34 Mon Sep 17 00:00:00 2001 From: Trent Blackburn Date: Fri, 28 Aug 2026 14:20:29 -0400 Subject: [PATCH 1/2] docs: Conform CHANGELOG to the Keep a Changelog format it declares The file's header states it follows Keep a Changelog, but three released sections did not. Keep a Changelog defines exactly six change types (Added, Changed, Deprecated, Removed, Fixed, Security), and the version heading form is `## [x.y.z] - YYYY-MM-DD`. - 0.7.1 used `### Fixes`, which is not a type. Renamed to `### Fixed`. - 0.3.0 used `### Breaking changes`, which is not a type either. Its one entry describes a refactor of existing configuration surface, not a removal, so it is folded into the sibling `### Changed` section and carries the inline `**Breaking:**` marker this file already uses in the Unreleased section. The marker keeps the information the heading carried; the entry wording is unchanged. - Eleven version headings (0.5.0 through 0.8.2) omitted the ` - ` separator before the date, while 0.4.0 and older included it. Added the separator so every released heading reads the same way. No entry wording or meaning was changed anywhere, and the Unreleased section is untouched. There is no CHANGELOG entry for this commit: the changelog documents user-facing changes to the shipped module, and reformatting the changelog itself is not one. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01U1Jhu7fgTRJq7LK5MuKteE --- CHANGELOG.md | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84b6dd4..98c8b7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -246,7 +246,7 @@ Everything below is the detail, one entry per issue. gating at all. The comparison is now strictly more permissive than before, so a build that passed with a coverage threshold set still passes. -## [0.8.2] 2026-07-08 +## [0.8.2] - 2026-07-08 ### Fixed @@ -260,7 +260,7 @@ Everything below is the detail, one entry per issue. Companion to [#128](https://github.com/psake/PowerShellBuild/pull/128), which fixes the same gap in this repository's own build file. -## [0.8.1] 2026-06-03 +## [0.8.1] - 2026-06-03 ### Fixed @@ -273,7 +273,7 @@ Everything below is the detail, one entry per issue. Windows (matching the existing pattern in `Build-PSBuildUpdatableHelp`). Behavior on PowerShell 7+ is unchanged. -## [0.8.0] 2026-02-20 +## [0.8.0] - 2026-02-20 ### Added @@ -297,7 +297,7 @@ Everything below is the detail, one entry per issue. - Remove extra backticks during localization text migration. -## [0.7.3] 2025-08-01 +## [0.7.3] - 2025-08-01 ### Added @@ -305,7 +305,7 @@ Everything below is the detail, one entry per issue. run. - Add localization support. -## [0.7.2] 2025-05-21 +## [0.7.2] - 2025-05-21 ### Added @@ -321,13 +321,13 @@ Everything below is the detail, one entry per issue. - `$PSBPreference.Test.OutputVerbosity` can be set to **None**, **Normal**, **Detailed**, and **Diagnostic**. The default value is **Detailed**. -## [0.7.1] 2025-04-01 +## [0.7.1] - 2025-04-01 -### Fixes +### Fixed - Fix a bug in `Build-PSBuildMarkdown` where a hashtable item was added twice. -## [0.7.0] 2025-03-31 +## [0.7.0] - 2025-03-31 ### Changed @@ -340,7 +340,7 @@ Everything below is the detail, one entry per issue. dependencies by allowing them to be overwritten with `$PSBPreference.TaskDependencies`. -## [0.6.2] 2024-10-06 +## [0.6.2] - 2024-10-06 ### Changed @@ -361,13 +361,13 @@ Everything below is the detail, one entry per issue. output fle format not working (via [@OpsM0nkey](https://github.com/OpsM0nkey)) -## [0.6.1] 2021-03-14 +## [0.6.1] - 2021-03-14 ### Fixed - Fixed bug in IB task `GenerateMarkdown` when dot sourcing precondition -## [0.6.0] 2021-03-14 +## [0.6.0] - 2021-03-14 ### Changed @@ -375,7 +375,7 @@ Everything below is the detail, one entry per issue. brought inline with psake equivalents (via [@JustinGrote](https://github.com/JustinGrote)) -## [0.5.0] 2021-02-27 +## [0.5.0] - 2021-02-27 ### Added @@ -458,12 +458,11 @@ Everything below is the detail, one entry per issue. 'Public' folder when dot sourcing functions in PSM1 (via [@pauby](https://github.com/pauby)) -### Breaking changes - -- Refactor build properties into a single hashtable `$PSBPreference` - ### Changed +- **Breaking:** Refactor build properties into a single hashtable + `$PSBPreference` + - [**#11**](https://github.com/psake/PowerShellBuild/pull/11) The Invoke-Build tasks are now auto-generated from the psake tasks via a converter script (via [@JustinGrote](https://github.com/JustinGrote)) From db231a55599f1e420b7b9d20a3a0b38f3df94bcb Mon Sep 17 00:00:00 2001 From: Trent Blackburn Date: Fri, 28 Aug 2026 14:44:22 -0400 Subject: [PATCH 2/2] docs: Spell the 0.5.0 prerelease the way the format requires ## [0.5.0] (beta1) - 2020-11-15 -> ## [0.5.0-beta1] - 2020-11-15 This was left out of the first pass as a content decision rather than a formatting one, on the reasoning that rewriting a released version's identifier asserts something about how it was published, and that no v0.5.0-beta1 tag corroborates it. That reasoning was sound but the conclusion does not hold: "0.5.0 (beta1)" and "0.5.0-beta1" say the same thing, and the second is the spelling both Semantic Versioning and Keep a Changelog use for a prerelease. Nothing is being asserted that the parenthetical did not already assert. Two things improve for free. The file no longer carries two headings labelled [0.5.0]. A duplicate identifier makes the version ambiguous to a reader and unlinkable to a tool, and it is part of why the linkability question raised in this pull request has no clean answer -- one label cannot serve two releases. And it is the last heading in the file that the Keep a Changelog format check rejects. That check is proposed for the shared module workflow in psake/.github#8, and psake/PowerShellBuild is its only consumer today, so this heading was the one thing standing between that workflow and a green run here. Verified: the check now passes over this branch, 496 lines, no findings. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01U1Jhu7fgTRJq7LK5MuKteE --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98c8b7d..054d7fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -385,7 +385,7 @@ Everything below is the detail, one entry per issue. - `$PSBPreference.Test.CodeCoverage.OutputFileFormat` - Code coverage output format -## [0.5.0] (beta1) - 2020-11-15 +## [0.5.0-beta1] - 2020-11-15 ### Added