Semantic Versioning یا SemVer قراردادی رایج برای شماره‌گذاری نسخه‌ها در قالب MAJOR.MINOR.PATCH است. معمولاً تغییر ناسازگار نسخه اصلی را افزایش می‌دهد، قابلیت سازگار نسخه فرعی را و اصلاح باگ نسخه Patch را.

نحوه استفاده در عمل

اگر کتابخانه‌ای از نسخه 2.4.1 به 2.5.0 برسد، انتظار می‌رود قابلیت سازگار جدیدی اضافه شده باشد. البته این تفسیر به رعایت قرارداد توسط نگهدارنده بستگی دارد.

نسخه‌بندی معنایی جایگزین تست سازگاری نمی‌شود. هنگام ارتقا باید Changelog و محدودیت وابستگی‌ها بررسی شود.

در همین واژه‌نامه، گیت و یکپارچه‌سازی و تحویل/استقرار مداوم از مفاهیم مرتبط هستند.

مثال شماره نسخه

در الگوی SemVer شماره MAJOR.MINOR.PATCH به ترتیب برای تغییر ناسازگار، قابلیت سازگار و اصلاح باگ استفاده می‌شود. اما معنی دقیق سازگاری در کتابخانه، API و سرویس باید در قرارداد محصول مشخص باشد.