📦 Verzování
Kramerius je ekosystém vzájemně spolupracujících aplikací, nikoliv jeden samostatný software. Kromě Kramerius Core zahrnuje také další samostatně vyvíjené komponenty, například Process Platform nebo Akubra. Každá z těchto komponent má vlastní životní cyklus a vlastní schéma verzování.
Kramerius Core
Kramerius Core používá čtyřdílné číslo verze:
GENERACE.MAJOR.MINOR[.HOTFIX]
Příklady:
7.2.1
7.2.1.1
7.2.1.2
Poslední část (HOTFIX) je nepovinná. Verze bez čtvrtého čísla představuje původní vydání dané verze. Hotfix je vydán pouze tehdy, pokud je potřeba opravit již publikovanou verzi.
Generace
První číslo označuje dlouhodobou generaci produktu.
Například:
7.x.x
Toto číslo se mění jen výjimečně. Není přímo odvozeno od rozsahu implementovaných změn, ale představuje strategické rozhodnutí o nové generaci produktu. O jeho zvýšení rozhoduje vedení projektu.
Major
Druhé číslo označuje významné technické nebo architektonické změny.
Typicky se jedná o:
- zavedení nových subsystémů,
- rozsáhlý refaktoring,
- změnu architektury,
- změny ovlivňující více komponent současně.
Například verze 7.2.x přinesla zavedení Process Platform a související refaktoring zpracování procesů.
Minor
Třetí číslo označuje rozšíření funkcionality při zachování kompatibility v rámci stejné major verze.
Typicky se jedná o:
- nové funkce,
- nové možnosti konfigurace,
- rozšíření REST API,
- vylepšení uživatelského rozhraní.
Například zavedení nové konfigurace webového klienta představuje zvýšení minor verze.
Hotfix
Čtvrté číslo označuje opravnou verzi již vydaného release.
Příklady:
7.2.1 Původní vydání
7.2.1.1 První hotfix
7.2.1.2 Druhý hotfix
Hotfix obsahuje pouze opravy chyb a neměl by přinášet nové funkce ani měnit chování systému.
Pro každou vydanou verzi se hotfixy vyvíjejí na samostatné hotfix větvi, což umožňuje opravovat již vydané verze nezávisle na pokračujícím vývoji dalších verzí.
Ostatní komponenty ekosystému
Samostatně vyvíjené komponenty, například Process Platform nebo Akubra, používají jednodušší třídílné schéma verzování:
MAJOR.MINOR[.HOTFIX]
Příklady:
1.5
1.5.1
2.0
Na rozdíl od Kramerius Core zde chybí úvodní politická verze. Tyto komponenty jsou verzovány nezávisle podle svého vlastního vývojového cyklu.
Jednotlivé části čísla verze mají následující význam:
- Major – významné technické nebo architektonické změny,
- Minor – nové funkce při zachování zpětné kompatibility,
- Hotfix – opravná verze obsahující opravy chyb.
Indexer
Databaze
...
Nezávislé vydávání komponent
Komponenty ekosystému Kramerius jsou vydávány nezávisle na sobě. Nová verze Process Platform nebo Akubra proto nemusí znamenat vydání nové verze Kramerius Core a naopak.
Informace o kompatibilních verzích jednotlivých komponent jsou uvedeny v dokumentaci nebo v poznámkách k jednotlivým vydáním (GitHub Releases).