From 4d61b210fa42579e1201e96da67e7540f182b670 Mon Sep 17 00:00:00 2001
From: mxtordev <64542491+mxtordev@users.noreply.github.com>
Date: Sun, 5 Jul 2026 22:36:35 +0200
Subject: [PATCH 1/5] Prepare 0.2.0 release
---
CHANGELOG.md | 23 +++++++++++++++++++++++
src/MergePatchDto/MergePatchDto.csproj | 2 +-
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 00282ea..81a599a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,28 @@
# Changelog
+## 0.2.0 - Unreleased
+
+Breaking changes:
+
+- Removed `[MergePatchTarget]`. Pass the target type directly to `[MergePatch(typeof(Target))]` instead.
+- Tightened generated `ApplyTo` validation so unsafe nullable-to-non-nullable assignments fail at build time.
+
+Added:
+
+- Support for inherited patch DTO properties.
+- Build-time diagnostics for more unsupported patch shapes and mappings, including generic, nested, abstract, record, required-member, constructor, duplicate-name, inaccessible-target, and open-generic-target cases.
+- Duplicate JSON property name diagnostics for explicit and naming-policy-derived names.
+
+Fixed:
+
+- Strict unknown-property handling now rejects unknown JSON members while reading the generated converter.
+- Property-level JSON converter detection now supports attributes derived from `JsonConverterAttribute`.
+- Release packaging now includes the analyzer and symbols in the expected NuGet package locations.
+
+Changed:
+
+- README and sample API docs now use the current `[MergePatch(typeof(Target))]` shape and `NoContent` PATCH responses.
+
## 0.1.0 - Initial release
MergePatchDto provides source-generated DTO presence tracking for merge-patch-style ASP.NET Core endpoints.
diff --git a/src/MergePatchDto/MergePatchDto.csproj b/src/MergePatchDto/MergePatchDto.csproj
index 7b61e91..f9070bd 100644
--- a/src/MergePatchDto/MergePatchDto.csproj
+++ b/src/MergePatchDto/MergePatchDto.csproj
@@ -5,7 +5,7 @@
disable
true
MergePatchDto
- 0.1.0
+ 0.2.0
Source-generated DTO presence tracking for merge-patch-style ASP.NET Core endpoints.
mxtordev
Copyright (c) 2026 mxtordev
From 50f296c4a9624fc9a937e75a6fd2b6cacdabdf2d Mon Sep 17 00:00:00 2001
From: mxtordev <64542491+mxtordev@users.noreply.github.com>
Date: Sun, 5 Jul 2026 22:38:46 +0200
Subject: [PATCH 2/5] Date 0.2.0 changelog
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 81a599a..b1b334a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
# Changelog
-## 0.2.0 - Unreleased
+## 0.2.0 - 2026-07-05
Breaking changes:
From 40f1d3f28ea45e4100c314ef66b0c765bf899c76 Mon Sep 17 00:00:00 2001
From: mxtordev <64542491+mxtordev@users.noreply.github.com>
Date: Sun, 5 Jul 2026 22:40:07 +0200
Subject: [PATCH 3/5] Use version-only changelog heading
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b1b334a..fadae48 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
# Changelog
-## 0.2.0 - 2026-07-05
+## 0.2.0
Breaking changes:
From a68f6e151b2057b3f7f754fec157c544428925dd Mon Sep 17 00:00:00 2001
From: mxtordev <64542491+mxtordev@users.noreply.github.com>
Date: Sun, 5 Jul 2026 22:49:24 +0200
Subject: [PATCH 4/5] Align 0.2.0 changelog with diff
---
CHANGELOG.md | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fadae48..56cd5c1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,20 +4,21 @@
Breaking changes:
-- Removed `[MergePatchTarget]`. Pass the target type directly to `[MergePatch(typeof(Target))]` instead.
-- Tightened generated `ApplyTo` validation so unsafe nullable-to-non-nullable assignments fail at build time.
+- Removed `[MergePatchTarget]`. Use `[MergePatch(typeof(Target))]` for the generated `ApplyTo` target; additional generated target overloads are no longer supported.
+- Generated converters now reject explicit JSON `null` for non-nullable reference patch properties.
+- Generated `ApplyTo` and `[PatchUsing]` validation now fail at build time when nullable patch values could flow into non-nullable target members or parameters.
Added:
-- Support for inherited patch DTO properties.
-- Build-time diagnostics for more unsupported patch shapes and mappings, including generic, nested, abstract, record, required-member, constructor, duplicate-name, inaccessible-target, and open-generic-target cases.
-- Duplicate JSON property name diagnostics for explicit and naming-policy-derived names.
+- Support for inherited patch DTO properties, including inherited JSON and mapping attributes.
+- Build-time diagnostics for record patch DTOs, open generic target types, less-accessible target types, duplicate inherited CLR property names, and duplicate explicit JSON property names.
+- Runtime JSON-name collision validation for naming-policy-derived and case-insensitive duplicate names.
Fixed:
-- Strict unknown-property handling now rejects unknown JSON members while reading the generated converter.
-- Property-level JSON converter detection now supports attributes derived from `JsonConverterAttribute`.
-- Release packaging now includes the analyzer and symbols in the expected NuGet package locations.
+- Strict unknown-property handling no longer needs to read an unknown property's value before rejecting it.
+- Property-level JSON converter handling now supports custom `JsonConverterAttribute` subclasses and factory-style converter attributes.
+- Release packaging no longer treats the generator project as a separate package and enables CI deterministic/source-link builds.
Changed:
From 0f077a44fae11f8b0e0434213517a96372129d91 Mon Sep 17 00:00:00 2001
From: mxtordev <64542491+mxtordev@users.noreply.github.com>
Date: Sun, 5 Jul 2026 22:52:03 +0200
Subject: [PATCH 5/5] Shorten 0.2.0 changelog
---
CHANGELOG.md | 24 +++++++-----------------
1 file changed, 7 insertions(+), 17 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 56cd5c1..b0d7884 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,25 +4,15 @@
Breaking changes:
-- Removed `[MergePatchTarget]`. Use `[MergePatch(typeof(Target))]` for the generated `ApplyTo` target; additional generated target overloads are no longer supported.
-- Generated converters now reject explicit JSON `null` for non-nullable reference patch properties.
-- Generated `ApplyTo` and `[PatchUsing]` validation now fail at build time when nullable patch values could flow into non-nullable target members or parameters.
+- Removed `[MergePatchTarget]`; use `[MergePatch(typeof(Target))]` for generated `ApplyTo`. Additional generated target overloads are no longer supported.
+- Non-nullable reference patch properties now reject explicit JSON `null`.
+- Nullable patch values now fail build-time validation when they would flow into non-nullable `ApplyTo` targets or `[PatchUsing]` parameters.
-Added:
+Changes:
-- Support for inherited patch DTO properties, including inherited JSON and mapping attributes.
-- Build-time diagnostics for record patch DTOs, open generic target types, less-accessible target types, duplicate inherited CLR property names, and duplicate explicit JSON property names.
-- Runtime JSON-name collision validation for naming-policy-derived and case-insensitive duplicate names.
-
-Fixed:
-
-- Strict unknown-property handling no longer needs to read an unknown property's value before rejecting it.
-- Property-level JSON converter handling now supports custom `JsonConverterAttribute` subclasses and factory-style converter attributes.
-- Release packaging no longer treats the generator project as a separate package and enables CI deterministic/source-link builds.
-
-Changed:
-
-- README and sample API docs now use the current `[MergePatch(typeof(Target))]` shape and `NoContent` PATCH responses.
+- Inherited patch DTO properties now participate in presence tracking, JSON metadata, and generated `ApplyTo`.
+- Added clearer diagnostics for unsupported patch shapes, inaccessible targets, duplicate names, and ambiguous mappings.
+- Fixed strict unknown-property rejection, property-level `JsonConverterAttribute` handling, and release packaging metadata.
## 0.1.0 - Initial release