Semantic Versioning Nedir?
İngilizce: Semantic Versioning (SemVer)
Semantic Versioning, sürüm numarasını MAJOR.MINOR.PATCH biçiminde kullanarak kırıcı değişiklik, yeni özellik ve hata düzeltmesini ayıran standarttır.
Semantic Versioning Nedir?
Semantic Versioning veya SemVer, yazılım sürüm numarasının değişikliğin etkisini anlatmasını amaçlar. 2.4.1 gibi bir sürümde ilk sayı kırıcı değişiklikleri, ikinci sayı geriye uyumlu yeni özellikleri, üçüncü sayı ise hata düzeltmelerini ifade eder.
Bu düzen özellikle kütüphane, paket, SDK ve API yayınlayan ekipler için önemlidir. Kullanıcılar yalnızca sürüm numarasına bakarak güncellemenin riskini daha iyi tahmin eder.
MAJOR.MINOR.PATCH Mantığı
- MAJOR: Geriye uyumsuz değişiklik vardır. Eski entegrasyonlar değişiklik isteyebilir.
- MINOR: Geriye uyumlu yeni özellik eklenmiştir.
- PATCH: Geriye uyumlu hata düzeltmesi yapılmıştır.
- Pre-release:
1.3.0-beta.1gibi etiketlerle deneme sürümü belirtilir. - Build metadata:
+build.45gibi üretim bilgileri eklenebilir.
İş Dünyasında Kullanımı
SemVer, paket yöneticilerinde otomatik güncellemeyi daha güvenli hale getirir. Örneğin bir muhasebe entegrasyonu ^1.8.0 aralığını kabul ediyorsa patch ve minor güncellemeleri alabilir; 2.0.0 ise manuel inceleme gerektirir.
Sürüm numarası tek başına yeterli değildir. Değişiklik günlüğü, migration notları, test kapsamı ve Git etiketleriyle birlikte kullanıldığında anlam kazanır. Dış sistemlere sunulan servislerde SemVer, API versiyonlama kararlarının da parçası olabilir.