Skip to content

Releasing a new version of Phinx

Mark Sch edited this page Apr 11, 2020 · 13 revisions

This page outlines the process involved in releasing a new version of Phinx.

We roughly follow semantic versioning but generally, we perform a release for a group of commits. The PATCH version is incremented the most often, followed by MINOR.

The first MAJOR release will be 1.0.0 when the Phinx API is finalized.

The second MAJOR release 2.0.0 is also planned, but has no timeline as of now.

Releases can only be performed by project admins.

Steps to Release a New Version

  1. Checkout the master branch
  2. Update the release version in docs/conf.py.
  3. Add to the CHANGELOG.md.
  4. Here is a sample commit of the steps above: https://github.com/cakephp/phinx/commit/6fd56a6e5d93f37fe40e33d90461dc5a9d9e60a1
  5. Commit these changes to the current development branch and push to Github.
  6. Create a tag of the development branch: git tag -a 0.4.1 -m 'Tagging release 0.4.1'
  7. Ensure Travis CI & App Veyor are passing for the development branch.
  8. Push the tag to Github git push origin 0.4.1.
  9. Go to https://github.com/cakephp/phinx/releases/new to draft a new release.
  10. Choose the tag just released.
  11. The release name should be the same as the tag. E.g: 0.7.0 (no v prefix!).
  12. The release notes are copied from CHANGELOG.md.
  13. Publish release.
  14. The documentation is automatically generated from the master branch.
  15. Checkout the gh-pages branch and update the Phinx version. There are two places in index.html to update. The version showed on the homepage and the Google Analytics tracking snippet. See an example commit: https://github.com/cakephp/phinx/commit/3b50a762a71dd63caa47025e771bb7a3baa8f042
  16. Push the gh-pages branch to Github.
  17. Ensure Packagist has automatically picked up the new tag: https://packagist.org/packages/robmorgan/phinx
Clone this wiki locally