Version 1.6.0 - Less noise, more signal
The goal of this release was to remove a lot of unneeded noise from the changelogs. These involve some changes in functionality, please read.
Changes
- Upgrade core libraries to remove security warnings (core-js, lodash, babel, etc)
- Rollup merge commits into a single entry.
- Detect revert commits
- Add unit test coverage.
- Cleaned up a lot of code.
Detect Reverts
Previously, if you reverted a commit tagged with a Jira ticket, that ticket will still show up in the changelog even though it's no longer there. This is because the git commit would be something like: "Revert [ENG-123] lorem ipsum".
Now, as long as you use the default git revert commit message, jira-changelog will remove those reverted commits from the changelog. It will also intelligently detect a revert of a revert, which reincludes the ticket in the changelog as well as a revert, of a revert, of a revert, and so on.
Rollup Merge Commits
When merging a branch without squashing the commits first, all the commits from that branch will also be added to the git logs; which can cause a lot of noise in the changelog.
Now jira-changelog will attempt to rollup all those commits into the single merge commit. NOTE: This will still use the commit messages for all those commits to detect which tickets were included, but only a single commit will be presented in the changelog.
How it works
Every git log has a "parents" value, which is a list of git commit shas. The first value is the commit which came before this one. If there is more than one parent, it signals a merge and each git commit sha is one of the revisions merged into this. We can use that and then walk backward, to determine all the commits included with a merge.