Bir yazılımın 2.4.1 sürümünden 3.0.0 sürümüne geçmesi ile 2.4.2 sürümüne geçmesi aynı şey değildir. Sürüm numaraları, bir güncellemenin ne kadar risk taşıdığını anlatan kısa bir mesajdır. Bu mesajı okumak hem yazılımcıların hem de yazılım kullanan işletmelerin işine yarar.
SemVer: MAJOR.MINOR.PATCH
Semantik versiyonlama (SemVer), en yaygın sürüm numaralandırma kuralıdır:
| Parça | Ne zaman artar? | Örnek |
|---|---|---|
| MAJOR | Geriye uyumsuz değişiklik | 2.4.1 → 3.0.0 |
| MINOR | Geriye uyumlu yeni özellik | 2.4.1 → 2.5.0 |
| PATCH | Geriye uyumlu hata düzeltmesi | 2.4.1 → 2.4.2 |
Kısacası: PATCH güncellemesi genellikle güvenle yapılır, MINOR yeni özellik getirir, MAJOR ise "bir şeyler kırılabilir, notları okuyun" demektir.
Ön sürümler ve etiketler
- 1.0.0-beta.2, 2.0.0-rc.1 gibi ekler ön sürümü gösterir; canlı ortamda kullanılmamalıdır.
- 0.x.y sürümleri, yazılımın henüz kararlı olmadığını ve her an değişebileceğini anlatır.
LTS: uzun süreli destek
Bazı yazılımlar belirli sürümleri LTS (Long Term Support) olarak işaretler. Örneğin .NET'in çift numaralı sürümleri (.NET 8, .NET 10) üç yıl destek alan LTS sürümleridir. İşletme uygulamalarında LTS sürümleri tercih etmek, sık güncelleme yükünü azaltır. Güncel .NET sürümüne geçiş için bkz. .NET 10 yenilikleri.
API'lerde sürümleme
Kendi API'nizi geliştirirken de aynı mantık geçerlidir: mevcut istemcileri bozacak değişiklikler yeni bir ana sürümle yapılmalıdır. Ayrıntılar için API versiyonlama yazısına bakabilirsiniz.
Güncelleme stratejisi
- Güvenlik yamalarını gecikmeden uygulayın; çoğu PATCH düzeyindedir.
- MINOR güncellemeleri test ortamında deneyip düzenli aralıklarla alın.
- MAJOR güncellemeleri planlı bir iş olarak ele alın; sürüm notlarını ve "breaking changes" listesini okuyun.
- Paket yöneticilerinde sürüm aralıklarını bilinçli belirleyin ve kilit dosyalarını (lock file) saklayın.
- Destek süresi biten sürümleri envanterinizde işaretleyin.
Desteği bitmiş bir yazılım güvenlik güncellemesi almaz; bu da KOBİ siber güvenlik kontrol listesinin önemli maddelerinden biridir.
Değişiklik günlüğü (changelog)
İyi bir yazılım, her sürümde neyin değiştiğini açıkça yazar. Kendi projelerinizde de "Eklendi, Değişti, Düzeltildi, Kaldırıldı" başlıklarıyla kısa bir değişiklik günlüğü tutmak, ekip içi ve müşteriyle iletişimi kolaylaştırır.
Sık sorulan sorular
Her yazılım SemVer kullanır mı?
Hayır. Bazıları tarih tabanlı (2026.10 gibi) sürüm kullanır. Bu durumda sürüm notlarına bakarak uyumluluk durumunu anlamak gerekir.
Otomatik güncellemeyi açmalı mıyım?
Güvenlik yamaları için genellikle evet; iş kritik yazılımlarda büyük sürümler için önce test etmek daha güvenlidir.
Sonuç
Sürüm numarası, bir güncellemenin risk etiketidir. Bu etiketi okumayı bilmek, sistemlerinizi hem güncel hem de kararlı tutmanızı sağlar.