Skip to content
Sebastian Bergmann edited this page Jan 6, 2014 · 17 revisions

This document describes the new release process for PHPUnit. It is still a work in progress. The new release process will be implemented beginning with the next major release (the next release made from master).

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Alpha (Development)

  • New features must be developed in feature branches
  • When a feature is ready, the respective feature branch will be merged to the master branch
  • Nightly builds from the master branch will be made available as phpunit-alpha-YYYY-MM-DD.phar

Beta (Stabilization)

  • A new release branch is created every two months
  • Nightly builds from the release branch branch will be made available as phpunit-beta-YYYY-MM-DD.phar

Stable

  • A new stable release (X.0.0) will be released after two months of stabilization
  • Stable releases will be made available as phpunit-X.Y.Z.phar
  • Nightly builds from the stable branch branch will be made available as phpunit-YYYY-MM-DD.phar
  • There will be one stable release per week in case at least one bug has been fixed since the previous stable release

Extended Support Release

  • Once a year a stable release will be marked as a release with extended support
  • Such an "Extended Support Release" will receive bug fixes for one year

Backwards Compatibility

  • Backwards compatibility breaks are allowed (but should be avoided) between X.Y.Z and X+1.Y.Z
  • Backwards compatibility breaks are not allowed between X.Y.Z and X.Y.Z+1 (note that Y should always be 0)

Clone this wiki locally