Czym jest semantyczne wersjonowanie

Semantyczne wersjonowanie to standard numerowania wersji oprogramowania, który pozwala na jednoznaczne określenie rodzaju i zakresu zmian wprowadzonych w kolejnych wersjach produktu. Standardowa forma semantycznego wersjonowania składa się z trzech cyfr oddzielonych kropkami, czyli MAJOR.MINOR.PATCH. Jednakże, istnieje również wersja rozszerzona, która pozwala na uwzględnienie dodatkowych informacji o zmianach.

Przykładowa konwencja dla semantycznego wersjonowania w wersji rozszerzonej może wyglądać następująco: MAJOR.MINOR.PATCH-METADATA, gdzie:

  • MAJOR: oznacza główną wersję produktu, która wprowadza znaczne zmiany w kodzie i może prowadzić do niekompatybilności wstecznych,
  • MINOR: oznacza mniejsze zmiany wprowadzane w kodzie, które nie są niekompatybilne wstecznie, ale dodają nowe funkcjonalności lub ulepszają istniejące,
  • PATCH: oznacza małe poprawki błędów, które nie wprowadzają żadnych nowych funkcjonalności, ale usuwają problemy z wcześniejszej wersji,
  • METADATA: oznacza opcjonalny ciąg znaków, który może zawierać informacje dodatkowe, takie jak np. data wydania, nazwa autora, wersja budowania, itp.

Przykładem wersji rozszerzonej semantycznego wersjonowania może być 1.2.3-alpha.1, gdzie „1” jest numerem wersji głównej (MAJOR), „2” oznacza numer wersji mniejszej (MINOR), „3” jest numerem wersji poprawki (PATCH), a „-alpha.1” to nazwa wersji METADATA.

Warto zaznaczyć, że semantyczne wersjonowanie w wersji rozszerzonej może zawierać wiele różnych oznaczeń wersji METADATA, takich jak np. „-beta.1”, „-rc.1”, „-build.123”, „-dev”, „-experimental”, itp. Te oznaczenia służą do oznaczania wersji, które nie są oficjalnymi wersjami wydanymi przez twórców produktu, ale są wydawane w celach testowych lub rozwojowych.