we have conventional-changelog or conventional-github-releaser (there are also grunt/gulp tasks) to automate the process of writing the changelog. As you are using formatted commit messages so the logs can be generated well according to the parts of the message. We use handlebars for templating the logs. It can also ignore reverted commits. There are many other features. We have a jquery preset for people using jquery commit format.
The modules are actively maintained.