There are plenty of automated release notes generator
that inspect the list of commits since the last release and generate a list of changes.
The release notes are typically exclusively based on the commit messages.
In the GenAIScript project, we create a release notes generator that uses
both commit history and the diff of the changes.
You can see one of the first prototype generated
release notes for v1.41.6.
Commit history and diff
We start our script by calling git a few times to retrieve the previous release tag,
the list of commits, and the diff since the tag.
(This magic was mostly found using a GitHub Copilot Chat session).
We use the def function with maxTokens to inline this information without exceeding the content window
of the model (32k input).
Role and task
The rest of the script follows a typical pattern with a role and a task.
The script
The full script as it is running in GenAIScript is as follows:
Release-it integration
GenAIScript uses release-it
to automate the release process. We configured release-it to run the script using the cli
by adding a github.releaseNotes field in the release-it configuration.