Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog script #1424

merged 14 commits into from Apr 14, 2019


1 participant
Copy link

commented Apr 14, 2019

This PR adds a changelog script that lists pull requests, noteworthy issues and other things between two versions:

$ npm run changelog -- 4.0-beta..master

#1259 Travis CI
#1389 Improve Dockerized testing infrastructure

#1334 Switch to MkDocs for documentation (#1332)
#1329 Dev setup updates – spring 2018

#1423 Updated docs on development process (#1417)
#1422 Fix `run-tests.ts`: return non-zero exit code when tests fail
#1415 Have Travis run tests (#1259)
#1418 Update frontend dependecies

77ad593c Link to Gitter and support repo in

The output is directly paste-able to GitHub issues, see e.g. #1373.


  • Create the script as a fork of an internal vpmake tool we use for
  • List pull requests between two Git versions.
  • List direct commits between two Git versions (those that are not part of pull requests).
  • Print usage when --help or no args are provided.
  • Print related issues at the end of PRs, like ... (#1234). "Related issues" are those that use specific keywords in the PR body like "resolves" or "fixes", see this regex.
  • Add the changelog script to package.json.
  • Highlight 'noteworthy' PRs.
  • Add instructions on how to use it to docs.

Won't happen now but would be nice in the future:

  • Print scope, for example #123 [docs] Update dev setup; #124 [core] Improve post meta support.
  • --format markdown. Would turn things like #123 to [#123](, useful for copying the output to Markdown documents.
  • Print contributors.

borekb added some commits Mar 26, 2019

Add `changelog.ts` script (basic port)
This is a port of an internal "vpmake log" command that we use on It prints pull requests and issues between two Git versions.

Right now, it's a very basic port with lots of cleaning up yet to do. But it works.

For reference, it has been ported from
Remove support for paths
`changelog.ts` now always operates on the whole Git repo – we don't need path filtering.
Remove string formatting options
We don't need that. Code could be simplified.
Match related issues in PR bodies more strictly
Only specific patterns like "fixes ..." or "resolves ..." are matched now.

This also includes a polyfill for the proposed string.prototype.matchAll function which makes it more convenient to work with RegExp matches.

@borekb borekb added this to the 4.0 milestone Apr 14, 2019

@borekb borekb self-assigned this Apr 14, 2019

borekb added some commits Apr 14, 2019


This comment has been minimized.

Copy link
Member Author

commented Apr 14, 2019

Seems to work good enough for now, I'm going to merge this, improvements separately.

@borekb borekb merged commit f4a237f into master Apr 14, 2019

5 of 8 checks passed

Header rules - vp-docs No header rules processed
Pages changed - vp-docs 3 new files uploaded
Redirect rules - vp-docs No redirect rules processed
Mixed content - vp-docs No mixed content detected
continuous-integration/travis-ci/pr The Travis CI build passed
continuous-integration/travis-ci/push The Travis CI build passed
default Check CodeFlow analysis results.
netlify/vp-docs/deploy-preview Deploy preview ready!

@borekb borekb added this to Done in 4.0-beta → 4.0-beta2 via automation Apr 14, 2019

@borekb borekb deleted the 1373-changelog-tool branch Apr 14, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.