I feel kinda silly, but I now have 300 lines of kinda gross go code that will get 70% of a CHANGELOG done. It reads CHANGELOG to see what PRs are noted. and uses github’s graphql interface to pull the PRs that need entries. Then spits out the PR title akin to
git log --oneline