Development and Release Process

Sebastian Bergmann edited this page Feb 10, 2019 · 1 revision

PHPUnit follows Semantic Versioning 2.0.0.

Classes annotated with @internal are not considered part of PHPUnit's public API and are therefore not subject to the rules of Semantic Versioning.

Release Schedule

A new stable release is released every two months:

  • A new major version is released on the first Friday of February.
  • A new minor version is released on the first Friday of April, June, August, October, and December.

Support

Major Version of PHPUnit

The support for major version X ends when major version (X+1) is released.

Minor Version of PHPUnit

The support for minor version X.Y ends when minor version X.(Y+1) is released.

Version of PHP

A new major version drops support for versions of PHP that are no longer actively supported by the PHP project.

Git Branches

Git branches for versions of PHPUnit that are no longer maintained are deleted.

Deprecation and Removal of Features

Features are removed in three stages:

Stage 1: Soft Deprecation

In the first stage, a feature is documented as being deprecated. The deprecation will be documented, if applicable and possible, in the ChangeLog, using a @deprecated annotation in code, and in the documentation.

Stage 2: Deprecation

In the second stage, if applicable and possible, the code will be changed to emit a warning when the deprecated feature is used. As this warning constitutes a change in behaviour, it can only be introduced in a new major version.

Stage 3: Removal

In the third stage, the code will be changed to remove the deprecated feature. As this removal constitutes a change in behaviour, it can only be performed in a new major version.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.