EJBCA - Open Source PKI Certificate Authority
Search ejbca.org on Google:

EJBCA release cycle

Release numbering is on the form x.y.z.(w) (for example 6.3.1, and 6.3.1.1) where the numbering follows these rules:

  • Major Release (x): The first number indicates a major paradigm shift. Examples are moving from one JEE standard to the next (JEE5 -> JEE6 etc) if it is noticeable for users/admins, or making the shift from a single CA per installation to multiple CAs, something that changes how you work with EJBCA.
    A major release probably requires major upgrade activities.
  • Feature Release (y): The second number corresponds to major enhancements in terms of functionality, or of significant upgrade of embedded component versions.
    A feature release may require database upgrades, where upgrade scripts are provided.
  • Minor Release (z): The third number corresponds to minor upgrades with regards to bugfixes and functionality enhancements.
    Minor releases should not require database upgrades, and should be plug-in upgrades.
  • Maintenance Release (w): The fourth number corresponds to a maintenance release that contains important bugfixes, or other cherry picked changes, to a stable release branch. Maintenance releases only occur when needed and this version component is only used when maintenance releases are actually made (i.e. we don't name a release no 6.3.1.0).
    Maintenance releases are plug-in upgrades.

EJBCA release frequency, a normal year:

  • Major releases are very rare, usually with years in between.
  • Feature releases are not frequent and typically happens once or a couple of times per year.
  • Minor releases are frequent with several releases, in multiple branches, every year.
  • Maintenance releases happen only when needed, not on any regular schedule, and may be user specific.

Several version branches (6.6.x, 6.5.x, etc) may be active at the same time, with new feature releases happening (6.6.0) at the same time as minor releases are made to another feature branch (6.5.3) and even parallel minor releases (for example 6.6.2 and 6.5.4). In addition there can also be be maintenance releases for older supported versions, for example 6.3.1.3.