A pattern that is really successful in other ecosystems is using conventional commits to generate changelogs, manage version changes, and otherwise inform behavior of their tools.
All you need is
mix git_ops.release to update your version numbers in
mix.exs, as well as generate a changelog based on your commit history. Then you or your contributors use conventional commits to convey this information from their changes.