2 min read

Yazılım Sürümünü Daha Anlaşılır Hale Getirmek: Semantic Versioning Rehberi

November 27, 202404:43

Semactic versioning (SemVer) yani semantik versiyonlama konusunda kısa ve kolay anlaşılır bir rehber hazırlamak istedim, bunu öğrenmek için doğru yerdesiniz. Gelin başlayalım.

Yazılım geliştirirken ürün sürümünün yönetimi git gide karmaşık bir hale gelebilir. Geliştirme aşaması bittiğinde ürün sorunsuz, kusursuz, tüm durumlara ve uzun yıllar kullanıma uygun çalışmaz. Bir bina inşa etmeye benzer. Yayınlanan güncellemelerle hatalar giderilebilir, ürüne yeni özellikler eklenebilir veya performans iyileştirmeleri yapılabilir. Ancak yapılan değişikliklerin, yazılımı geliştiren geliştiriciler tarafından doğru şekilde anlaşılması önemlidir.

Bu sorunları çözmek adına standartlaştırmalar ortaya çıkar, Semantik Versiyonlama (Semantic Versioning veya kısaca SemVer) da versiyonlama yöntemi olarak ortaya çıkan bir çözümdür ve yazılım geliştirme camiasında kabul görür, kullanılır. Peki, semantik versiyonlama nedir ve nasıl çalışır? Gelin detaylıca inceleyelim.

Semantik Versiyonlamanın Temel Yapısı

Semantik versiyonlama, üç temel sürüm numarası formatı kullanır. Major, minor ve patch.

1. MAJOR (Ana Sürüm):

Geriye dönük uyumluluğu bozan büyük değişiklikler yapıldığında bu sayı artırılır. Örneğin, bir API'de mevcut fonksiyonların davranışı değişirse veya tamamen kaldırılırsa, bu bir ana sürüm artışı gerektirir.

Örnek: 1.0.02.0.0

2. MINOR (Alt Sürüm):

Geriye dönük uyumluluğu bozmadan yeni özellikler eklediğinde artırılır. Mevcut işlevler aynı kalır, ancak kullanıcılar yeni özelliklere erişebilir.

Örnek: 1.2.01.3.0

3. PATCH (Yama Sürümü):

Küçük hata düzeltmeleri ve iyileştirmeler için bu sayı kullanılır. Yeni özellik eklenmez; yalnızca mevcut fonksiyonların sorunları çözülür.

Örnek: 1.2.11.2.2

Örnek:

MAJOR.MINOR.PATCH (örneğin, 2.9.4).

  • 2: Ana sürüm, önemli bir değişiklikte artar.
  • 9: Alt sürüm, yeni özellikler eklediğinde artar.
  • 4: Yama sürümü, hata düzeltmelerinde artar.

Güncelleme Sonrası Sürüm Artışı

Bir güncelleme sürümü sonrasında, değişiklik türüne göre major, minor veya patch sürümü artırılır. Peki ya diğerleri nasıl güncellenir? Bir örnek üzerinden inceleyelim.

Örneğin sürümün 1.5.9 olduğunu varsayalım.

1. Yama (Patch) Güncelleme Yapıldığında

Yalnızca patch sürüm bir artırılır. 1.5.91.5.10.

2. Minor Güncelleme Yapıldığında

Minor sürüm bir artırılır ve patch sıfırlanır. 1.5.91.6.0.

3. Major Güncelleme Yapıldığında

Major sürüm bir artırılır ve minor ile patch sıfırlanır. 1.5.92.0.0.


Sonuç

Semantik versiyonlama, yazılım geliştirme sürecinde önemli bir rehberdir ve hem geliştiriciler hem de kullanıcılar için büyük kolaylık sağlar. Versiyon numaralarındaki belirgin değişiklikler, yapılan güncellemelerin türünü ve etkilerini açıkça belirtir, bu da yazılımın evrimini daha anlaşılır kılar. Her güncelleme, kullanıcıların ve geliştiricilerin nasıl bir değişiklik bekleyeceklerini anlamalarını sağlar.

Share this post

Link copied!
Mustafa Kürşad Başer

Mustafa Kürşad Başer

Software Engineer

A passionate software engineer who enjoys creating elegant solutions to complex problems. Beyond coding, I am deeply interested in exploring the intersections of technology, art, and human consciousness.

Mustafa Kürşad BAŞER

Software Engineer

A software engineer who brings complex problems together with elegant solutions and loves to add value by sharing what he learns.

Software Development
Neuroscience
History & Philosophy

© 2025 Mustafa Kürşad BAŞER. All rights reserved.

Çerez Tercihleri

Size daha iyi bir deneyim sunabilmek için çerezleri kullanıyoruz. Analitik ve reklam amaçlı çerezler hakkında detaylı bilgi için ayarları özelleştirebilirsiniz.