هل هناك مشكلة في هذه الأداة؟
عن «Semver Compare Online»
تقارن هذه الأداة إصدارين من SemVer (الإصدار الدلالي) — مثل ١.٢.٣ مقابل ١.٣.٠-beta — وتخبرك أيهما أحدث، ومدى الفرق بينهما، وما نوع التغيير الذي يفصلهما (major، minor، patch، prerelease).
SemVer هو مخطط الإصدارات القياسي للمكتبات والحزم وواجهات برمجة التطبيقات. يشير إلى تأثير التغييرات: تكسر الزيادات الرئيسية التوافق، وتضيف الزيادات الثانوية الميزات، وتُصلح الترقيعات الأخطاء، وتشير علامات prerelease إلى البناءات غير المستقرة. قراءة SemVer بشكل صحيح أمر بالغ الأهمية عند ترقية التبعيات.
تتبع الأداة مواصفات SemVer 2.0 بالضبط، بما في ذلك قواعد ترتيب prerelease. مفيدة عند تخطيط ترقيات الإصدار، أو مقارنة علامات الإصدار في CI/CD، أو بناء أدوات التبعية التي تحتاج إلى تقييم قيود الإصدار.
كيف تستخدم هذه الأداة
كيف أُقارن نسختي SemVer؟
أدخل النسختين
«Version A» و «Version B» يقبل كلٌّ منهما سلسلة SemVer مثل `1.2.3`. تُحذف `v` الأمامية، ويُعتمد 0 افتراضًا للـ patch (فيُحلَّل `1.2` كـ `1.2.0`). تُتجاهَل البيانات الوصفية pre-release/build — تُقارَن major/minor/patch فقط.
اضغط «تشغيل»
تعيد النتيجة حقلًا واحدًا `cmp` — `-1` إذا A < B، و `0` للتساوي، و `1` إذا A > B. المقارنة لكل مكوّن: major ثم minor ثم patch.
أمثلة
`1.0.0` مقابل `1.0.1` → cmp -1. `2.0.0` مقابل `1.99.99` → cmp 1 (يفوز major). `1.2.3` مقابل `1.2.3-rc.1` → cmp 0 (pre-release متجاهلٌ هنا خلافًا لـ SemVer الكامل).
اختلاف هذا عن SemVer الحقيقي
SemVer الصارم (semver.org) يعتبر `1.2.3` > `1.2.3-rc.1` لأن pre-release يأتي قبل الإصدار. تتجاهل هذه الأداة كل ما بعد patch — جيد للفحوص السريعة، أما منطق نطاقات npm `^/~` فاستخدم له مكتبة semver حقيقية.