Build a Release Note Generator in .NET: Automation, AI, and Review

Release notes are one of those jobs where the data is already there, but the wording still needs a human touch. I let code collect and filter the changes, AI draft the note, and a person approve the final version.

Why this is a good real-world example

  • Work items and commit messages are structured.
  • The final description should read like something a person would actually send.
  • The release manager still needs the last word.
  • This is safer than letting AI invent the whole note.
  • Automation keeps the input clean.
  • AI only handles the wording step.

Recommended flow

1

Collect

Pull commits, work items, and release metadata into one clean input set.

2

Filter

Keep only the changes a customer should actually see.

3

AI Draft

Turn the filtered items into readable release-note language.

4

Review

Let a human approve the final wording before publishing.

.NET data shape

public sealed record ChangeItem(string Id, string Title, bool CustomerFacing);
public sealed record ReleaseNoteDraft(string Summary, string[] BulletPoints);

public static class ReleaseNotePipeline
{
    public static IEnumerable<ChangeItem> FilterCustomerFacing(IEnumerable<ChangeItem> changes)
        => changes.Where(x => x.CustomerFacing);
}
public sealed class ReleaseNoteService
{
    private readonly IAssistantService _assistant;

    public ReleaseNoteService(IAssistantService assistant) => _assistant = assistant;

    public async Task<ReleaseNoteDraft> BuildDraftAsync(IEnumerable<ChangeItem> changes)
    {
        var source = string.Join("\n", changes.Select(c => $"- {c.Id}: {c.Title}"));
        var summary = await _assistant.SummarizeAsync(source);

        return new ReleaseNoteDraft(summary.Summary, summary.ActionItems);
    }
}

Where automation ends and AI begins

  • Automation gathers commits, work items, and filters out noise.
  • AI turns that structured input into readable prose.
  • Review checks the wording, tone, and missing details.
  • The final note remains a human-owned deliverable.

Example prompt

Summarize these release items in 4 bullets.
Use plain language.
Keep customer-facing wording.
Do not invent features that are not in the list.

Why this is stronger than pure automation

What not to automate blindly

© 2026 Anup Kumar Chandrakumaran