Path

ez.no / ezpublish / documentation / incoming / ez publish development cycle


eZ publish development cycle

These documentation pages are no longer maintained. Please visit the new documentation site.

Note: This document will be moved in the near future

Development cycles

eZ publish development has been divided into 4 major releases per year which gives us 3 months of design, development, writing documentation, testing for each major release which is referred to as a cycle.
Each of the 3 month long cycles consists of about 4 periods. The periods are Inception, Beta 1, Beta 2 and Final. After the development cycle a stable cycle is started in parallell with the next development cycle.

Inception

The start of the development cycle. We will go trough all the planned features, analyzing and designing them. Some features will get their implementation started in parallell to refining the design of others. During this period the code of eZ publish will change a lot and so it is not recommended to use the code.

Beta 1

The first release after the development period which can be unstable in some cases. It contains new features and new documentation.
This is also when we freeze all features, meaning that no more new features will be added. We will focus on stabilizing the new features

The version number will be 3.x.0-1 (The first release of the 3.x development branch).

This release is about 2 months after the cycle has started.

Beta 2

Contains numerous bugfixes. This is also the when we freeze all translation strings so that external translators can creation translations before the final release.

The version number will be 3.x.0-2 (The second release of the 3.x development branch).

This release is about 2 weeks after beta 1 release.

Final/First stable

The final release of development cycle, this is also the first release which is considered stable. After this other stable releases will come.

The version number will be 3.x-1 (The first release of stable 3.x branch)

This release is 3 months after the cycle started (and about 2 weeks after beta 2) and ends the development cycle.

Stable releases

Once the development cycle has finished the development branch it will turn into a stable branch. The stable branch will only contain bugfixes and minor changes. This means you can rely on the development API, tools and user interface remaining the same.

Generally there will be about one or two stable releases after the final releases, the version numbers of these releases will look like 3.x-2 and 3.x-3 and so on. There is also only one active stable branch at a time, which is worked on in parallell to the next development branch.

Branches

Branches are used to divide the work on the various releases and versions. There will exist a branch for each main version of eZ publish which are placed in the stable subdirectory in the subversion root. There is also a dynamic branch which will always contain the latest version of eZ publish, this branch is called trunk.

When do we branch?

Generally we wait until the final release of the development (which is in trunk) until we branch it off into a stable branch in stable. The new branch will then become stable/3.0, stable/3.1 an so on.

All bugfixes for a specific version will be done on these branches and merged back into the main trunk to ensure that bugfixes are present in the new version.

However sometimes we will need to start work on features which can't be in the current development branch but rather in the next one. This means that the development branch will be branched into a separate stable branch and trunk becomes the next development branch again. If this occurs it will happen after the Beta 1 release.

Working off stable branches

If you are a developer and need the very latest features of eZ publish but can't really wait until the final release you can use the stable branches as the starting point. If you opt do so you must consider these things:

  • Watch for updates to the database schemas in update/database/*
  • Read the svn logs which occured during the last update and the current update, follow any instructions that might be in them for updates

Comments