Last Modified 2013-01-24 by Ralf Lang

Horde Release Cycle

This is an explanation of the Horde release model and the project's release rules.

  • We will stick to semantic versioning, this means:
    • APIs* keep backward compatible within the same major versions. If we have to break backward compatibility, Horde 4 becomes Horde 5 etc.
      • Adding features or extending APIs will bump the minor version, Horde 4.0 becomes Horde 4.1 etc.
  • New versions will be released every half a year. Whether these are going to be major or minor version releases (or even just bug fix releases) depends on whether the changes since the last release broke BC or not.
    • Intermediate releases can be be done for security fixes or bug fixes.
  • We will have sychronized releases of all application and framework components. If it's going to be a minor version release, only the modules that actually had any changes will be released. For major versions, all modules will be relased.
  • Breaking backward compatibility will be documented, so that custom applications can be updated easily. See Doc/Dev/ConversionH4 and Doc/Dev/ConversionH5for an example.
  • The most recent two major versions will be maintained with security fixes, i.e. for at least 12 months.

*APIs in this context mean PHP APIs of framework components, external PHP APIs of applications, and external Horde RPC APIs.

See also Doc/Dev/Branches for an explanation of the branches used to prepare releases.