Nedir Semantik Sürümleme
Sürüm numaralandırma standardı MAJOR.MINOR.PATCH
Semantik Sürümleme (SemVer) — MAJOR.MINOR.PATCH formatında yazılım sürüm numaralandırma standardı, her parçanın belirli bir anlamı vardır.
Sürüm yapısı
- MAJOR (1.x.x) — uyumsuz API değişiklikleri
- MINOR (x.1.x) — geriye dönük uyumlu yeni işlevsellik
- PATCH (x.x.1) — geriye dönük uyumlu hata düzeltmeleri
- Ön sürüm — 1.0.0-alpha, 1.0.0-beta.1
- Build meta verisi — 1.0.0+build.123
Kurallar
- Başlangıç sürümü — 0.1.0
- İlk kararlı sürüm — 1.0.0
- MAJOR artırırken — MINOR ve PATCH'i sıfırla
- MINOR artırırken — PATCH'i sıfırla
- Sürümler soldan sağa karşılaştırılır
Değişiklik örnekleri
- MAJOR: fonksiyon kaldırma, metod imza değişikliği
- MINOR: yeni endpoint ekleme, yeni opsiyonel parametre
- PATCH: hata düzeltme, performans iyileştirme
Araçlar
- npm — paketler için SemVer kullanır
- Composer — PHP paket yöneticisi
- Maven — Java bağımlılıkları
- semantic-release — sürüm otomasyonu
- commitizen — yapılandırılmış commitler
Faydalar
- Öngörülebilirlik — güncellemelerden net beklentiler
- Otomasyon — otomatik sürüm belirleme
- Dokümantasyon — commitlerden changelog
- Uyumluluk — güvenli bağımlılık güncellemeleri