-
Notifications
You must be signed in to change notification settings - Fork 5
V10.4.0/xml support for minimal api #152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
96d5d31
c013dbc
3de9f86
bc5e7bc
09ad4a9
5d863a3
9cb7018
53c6a54
587651e
124ee90
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| --- | ||
| mode: agent | ||
| description: 'Prompt for populating commits to PackageReleaseNotes.txt files under .nuget/**' | ||
| --- | ||
|
|
||
| Purpose: deterministic, low-analysis instructions so automated runs populate release-note change bullets for the current unreleased version block. | ||
|
|
||
| Behavior (exact): | ||
| - For every file matching `.nuget/**/PackageReleaseNotes.txt`: | ||
| 1. Read line 1 and extract `current-version` from `Version: x.y.z` (strict semantic version format). | ||
| 2. Find the next line below line 1 that matches `Version:` and extract `previous-version` from `Version: x.y.z`. | ||
| 3. If either version cannot be extracted, do nothing for that file. | ||
| 4. Define the editable range as the lines after the first `Availability:` line in the current block and before the next `Version:` match (`previous-version`). | ||
| 5. Resolve release anchor tag by matching `previous-version` to git tag `v<previous-version>` first, then `<previous-version>`. | ||
| 6. If neither tag exists, do nothing for that file. | ||
| 7. Collect commits for that package from `tag(previous-version)..HEAD` using path scope derived from the package name: | ||
| - Package name = folder name under `.nuget/` for the file. | ||
| - Primary source path scope: `src/<PackageName>/**`. | ||
| 8. Convert commits to release-note bullets using the existing release-note style and headings in that file. | ||
| 9. Replace only the change-content area inside the current block range: | ||
| - Keep `Version:` and `Availability:` unchanged. | ||
| - Keep `# ALM` section untouched if already present. | ||
| - Populate or update `# New Features`, `# Improvements`, and `# Bug Fixes` as needed. | ||
| - Do not modify any content outside the current block range. | ||
| 10. Save the file in-place and continue to the next file. | ||
|
|
||
| Transformation rules (strict): | ||
| - Use heading names exactly: `# New Features`, `# Improvements`, `# Bug Fixes`. | ||
| - Use bullet style exactly: `- <VERB> <summary>` where `<VERB>` is uppercase and one of `ADDED`, `EXTENDED`, `CHANGED`, `OPTIMIZED`, `FIXED`, `REMOVED`. | ||
| - Keep one bullet per logical change; deduplicate repeated commit messages. | ||
| - Prefer imperative, product-facing summaries over raw commit text. | ||
| - Mention concrete type/member names and namespace when identifiable, matching existing tone. | ||
| - Preserve NBSP-only spacer lines (`U+00A0`) between sections. | ||
| - Alaways end with a newline followed by spacer lines (`U+00A0`) between sections. | ||
| - Do not reorder historical sections and do not rewrite previous version blocks. | ||
|
|
||
| Tag and range rules: | ||
| - The comparison baseline is always `previous-version` (the next `Version:` in the same file), not `current-version`. | ||
| - Commit range is `tag(previous-version)..HEAD`. | ||
| - Ignore merge commits unless they contain meaningful release-note content not present in child commits. | ||
| - If range contains no relevant commits for the scoped paths, leave the current block unchanged. | ||
|
|
||
| Notes: | ||
| - Do not infer target versions from changelog text; parse only explicit `Version: x.y.z` lines. | ||
| - Keep edits minimal and strictly inside the current version block. | ||
| - DO NOT REMOVE THE ASCII 0xA0 NBSP CHARACTERS OR RUN ANY SORT OF TRIM on spacer lines. | ||
| - Do not open PRs or create branches. | ||
|
|
||
| Example run command (agent): | ||
| `run: /nuget-populate` | ||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,9 @@ | ||
| Version: 10.4.0 | ||
| Availability: .NET 10 and .NET 9 | ||
|
|
||
| # ALM | ||
| - CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) | ||
|
|
||
|
Comment on lines
+1
to
+6
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Document the 10.4.0 public API changes in this package’s release notes. The new 10.4.0 block currently lists only dependency upgrades, but this PR introduces user-facing XML/minimal-API functionality. Please add explicit API notes (e.g., Proposed release-note addition Version: 10.4.0
Availability: .NET 10 and .NET 9
+# API
+- ADDED `XmlSerializerOptions.FlattenCollectionItems` to enable flattened collection item serialization.
+- ADDED `IServiceCollection.AddMinimalXmlOptions(...)` for minimal API XML formatter registration.
+- CHANGED enumerable XML conversion to support flattened output for collections/dictionaries when enabled.
+
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)As per coding guidelines, “Update per-package release notes in 🤖 Prompt for AI Agents |
||
| Version: 10.3.0 | ||
| Availability: .NET 10 and .NET 9 | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,3 +1,9 @@ | ||||||||||||||||||||||||||||||||||||
| Version: 10.4.0 | ||||||||||||||||||||||||||||||||||||
| Availability: .NET 10 and .NET 9 | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # ALM | ||||||||||||||||||||||||||||||||||||
| - CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1
to
+6
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add the missing 10.4.0 public API notes to this package release entry. The new Proposed release-notes update Version: 10.4.0
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
+
+# Improvements
+- ADDED `AddMinimalXmlOptions(IServiceCollection, Action<XmlFormatterOptions>?)` extension for minimal API XML formatter registration
+- ADDED `XmlSerializerOptions.FlattenCollectionItems` to control flattened collection item element naming
+- CHANGED XML enumerable/dictionary serialization to support flattened item output when enabled
+- CHANGED default XML conversion flow to avoid redundant child element wrapping when a dedicated converter existsAs per coding guidelines: “ 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||
| Version: 10.3.0 | ||||||||||||||||||||||||||||||||||||
| Availability: .NET 10 and .NET 9 | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,3 +1,9 @@ | ||||||||||||||||||||||||||||||||||||||||
| Version: 10.4.0 | ||||||||||||||||||||||||||||||||||||||||
| Availability: .NET 10 and .NET 9 | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| # ALM | ||||||||||||||||||||||||||||||||||||||||
| - CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs) | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1
to
+6
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Document the 10.4.0 public API changes in release notes. The new 10.4.0 entry only lists dependency upgrades, but this PR introduces user-facing API/features (e.g., Suggested update shape Version: 10.4.0
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
+
+# New Features
+- ADDED AddMinimalXmlOptions extension method for IServiceCollection in Cuemon.AspNetCore XML integration
+
+# Improvements
+- EXTENDED XmlSerializerOptions with FlattenCollectionItems to control flattened collection element naming
+- CHANGED XML enumerable/dictionary conversion and formatter behavior to support flattened item serialization
+- CHANGED default XML conversion flow to avoid redundant child element wrapping when dedicated converters existAs per coding guidelines: “ 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||
| Version: 10.3.0 | ||||||||||||||||||||||||||||||||||||||||
| Availability: .NET 10 and .NET 9 | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in strict rule wording (Line 34).
“Alaways” should be “Always” to avoid ambiguity in an instruction marked as strict.
✏️ Proposed fix
📝 Committable suggestion
🧰 Tools
🪛 LanguageTool
[grammar] ~34-~34: Ensure spelling is correct
Context: ...er lines (
U+00A0) between sections. - Alaways end with a newline followed by spacer l...(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents