How to make an automated changelog from GitHub
Your commits already say what changed. The work is turning them into something a customer will read. Below: how to do it by hand, step by step, and then how FoxPlug does it for you. If you only want the result, paste your repository here first.
Paste your repository and see the update
Free: 1 project, no card needed. Nothing is posted anywhere until you approve it.
Doing it by hand
-
1. Collect what changed
List the commits since your last update, without merge commits:
git log --since="2 weeks ago" --no-merges --pretty=format:"%h %s"
git log --since shows only commits more recent than a date, and --no-merges leaves out merge commits.git-scm.com/docs/git-log, checked 2026-09-30
-
2. Or let GitHub list it for a release
GitHub can generate release notes for a release: a list of merged pull requests, a list of contributors and a link to the full changelog.docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes, checked 2026-09-30
When you draft a new release, the Generate release notes button sits above the description field, and GitHub asks you to check the result.docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes, checked 2026-09-30
A .github/release.yml file groups pull requests into categories by label and can leave out labels and authors.docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes, checked 2026-09-30
What you get is a list of pull request titles. It is accurate and complete, and it is written for the people who wrote the code.
-
3. Name commits so they sort themselves
Under Conventional Commits, a feat commit introduces a new feature and a fix commit patches a bug.conventionalcommits.org/en/v1.0.0, checked 2026-09-30
With prefixes like these, a script can split the list into new features and fixes. It still cannot say why a change matters to the person using your product.
-
4. Rewrite it for people
Keep a Changelog's first principle is that changelogs are for humans, not machines, and it groups changes under types such as Added and Fixed.keepachangelog.com/en/1.1.0, checked 2026-09-30
This is the step that takes the time. Take each line and say what the user can now do:
Commitfix(billing): allow switching billing interval during trialChangelog lineYou can now switch between monthly and yearly billing while you are still on your trial. -
5. Publish it, then announce it
Put the entry on your changelog page. Then write the announcement again for each place your users are: a post for X, a longer one for LinkedIn, a short one for Bluesky, Threads or Mastodon, and the update email. Each one is written from scratch, because each platform reads differently.
Steps 1 to 3 can be scripted. Steps 4 and 5 are writing, and they are the ones that wait until someone has time.
How FoxPlug does it
FoxPlug does steps 1, 4 and 5 for you, and leaves the last word to you.
- FoxPlug reads the public releases and commits of your repository and writes the update in plain English. For a repository it reads the releases from the last 90 days and the commit messages from the last 30 days.foxplug.com/changelog-from-github
- Each draft is checked against what was read, and a draft that fails the check is left out. If there is not enough recent activity to write about, FoxPlug says so rather than making something up.foxplug.com/changelog-from-github
- From the same work it drafts an X post, a LinkedIn post and a short post for Bluesky, Threads or Mastodon, each written about the actual changes.foxplug.com/build-in-public-posts
- Nothing is posted anywhere until you approve it.foxplug.com
- Every project gets a public changelog page on foxplug.com listing what you shipped. On the paid plans, each project's changelog shows your own name, logo and colours.foxplug.com/pricing
- On the plans with newsletter drafts, FoxPlug puts a draft of your update newsletter into the email tool you already use. It is never sent for you; you send it yourself.foxplug.com/pricing
Try it on your own repository with the box at the top of this page. No account is needed to see the result. What each plan includes is on the pricing page.
Comparing changelog tools?
If you already use a changelog tool, these pages say what it is good at and where FoxPlug is different, with every line linked to the tool's own page.
Sources
- docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes, checked 2026-09-30
- git-scm.com/docs/git-log, checked 2026-09-30
- conventionalcommits.org/en/v1.0.0, checked 2026-09-30
- keepachangelog.com/en/1.1.0, checked 2026-09-30