Steps for updating and releasing changes to Primer and it’s site.


Primer follows the semantic versioning approach:

Changelogs and milestones

Changelogs are handled with dedicated tracking issues (see example). When starting work on a new release:

  1. Open a new milestone.
  2. Open a new tracking issue and immediately lock it. (No comments are needed, ship lists are just for us.)
  3. As you close issues and merge pull requests, add a link to those threads to the tracking issue.

When the release and milestone are about ready to ship, move on the releasing flow.


Have a new version to release? Hell yeah, let’s do it.

  1. Bump the version numbers in _config.yml for our docs and package.json for dependency management.
  2. Run $ grunt to generate the latest compiled CSS and Parker stats.
  3. Recompile Jekyll for the latest docs changes.
  4. Punt any remaining open issues and PRs on the milestone to the next milestone, then close that milestone.
  5. Head to and create a new release. Title it vX.X.X and post the changelog to the body.
  6. Run $ grunt publish to push the latest docs and CSS changes to
  7. Rejoice!