أداة حساب SemVer
يعتمد نظام الإصدار الدلالي على خمسة مكونات متغيرة: MAJOR MINOR PATCH، بالإضافة إلى امتدادات اختيارية هي -prerelease و+build. يستقبل هذا الحاسب سلسلة إصدار، ويتحقق من مطابقتها لقواعد semver 2.0.0، ثم يقسّمها إلى مكوناتها ويعرض الإصدارات التالية الرئيسية والثانوية والتصحيحية وما قبل الإطلاق (-rc.1) جنبًا إلى جنب.
كيفية ترقية إصدار ما
-
1
قم بلصق الإصدار الحالي
يدعم أشكال `1.2.3` و`1.2.3-rc.1` و`2.0.0-alpha+exp.sha.5114f85` وغيرها من أشكال نسخة 2.0.0.
-
2
اقرأ الأجزاء التي تم تحليلها
تقسّم الأداة السلسلة إلى إصدار رئيسي وثانوي وتصحيحي وما قبل الإطلاق وبيانات البناء، حتى تتأكد من أنها فُسّرت كما تتوقع.
-
3
قارن الإصدارات التالية
تعرض الإصدار الرئيسي والثانوي والتصحيحي التالي في آنٍ واحد، بالإضافة إلى إصدار مرشّح لما قبل الإطلاق (`-rc.1`). ترقية الإصدار الثانوي تعيد ضبط التصحيحي إلى 0؛ وترقية الإصدار الرئيسي تعيد ضبط كل من الثانوي والتصحيحي.
-
4
قم بنسخ الإصدار الجديد
اختر الإصدار المناسب لتغييرك واستخدمه في ملف `package.json` أو `Cargo.toml` أو وسم Git أو ملاحظات الإصدار.
ما الذي يعرضه هذا الحاسب
بالنسبة لإصدار مثل 1.2.3، تعرض الأداة أربعة إصدارات تالية مقترحة:
| الترقية | يصبح 1.2.3 |
|---|---|
| رئيسي | 2.0.0 |
| ثانوي | 1.3.0 |
| تصحيحي | 1.2.4 |
| ما قبل الإطلاق | 1.2.4-rc.1 |
ترقية الإصدار الثانوي تعيد ضبط التصحيحي إلى 0؛ وترقية الإصدار الرئيسي تعيد ضبط كل من الثانوي والتصحيحي إلى 0. يضع اقتراح ما قبل الإطلاق التصحيحي التالي كمرشّح للإصدار. تضيف أدوات سطر الأوامر مثل npm version عمليات أخرى (premajor وpreminor وprepatch، وزيادات ما قبل الإطلاق في مكانها مثل تحوّل 1.2.3-beta.1 إلى 1.2.3-beta.2) إذا احتجت إليها ضمن سكربت إصدار.
قواعد الأولوية التي ستواجهها
- الإصدار التمهيدي يتمتع بأولوية أقل من الإصدار النهائي:
1.0.0-rc.1<1.0.0. - تُقارن المعرّفات الرقمية بشكل رقمي؛ بينما تُقارن الحروف والأرقام بشكل لغوي:
1.0.0-alpha.2<1.0.0-alpha.11. - يتم تجاهل بيانات الوصف (
+sha.abc) من حيث الأولوية؛ أما1.0.0+20240101و1.0.0+20250101فهي إصدارات متساوية. - الصفر الأول في المعرّف العددي غير صحيح؛ مثالًا،
1.0.0-rc.01ليس قيمة من نوع semver، لذا يجب استخدامrc.1.
قائمة ملخصة لمدى القيم
^1.2.3: أي إصدار يبلغ أو يزيد عن 1.2.3 ويقل عن 2.0.0 (ويظل ضمن نفس الإصدار الرئيسي).~1.2.3: أي إصدار يبلغ أو يزيد عن 1.2.3 ويقل عن 1.3.0 (ويظل ضمن نفس التصنيف الفرعي).>=1.2.3 <2.0.0، النطاق الصريح.- يُعد
0.xحالة خاصة؛ إذ تعامل npm مع^0.2.3على أنه>=0.2.3 <0.3.0، نظرًا لأن الإصدارات السابقة لـ 1.0 تُعتبر غير مستقرة.
متى يجب إجراء تعديل كبير؟
التحديث الكبير يشمل أي تغيير قد يؤثر سلبًا على المستخدمين النهائيين: إزالة واجهة برمجة التطبيقات العامة، تعديل توقيع الدالة، تغيير السلوك الافتراضي، أو إعادة تسمية مفتاح التكوين. أما التحديث الصغير فيقتصر على التغييرات الإضافية فقط. بينما يهدف التحديث الجزئي إلى إصلاح الأخطاء دون تعديل العقدة التقنية الأساسية.
الأسئلة الشائعة
لا، الرقم 01.2.3 غير صالح. يجب أن يكون كل معرّف رقمي عددًا صحيحًا غير سالب ولا يحتوي على صفرات في بدايةه، باستثناء الرقم 0 نفسه.
استخدم علامة التحديث من جهازك السابق من طراز 1.0.0-rc.N؛ حيث يُعتبر هذا الإجراء انتقالًا من النسخة قبل الإصدار إلى النسخة النهائية. أو بديلًا، قم بتحديد الإصدار بشكل صريح ووضع علامة تعيين له.
لا، بيانات الوصف (metadata) الخاصة بمرحلة البناء تأتي بعد + وتُتجاهل عند تحديد الترتيب؛ بينما تأتي بيانات المرحلة ما قبل الإصدار بعد - وتقل أولويتها عن إصدار النسخة النهائية. ومع ذلك، تسمح معظم السجلات باستخدام كلا النوعين معًا، مثل حالة 1.2.3-rc.1+build.77.
نعم، لا يتطلب نظام Semver تسلسل التحديثات الرئيسية بشكل متتالي؛ فانتقال من إصدار 3.x مباشرة إلى إصدار 5.x مسموح به، على الرغم من أن معظم الفرق تستخدم هذا الانتقال فقط لإشارة إلى تغيير كبير ومُعدّ للإخلال بالعملية التشغيلية.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
مدقق البريد الإلكتروني
تحقق من عنوان بريد إلكتروني: فحص صياغة RFC 5322، واستعلام حي عن سجل MX، بالإضافة إلى تفاصيل الجزء المحلي والنطاق والطول. لا يتم إرسال أي بريد.
مولد EditorConfig
أنشئ ملف .editorconfig من قواعد المسافة البادئة ونهاية السطر ومجموعة الأحرف، ثم أضف قسمًا صحيحًا لكل لغة في مستودعك: Python وGo وYAML وMakefile وغيرها.
الأداة متاحة بلغات أخرى
- Calculadora SemVer [ES]
- Calculateur SemVer [FR]
- Calculadora SemVer [PT]
- SemVer Rechner [DE]
- SemVer-calculator [NL]
- 세미버 계산기 [KO]
- เครื่องคำนวณ SemVer [TH]
- SemVer計算ツール [JA]
- SemVer-kalkylator [SV]
- Bộ tính toán SemVer [VI]
- SemVer Calculator [ID]
- Kalkulator SemVer [PL]
- SemVer计算器 [ZH]
- SemVer Calculator [EN]
- Calcolatore SemVer [IT]
- Калькулятор SemVer [RU]
- SemVer Hesaplayıcı [TR]