Skip to content

Semantic Versioning

Matthew J. Dovey edited this page Mar 29, 2019 · 9 revisions

From version 1.1 onwards, the LCF Specification will use Semantic Versioning 2.0.0.

In summary given a version number MAJOR.MINOR.PATCH, increment the:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes.

However, as this specification is not an API, there will necessarily be some flexibility in the interpretation.

PATCH

PATCH updates will resolve errors in the documentation, or provide clarifications which do not change the underlying technical specification. Whilst attempts will be made to maintain backwards compatible where possible, this may not always be the case when fixing what is clearly an error in the documentation where the original intent is clear (e.g. a spelling error in a data element name), or when fixing an errors in XML schema files to ensure they comply with the data framework or XML binding documentation.

MINOR

MINOR updates will add functionality in a backwards compatible manner. This may include the addition of new entries into code-lists or the additional of optional\non-mandatory elements to the data model. Clients and Servers should expect unknown elements in XML messages, but these elements would be optional and safe to ignore.

MAJOR

MAJOR updates will include changes which are not backwards compatible, and as a result will use different namespaces and web-service endpoints.

Clone this wiki locally