# Loyiha versiyasidagi raqamlar nimani anglatadi

Semantik Versiyalash (SemVer) dasturiy ta'minot uchun versiyalash sxemasi bo'lib, loyihadagi yangi o'zgarishlar haqida ma'lumotni tartiblab berishga qaratilgan tushuncha hisoblanadi.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1720811253068/a52b91a7-176f-447b-b2b8-dd86a476eb07.jpeg align="center")

🔹 SemVer uch qismli versiya raqamidan foydalanadi: `MAJOR.MINOR.PATCH`.

* `MAJOR` versiyasi: Loyihaning oldingi versiyalari bilan mos tushmaydigan API o'zgarishlar qilinganda bu raqam oshirildi.
    
* `MINOR` versiyasi: Loyihaning oldingi versiyasi bilan mos keladigan tarzda yangi funksionallik qo'shilganda bu raqam oshiriladi.
    
* `PATCH` versiyasi: Loyihaning oldingi versiyasi bilan mos keladigan xato tuzatishlar (Bug fix) kiritilganda oshiriladi.
    

🔹 Amaliy misol:

1 - Loyihani dastlabki versiyasi `0.1.0` bilan boshlang.

2 - Birinchi stable (barqaror) versiyasi chiqarilish stable release : `1.0.0.` kabi nomlashingiz ungacha bo'lgan o'zgarishlariningiz versiyalarini minor va patch lar orqali saqlab borsangiz bo'ladi

3 - Keyingi o'zgarishlarda agar `patch` chiqarmoqchi bo'lsangiz : `1.0.0` versiya uchun bug fix o'zgarishlarini versiyani `1.0.1` kabi versiyada chiqarishingiz mumkin.

4- Loyihaga oldingi versiya bilan mos bo'lgan yangi funksional (feature) qo'shganingizda aytaylik oldingi versiya `1.0.3` bo'lsa yangi funksional qo'shilgan versiyangiz `1.1.0` ko'rinishda bo'lishi mumkin. (`minor` o'zgarish)

5- Loyihaning oldingi versiyasi bilan mos kelmaydigan yangi funksionallar qo'shilgan versiyasi - `major`. Masalan o'zgarishlar kiritilmasdan oldingi versiyasi `1.2.2` bo'lsa Major o'zgartirish kiritgan versiyangiz `2.2.0` ko'rinishda bo'ladi.

6 - Maxsus versiyalar va reliz chiqarishdan olding versiyalar qo'shimcha belgilab yordamgi `beta`, `alpha` rc (pre-reliz) kabi versiyalarga ajratib olish mumkin.

Masalan: `1.0.0-alpha`, `1.0.0-beta`, `1.0.0-rc` Yaratilish sanasini qo'shish : `1.0.0+20240313144700`.
