We are very pleased to announce some planned improvements to phpBB's development process and release cycle. These changes are a direct result of our past experiences with the development of phpBB 2.0.x and 3.0.x, and will directly impact development direction, release strategy and version numbering.
After two great years of phpBB 3.0.x and the heroic plans for 3.2.x, we are again running into problems similar to those faced during the development of 3.0.x. In an effort to provide the community with a more solid groundwork, we have discussed and agreed upon the following changes:
phpBB 3.0.6 will be released as planned.
Version numbering system
At the moment, we are using the former Linux kernel version numbering system, which we believe is no longer suitable for phpBB. We will be using a custom system specifically designed around phpBB and oriented toward a controlled release schedule.
We will continue using the X.Y.Z scheme, with the first number representing the major version, the second number representing feature releases and the last number representing maintenance releases. Unlike before, no significance will be given to even/odd numbers, so consecutive numbering (0,1,2,3...) will be used.
Here are some examples:
- phpBB 3.0.x (current stable branch)
- phpBB 3.1.0 (first feature release of the stable branch; architecture is the same as with 3.0.x)
- phpBB 3.1.1 (first maintenance release of the 3.1.x branch)
- phpBB 3.2.0 (feature release of 3.1.x once 3.1.x becomes the stable branch)
- phpBB 3.x.0 (subsequent feature releases, based on the architecture of phpBB 3.0.0)
- phpBB 4.0.0 (completely new software with a new architecture)
We plan to have up to two supported branches at any given time; a stable branch (currently 3.0.x) and a feature branch (planned 3.1.x). Stable branches will continue to be supported for around 6-9 months after the date of a new feature release. Exact dates will be announced well in advance to provide MOD and Style authors with the ability to coordinate the releases of their own packages.
Each feature branch will have a tiny list of new major features and multiple new minor features, while maintenance releases will focus on bug fixes. Planned features will be announced to the public as a roadmap with additional small features being added as necessary. Overall architecture will be maintained as much as possible within feature branches to ensure maximum MOD and Style compatibility as well as smooth updating from the stable release. The automatic updater will support feature updates and, as always, assistance will be available for users updating their boards to the latest version.
We will continue releasing maintenance versions for the stable branch during the support period, with the last release aimed for around one month before the end of support. If necessary, patches for critical security issues will be released for a short period of time beyond the end of support date.
Such a release strategy prevents users from having to wait years for a feature that would've previously only be added in a major release (X.0.0). Necessary or commonly requested features will now be added to a feature release and available much sooner. This also allows us to properly concentrate on phpBB4 without the pressure of a community actively waiting for a small set of new features.
phpBB Ascraeus, formerly 3.2.x, will now be released under the new version numbering system as 3.1.x. We will still attempt to provide most of the planned features, and will therefore continue using the codename Ascraeus.
Patches for external libraries
We have additionally devised a release strategy for patching grave security issues found in any external libraries that are used within the phpBB software.
If a situation arises where a critical vulnerability in an external library is found in-between phpBB releases, we will release a pl version of the previous maintenance release. For example, a vulnerability in an external library included in phpBB 3.1.1 would result in phpBB 3.1.1-pl1. Any bug fixes already made in SVN would still be released in 3.1.2 and would not be included in 3.1.1-pl1.
The stable branch, phpBB 3.0.x, is not supposed to have any external libraries.
Managing two different versions
In order to manage two completely separate products (phpBB3 and phpBB4), we will also slightly adjust the structure of the Development Team. Developers will now be assigned to their "preferred" version, although they will continue to be able to work on both. This will result in two loose groups, with each mainly responsible for one version. Each group will also have an assigned Release Manager, who will be responsible for coordinating the team and managing the releases. Release Managers will be coordinated by the Development Team Leader, although more freedom will be given to the individual development processes. The Development Team Leader will continue to be responsible for overseeing overall development and making sure that everything is in line with our philosophy at phpBB.
Effects on the other teams
Because the above changes will affect nearly every Team Member, other teams will announce their plans separately on our blog at phpbb.com.
These decisions are the result of numerous discussions and were not taken lightly. We believe and hope that the plans outlined above will result in a better and stronger phpBB. While it is understandable that you may have a different opinion on some of the topics discussed, we would like to ask everyone to please respect the ultimate decisions made and give us the benefit-of-doubt when unsure.
We invite you to discuss what these changes mean to you as an administrator, moderator, MOD/Style author and/or user.
The phpBB Team