All posts
The Changelog Generator Team

How to automate release notes with GitHub: Actions vs AI drafts

Compare manual release notes, GitHub Actions workflows, and AI-assisted drafts to choose an automation approach that keeps customer updates accurate.

githubautomationrelease-noteschangelog

Manual release notes usually fail for a simple reason: writing the update starts after the work feels finished. The context is scattered across pull requests, issues, and conversations, so the announcement becomes easy to postpone.

GitHub gives teams several ways to automate the mechanical parts of this work. The right choice depends on whether you need a technical release record, a customer-facing announcement, or both.

Option 1: Write each release note manually

The manual workflow is straightforward: someone reviews the merged work, writes the update, and publishes it. It gives the author complete control over tone and scope, but it also makes a changelog dependent on a recurring calendar task.

Manual writing works when releases are infrequent and high stakes. It struggles when a small team ships every week, because the same person must repeatedly collect the source material before they can write a single useful sentence.

Option 2: Generate technical notes with GitHub Releases

GitHub Releases can package a tagged release with notes and assets. GitHub can also generate release notes from a default or customized template. This is a good option for developer-facing libraries and projects where the repository is already the natural place to follow updates.

The limitation is audience. A generated list of contributors, pull requests, and commit categories is useful for maintainers, but it rarely explains the product outcome to a customer, admin, or buyer.

Option 3: Use GitHub Actions for a repeatable repository workflow

A GitHub Action can run when a tag is pushed or a release is created. For example, a team might collect commits and open a draft release for review:

name: Prepare release notes

on:
  push:
    tags: ["v*"]

jobs:
  prepare-release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Generate technical release notes
        run: ./scripts/generate-release-notes.sh

This is useful when the release process belongs in the repository and your team already maintains the script, template, and secret management. It is not a complete communication workflow by itself: someone still needs to decide which changes matter to customers and rewrite the technical output accordingly.

Option 4: Draft customer-facing updates from merged pull requests

An AI-assisted workflow starts with the same GitHub facts but produces a different kind of draft. It groups related merged pull requests, translates implementation detail into customer outcomes, and gives a human a version to review before publishing.

Changelog Generator follows this approach. It connects to GitHub, uses merged pull requests as source material, creates an editable customer-facing draft, and publishes the approved update to a hosted changelog. It is not a GitHub Action; it is a separate writing and publishing workflow that uses GitHub as the source of truth.

Compare the approaches

ApproachBest forWhat it automatesWhat still needs judgment
Manual writingOccasional, high-context launchesNothing beyond your usual editorEverything
GitHub ReleasesDeveloper-facing tagged releasesTechnical release notes and assetsCustomer language and distribution
GitHub ActionsTeams with an established repository release processRepeatable scripts, collection, and checksThe template, customer framing, and final messaging
AI draft from PRsSaaS teams that ship oftenFirst customer-facing draft from merged workScope, accuracy, and final approval

Keep review in the loop

No automation should publish a customer promise without review. Before sending an update live, confirm that the feature is available, the language matches the product, and the announcement does not expose internal details or a change that is still behind a flag.

The release notes checklist is a quick final pass. For the source-review step, see how to generate release notes from GitHub pull requests.

Create an editable customer-facing draft from merged GitHub pull requests.

Keep reading

More on changelogs and release notes.

Ship it, then say it.

Changelog Generator reads your merged pull requests and writes a customer-facing update — automatically, every week.

Get started free