Flera olika paket och moduler integreras ofta i ett system och i sin tur interagerar ofta olika system med varandra. Detta nät skapar ett beroende sinsemellan där det är viktigt att varje modul levererar och kommunicerar på ett givet sätt. För att kunna vidareutveckla och förändra en modul men ändå kunna garantera ett visst beteende är versionshanteringen viktig för att kunna spara och nyttja ett visst stadie av utvecklingen. Semantisk versionshantering följer en modell med tre nivåer eller typer av uppdateringar som kallas major, minor och patch (syntax: 0.0.0 (major.minor.patch)). Följande typer av förändringar påverkar de olika parametrarna: