Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Active and Past Releases

Release Numbering Scheme

Starting with 2.0.0., OpenLMIS follows a basic Major.Minor.Patch release numbering scheme, e.g. 2.0.0, 2.1.3, etc.  This is influenced by the Semantic Versioning standard, but the Major and Minor numbers are incremented largely by human reckoning.  The main purpose is for levelset communication and basic project organization.  It is recognized that as OpenLMIS becomes more modular, a more sophisticated scheme may be necessary, at least at the development level (e.g. versions of core, modules, included components, etc.)

Major – number is incremented with a significant change to the application.  Examples could include a revamped modularization scheme, a UI refresh, a new sizable feature set or some break in compatibility.  

Minor – is incremented when new features or highly significant fixes are added.  May include updated developer infrastructure or updated component versions, such as supporting newer versions of Postgres  Compatibility with past releases under the same Major number is expected.  

Patch – incremented for small changes, such as important bug fixes or minor component upgrades.  Compatibility with past releases under the Major.Minor is expected.


Pre-Releases

Starting with version 3, OpenLMIS supports pre-releases following the Semantic Versioning standard.


Currently we suggest the use of beta releases.


For example 3.0 Beta is:  3.0.0-beta


Note the use of the hyphen consistent with Semantic Versioning.  However a pre-release SHOULD NOT use multiple hyphens.  See the note in Modifiers on why.


Modifiers

Starting with version 3, OpenLMIS utilizes build modifiers to distinguish releases from intermediate or latest builds.  Currently supported:


ModifierUseExample
SNAPSHOTThe SNAPSHOT modifier distinguishes this build as the latest/cutting edge available.  It's intended to be used when the latest changes are being tested by the development team and should not be used in production environments.3.0.0-beta-SNAPSHOT


Note that there is a departure with Semantic Versioning in that the (+) signs are not used as a delimiter, rather a hyphen (-) is used.  This is due to Docker Hub not supporting the use of plus signs in the tag name.




For discussion on this topic, see this thread.

  • No labels