Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

<html><TITLE></TITLE><DIV mce_style="float: right" style="float: right;">

Table of Contents
outlinetrue
indent20px
stylenone
printablefalse

...

</DIV>

Current OpenMRS Releases

If you are looking for downloadable builds of OpenMRS, see the Release Note Import page.A running openmrs application displays its version in the bottom footer. A small red "i" will appear next to an expected database version that is different that what the current code is thinking it is working against. If this is the case, the file labeled openmrs-X.Y-to-latest-mysqldiff.sql should be run ("source"ed) on the current database download.openmrs.org.

Versioning Explanation

The format for OpenMRS versions:

Panel

major.minor.maintenance.database([-modifier]

How/when to Choose a Version Number

We follow OpenMRS follows the Apache Versioning conventions Semantic Versioning conventions for the platform, reference application, and community supported modules. We encourage everyone to adopt this versioning approach for their code.

Major

The major version number is changed when there are large incompatible changes – e.g., methods are being removed from the API. These should be rare.

...

The minor version should change when new features are added or the changes being made will make the prior version incompatible with the new changes. Minor versions should be backwards compatible with older minor versions, but may not be future compatible. For example, if a module requires OpenMRS 1.4, then it should still work with 1.5, but may not work with 1.3.

Maintenance

Maintenance Also referred to as "Patch."  Maintenance releases represent bug fixes (maintenance) and should be both forward and backward compatible. For example, if your code works with 1.5.2, it should work with 1.5.1 and 1.5.7.

tip|The maintenance number is not permanent for a branch. If a branch is getting merged in sooner or later than expected, the branch could change. When this happens, all sqldiff procedure calls will need to be modified to use the new maintenance number.

Database

The database number should change with every change that is run on the openmrs database. Each change incrementally brings the current data and schema up to the latest that the related code is expecting.

info|We are planning to phase out this database number from the versioning scheme.

Side note: The database version should use double digits. (Start with 01, 02, etc). This allows for proper sorting and storing when 10+ database diffs go through.

Modifier

The modifier represents and optional release type. Trunk typically carries the "-dev" modifier to indicate that it is under development. Possible modifiers are:

...

How to Change OpenMRS Version

  1. Step
  2. by
  3. Step
  4. goes
  5. here

The current openmrs and database version are stored in variables on the OpenmrsConstants class. An openmrs restart is required to update the footer display with a updated database.

Module Versioning

Modules versions should follow the same format:

Panel

major.minor.maintenance.([-modifier]

Likewise, major, minor, and maintenance numbering should be adjusting according the conventions mentioned above.
</html>