Semantic versioning

The educational technology and digital learning wiki
Revision as of 21:30, 14 October 2021 by Helene Parmentier (talk | contribs) (Beginning of a French wiki page translation to English (work in progress))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This article or section is currently under construction

In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")


Introduction

[[Fichier:Versionnage semantique exemple mediawiki.png|300px|vignette|droite|Example of semantic versioning of Mediawiki, the web application that powers this wiki and also Wikipedia.]] Semantic versioning or version semantic management, also referred as [1] is a conventional naming system used to specify the version of a software, a plugin, a library or any other technology with a dot-separated 3 numbers pattern starting from 0 until infinity.

12.345.678

Each digit implies a type of change from the previous version. In order :

  1. The first digit stands for a major change
  2. The second digit stands for a minor change
  3. The third digit stands for a correction or a patch
major.minor.correction

This conventional naming tries to resolve 2 important development issues :

  • backwards compatibility : using an operating system as a reference, a new software is backwards-compatible if its N version works with Windows 8 and its N+1 version too. On the opposite, a software isn't backwards-compatible if its N version works with Windows 8 but its N+1 version requires Windows 10.
  • dependencies: softwares often rely on other softwares, plugins or libraries to work. For example, a website that can't work before a specific version of a web browser is dependant on the web browser version.

under construction category