From ffa71566121ebe66d4d6030e2d6984f04f67f331 Mon Sep 17 00:00:00 2001 From: Morten Holt Date: Tue, 31 Mar 2026 08:30:06 +0200 Subject: [PATCH 1/2] Combine changelogs for SourceGenerator and Main, they are always in sync anyway --- .github/workflows/release.yml | 2 +- CLAUDE.md | 6 ++--- XrmPluginCore.SourceGenerator/CHANGELOG.md | 28 ---------------------- 3 files changed, 3 insertions(+), 33 deletions(-) delete mode 100644 XrmPluginCore.SourceGenerator/CHANGELOG.md diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 14ae21d..f198276 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,7 @@ jobs: - name: ✏️ Set source generator version from CHANGELOG.md shell: pwsh - run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.SourceGenerator/CHANGELOG.md -CsprojPath XrmPluginCore.SourceGenerator/XrmPluginCore.SourceGenerator.csproj + run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore/CHANGELOG.md -CsprojPath XrmPluginCore.SourceGenerator/XrmPluginCore.SourceGenerator.csproj - name: ✏️ Set implementations version from CHANGELOG.md shell: pwsh diff --git a/CLAUDE.md b/CLAUDE.md index 31ca31e..31de6db 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -396,9 +396,8 @@ Registration is automated using XrmSync (https://github.com/delegateas/XrmSync), ## Versioning Version numbers are managed through CHANGELOG.md files: -- `XrmPluginCore/CHANGELOG.md` for the main library +- `XrmPluginCore/CHANGELOG.md` for the main library and source generator (both use the same version) - `XrmPluginCore.Abstractions/CHANGELOG.md` for abstractions -- `XrmPluginCore.SourceGenerator/CHANGELOG.md` for the source generator. When updating the source generator version, the main library and version should also be updated to match. The `Set-VersionFromChangelog.ps1` script updates .csproj files from CHANGELOG during CI/CD. @@ -408,9 +407,8 @@ When developing or debugging the source generator, use the following workflow to ### Development Loop -1. **Update CHANGELOG versions** - Add a preview version to both: +1. **Update CHANGELOG version** - Add a preview version to: - `XrmPluginCore/CHANGELOG.md` - - `XrmPluginCore.SourceGenerator/CHANGELOG.md` Example: `### v1.2.3-preview.1 - 28 November 2025` diff --git a/XrmPluginCore.SourceGenerator/CHANGELOG.md b/XrmPluginCore.SourceGenerator/CHANGELOG.md deleted file mode 100644 index 2d19d5e..0000000 --- a/XrmPluginCore.SourceGenerator/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -### v1.2.6 - 27 February 2026 -* Add: Add using directives for generated image namespaces -* Fix: Handle ambiguous PreImage/PostImage usings with aliases - -### v1.2.5 - 22 January 2026 -* Fix: Avoid naming collisions on generated types when multiple plugins in the same assembly use Type-Safe Images -* Fix: Generate PreImage/PostImage types, even when handler signature does not match -* Fix: Refactored the image registration analyzer to always report XPC3002 for any AddImage usage, regardless of handler syntax (nameof, method reference, or lambda). -XPC3003 is now only reported for lambda invocation with the modern API. - -### v1.2.4 - 3 December 2025 -* Fix: Image wrappers now forward to the underlying strongly-typed entity type instead of the base Entity type - -### v1.2.3 - 28 November 2025 -* Fix: Generate PreImage/PostImage types even when handler signature doesn't match (fixes chicken-and-egg problem where types couldn't be used until they existed) -* Breaking: Reorganized diagnostic IDs by category (XPC1xxx=Info, XPC2xxx=Plugin structure, XPC3xxx=Style, XPC4xxx=Handler methods, XPC5xxx=Internal errors) - -### v1.2.2 - 27 November 2025 -* Fix: XPC4003 has been reduced to Warning to allow initial build to succeed -* Add: New rule XPC4006 (Error) to enforce handler signature correctness once generated types exist - -### v1.2.1 - 27 November 2025 -* Fix: Analyzer for XPC4005 to correctly identify lambda expressions in AddImage calls - -### v1.2.0 - 27 November 2025 -Initial release of XrmPluginCore SourceGenerator -* Add: Type-Safe Images feature with compile-time enforcement via source generator -* Add: Source analyzer rules with hotfixes and documentation to help use the Type-Safe Images feature correctly From 08d4b4348c45db1b18cda1f6e712e53e51b5aaa5 Mon Sep 17 00:00:00 2001 From: Morten Holt Date: Tue, 31 Mar 2026 08:32:43 +0200 Subject: [PATCH 2/2] Update CI pipeline --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebc1a77..565de15 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: - name: ✏️ Set source generator version from CHANGELOG.md shell: pwsh - run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore.SourceGenerator/CHANGELOG.md -CsprojPath XrmPluginCore.SourceGenerator/XrmPluginCore.SourceGenerator.csproj + run: ./scripts/Set-VersionFromChangelog.ps1 -ChangelogPath XrmPluginCore/CHANGELOG.md -CsprojPath XrmPluginCore.SourceGenerator/XrmPluginCore.SourceGenerator.csproj - name: ✏️ Set implementations version from CHANGELOG.md shell: pwsh