csharp-sdk/.github/skills/prepare-release/references/categorization.md
Jeff Handley ca040d77ec
Release v1.1.0 (#1411)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-06 12:52:11 -08:00

5 KiB

Categorization Guide

Category Definitions

What's Changed

Feature work, bug fixes, API improvements, performance enhancements, and any other user-facing changes. This includes:

  • New API surface area (new types, methods, properties)
  • Bug fixes that affect runtime behavior
  • Performance improvements
  • Breaking changes (these appear in both "Breaking Changes" and "What's Changed")
  • Changes that span code + docs (categorize based on the primary intent)

Documentation Updates

PRs whose sole purpose is documentation. Examples:

  • Fixing typos in docs
  • Adding or improving XML doc comments (when not part of a functional change)
  • Updating conceptual documentation (e.g., files in docs/)
  • README updates
  • Adding CONTRIBUTING.md or similar guides

Important: A PR that changes code AND updates docs should go in "What's Changed" — only pure documentation PRs belong here. However, documentation PRs should still be studied during the breaking change audit, as they may document changes that were not properly flagged as breaking.

Repository Infrastructure Updates

PRs that maintain the development environment but don't affect the shipped product or test coverage. Examples:

  • Version bumps (Bump version to X.Y.Z)
  • CI/CD workflow changes (GitHub Actions updates)
  • Dependency updates from Dependabot
  • Build system changes
  • Dev container or codespace configuration
  • Copilot instructions updates
  • NuGet/package configuration changes

Important: PRs that touch the tests/ folder should never be categorized as Infrastructure — they belong in either "Test Improvements" or "What's Changed" depending on whether product code was also modified.

Test Improvements

PRs focused on test quality, coverage, or reliability. Examples:

  • Adding new tests (unit, integration, regression, conformance)
  • Fixing broken or incorrect tests
  • Addressing flaky tests (timing, race conditions)
  • Unskipping or skipping tests
  • Test infrastructure improvements (new test helpers, test base classes)

Important: PRs that reference "MCP conformance tests" are not automatically test-only. Examine the PR body and file changes to determine whether product code was modified to achieve conformance — if so, the PR belongs in "What's Changed." Conformance PRs should never be placed in "Repository Infrastructure Updates."

Entry Format

Use this simplified format (GitHub auto-links #PR and @user):

* Description #PR by @author

For PRs with co-authors (harvested from Co-authored-by commit trailers):

* Description #PR by @author (co-authored by @user1 @user2)

For Dependabot PRs, do not acknowledge @dependabot[bot]:

* Bump actions/checkout from 5.0.0 to 6.0.0 #1234

For direct commits without an associated PR (e.g., version bumps merged directly to the branch), use the commit description and by @author but omit the #PR reference:

* Bump version to v0.1.0-preview.12 by @halter73

For Copilot-authored PRs, identify who triggered Copilot using the copilot_work_started timeline event on the PR. That person becomes the primary author, and @Copilot becomes a co-author:

* Add trace-level logging for JSON-RPC payloads #1234 by @halter73 (co-authored by @Copilot)

Sorting

Sort entries within each section by merge date (chronological order, oldest first).

Examples from Past Releases

What's Changed (format example)

* Add Trace-level logging for JSON-RPC payloads in transports #1191 by @halter73 (co-authored by @Copilot)
* Use Process.Kill(entireProcessTree: true) on .NET for faster process termination #1187 by @stephentoub
* Include response body in HttpRequestException for transport client errors #1193 by @halter73 (co-authored by @Copilot)
* Fix race condition in SSE GET request initialization #1212 by @stephentoub
* Fix keyset pagination with monotonic UUIDv7-like task IDs #1215 by @halter73 (co-authored by @Copilot)
* Add ILoggerFactory to StreamableHttpServerTransport #1213 by @halter73 (co-authored by @Copilot)
* Add support for message-level filters to McpServer #1207 by @halter73
* Add `DistributedCacheEventStreamStore` #1136 by @MackinnonBuck

Documentation Updates (format example)

* Fix typo in elicitation.md #1186 by @ruyut
* Fix typo in progress.md #1189 by @ruyut
* Clarify McpMetaAttribute documentation scope #1242 by @stephentoub (co-authored by @Copilot)

Repository Infrastructure Updates (format example)

* Bump version to 0.8.0-preview.1 #1181 by @stephentoub (co-authored by @Copilot)
* Bump actions/checkout from 6.0.1 to 6.0.2 #1173
* Bump the opentelemetry-testing group with 6 updates #1174

Test Improvements (format example)

* Remove 10 second wait from docker tests #1188 by @stephentoub
* Fix Session_TracksActivities test #1200 by @stephentoub
* Add serialization roundtrip tests for all Protocol namespace types #1289 by @stephentoub (co-authored by @Copilot)

Acknowledgements (format example)

* @ruyut made their first contribution in #1186
* @user submitted issue #1234 (resolved by #5678)
* @user1 @user2 @user3 reviewed pull requests