The EJBCA release numbering is on the form EJBCA x.y.z where the numbering follows these rules:
- The first indice indicates a major paradigm shift. Examples are moving from one EJB standard to the next (ejb1 -> ejb2 etc) or making the shift from a single CA per installation to multiple CAs. These shift are very rare with years between them. A paradigm release probably requires major upgrade activities.
- The second indice corresponds to major enhancements in term of functionalities, or of significant upgrade of embedded component versions. These releases may occur once or twice a year, or it may also be longer between them. A major release may require (but not always) database upgrades, where upgrade scripts should be provided.
- The third indice corresponds to maintenance releases. A maintenance release contains bugfixes and minor funcionality enhancements. A maintenance release should not require database upgrades, except in extreme cases. Maintenance releases are usually plug-in upgrades.
- A svn branch is always created when a major version is released. The branch name corresponds to the major version, e.g. Branch_3_2.
- Maintenance releases are always made from a branch, and only selected, safe changes are done in the branch. These changes always correspond to a specific bug report or a specific minor user requirement. A maintenance release is tagged with the release number in svn, e.g. Rel_3_2_1.
- Some maintenance releases may be tagged but not released when it is a single fix for a specific user where the fix is not deemed of interest for a broader audience.