A couple years ago we deployed our first changelog. It was great until we recently discovered that we had forgotten about it for about a year. We could do better.
So for a while we've been searching for a new solution, a changelog we don't need to forget about. We couldn't find it so we built it, and it goes like this.
Pull requests in private repo
We're using a vsc that you might have heard about, that has an API from which we can fetch our closed pull requests. When a pull request is closed and we label it with "changelog" it fulfills the fetch query and thus shows up in our changelog.
const withLabelChangelog = pulls.filter(
(pr) => pr.merged_at && pr.labels.some((label) => label.name === 'changelog')
);
PR as rendered HTML
A nice feature with our vsc is that if we provide the header
Accept: 'application/vnd.github.html+json'
it adds body_html
which is the first message in the PR rendered as HTML
By using Svelte's {@html body_html}
we get a nice end result! Now this is a changelog solution that we actually can forget about.
Check it out at kaddio.com/changelog!