Node.js now provides simplified stream construction capabilities which removes the need for the `through2` dependency.
This change allows for the removal of the `through2` development dependency which was otherwise unused.
All TypeScript files have been updated to pass the new eslint-based linting checks. eslint compatible disabling comments have also been added in place of the previous tslint comments.
If generating a changelog between tags that are on different branches (e.g., 9.0.3 on 9.0.x and 9.1.0-next.0 on master), commits that were cherry-picked and present in the previous version would also show in the newer version's changelog. This update analyzes the commits and excludes any that fit this scenario. Any commits that had conflicts will not be able to be matched authoritatively. Manual review of the generated changelog may still be needed for attempted cherry-pick commits that had conflicts.
The changelog function makes a promise but doesn't return it, causing a race condition between the process exiting and the promise finishing.
On a repository with bigger git history the promise took longer to execute and the process exited first.