Repository navigation
Releases: CTO-DRS/arabi-lang
Release list
v1.37.0 — المدقق الساكن v1: عقود الدوال قبل التشغيل
المنسق الحتمي v2 — بند ثالث من خارطة الطريق الجديدة (أفق التمكين)
الجديد:
- النمط القياسي المعتمد (ق٢٧): مخرجات
--نسقهي النمط الوحيد — خمس قواعد محسومة: نهايات أسطر موحدة، تبويب→مسافات بإزاحة ٤×العمق، ضغط الفراغات المتتالية، قص الطرفية، وحفظ المسافات الداخلية كما كتبها الكاتب (عقد 1.33) - فارق صفر مثبت: نسق المحفوظ يعيد المحفوظ نفسه على الأمثلة كلها (٤٦ ملفًا) — سبعة منها قُنّنت في هذا الإصدار بمخرجات متطابقة قبل/بعد
- حتمية مُختبرة: نسق(نسق(س)) = نسق(س) على الأمثلة والمدخلات الشاذة (تبويبات/فراغات متتالية/بلا نهاية سطر/تتمات/نصوص متعددة الأسطر)
- حارس إلزامي في CI: خطوة تنسّق
examples/*.عربيثمgit diff --exit-code— أي التزميت خارج النمط يُسقط البوابة - شبكة الأمان القائمة باقية: الأصل السليم لا يخرج منسقًا مكسورًا — الناتج يُعاد تحليله قبل التسليم
الأرقام: 8 اختبارات جديدة (حتمية الأمثلة · فارق الصفر · المدخلات الشاذة · محاكاة الحارس · فحص الـworkflow) — المجموعة 1498/1498 على 3.12 مرتين · الأمثلة 92/92 بالوضعين · benchmarks سليمة
المرفق: arabi-lang-1.37.0.zip — المصدر عند الوسم من git archive (بلا نفايات)
v1.36.0 — المدقق الساكن v1: عقود الدوال قبل التشغيل
المدقق الساكن v1 — بند ثانٍ من خارطة الطريق الجديدة (أفق التمكين)
الجديد:
--تحقق-ساكن ملفات…: فحص عقود الدوال الموثقة (توصيفات 1.26) من المصدر وحده قبل التشغيل — ورمز خروج 1 عند أي مخالفة: عقد خطوط الاستمرارية مباشرة- حل أسماء الأنواع ساكنًا: خطأ إملاء في توصيف دالة لم تُستدعَ يُكتشف قبل التشغيل بدل أن ينفجر عند أول استدعاء — والأصناف تُجمع استباقيًا فالترتيب لا يهم (مرآة ق١٣)
- مسار «أعد» بالأدلة الساكنة: الحرفيات والحساب الحرفي واستدعاءات التحويل والنص المنسق والثلاثي المحسوم — وما لا يُحسم يُتخطى صامتًا ويُعدّ (لا تخمين — حد موثق)
- السقوط الضمني المضمون: دالة تعلن إرجاعًا بلا أي «أعد» مخالفة ساكنة (المرآة الثابتة لق١٥)
- دُمج في CI فعليًا: خطوة الفحص على المثال الرسمي
examples/46_التوصيف_الساكن.عربي(٦ دوال موثقة تغطي القوائم والنص والتحويل والصنف كنوع وعدم) - دلالة واحدة في المسارين: اختبار مرآة يثبت أن ما يرفضه الساكن يرفضه فاحص 1.26 وقت التشغيل (القسم ٦٫٨ من المواصفة)
الأرقام: 33 اختبارًا جديدًا (محرك ٢١ · CLI ٦ · تكامل CI ٣ ومنها مرآة دلالية) — المجموعة 1490/1490 على 3.12 مرتين · الأمثلة 92/92 بالوضعين · بوابات benchmarks سليمة · مسح AST أمني نظيف (لا eval/exec — الفحص من الشجرة وحدها)
المرفق: arabi-lang-1.36.0.zip — المصدر عند الوسم من git archive (بلا نفايات)
v1.35.0 — المنقّح التفاعلي: بند أول من أفق التمكين
المنقّح التفاعلي — بند أول من خارطة الطريق الجديدة (أفق التمكين)
الجديد:
- جلسة تنقيح عربية كاملة:
python3 arabi.py --نقح برنامج.عربي— توقف على أول جملة ثمتوقف عند 5وتوقف عند دالة احسب(موثقة مقابل أسطر الشجرة) ومتابعة/خطوة/تالية/من_الدالةواطبع تعبيرفي بيئة الإطار الموقوف ومتغيرات/عالمي/أين/مصدروإنهاء— بأسطر مصدر تُعرض حول الموقف بعلامة - مهايئ بروتوكول DAP للمحررات:
--منقح-بروتوكول— البروتوكول الذي تنقّح به المحررات القائمة على خوادم اللغة: launch/setBreakpoints (verified مقابل أسطر الشجرة)/stackTrace (إطار ٠ = الجملة الحالية، والصاعد بسطر استدعائه)/scopes/variables/continue/next/stepIn/stepOut/disconnect مع أحداث initialized/stopped بأسبابها/output/terminated/exited — ومخرجات البرنامج تُحوَّل أحداث output فلا تلوث القناة - التصميم مؤسس بمسبار حي (٩/٩): خطاف وحيد
debug_hookعلىexecute()يرى كل جمل الممسح الشجري بكلفة صفرية على التشغيل العادي (لمسة ثانية فيrun()للتعبيرية العلوية التي تتجاوزها بنيويًا) — والقرارات مثبتة في الفصل ٩ من المواصفة (ق٢٥/ق٢٦) - حدود صادقة موثقة (٩٫٤): لا نقاط مشروطة ولا تعديل قيم حي بعد — والدولاب معطل أثناء الجلسة (أجسامه لا تمر بالخطاف أصلًا) والخيط المُنقَّح وحده يتوقف (أجسام المولدات بخيوط عامل)
الأرقام: 38 اختبارًا جديدًا على ثلاث طبقات (المحرك بواجهة مجدولة · CLI عبر subprocess كما يفعله المستخدم · DAP بمحادثات مؤطرة حقيقية) — المجموعة 1457/1457 على 3.12 (مرتين: قبل الكومِت وبعده) · الأمثلة 90/90 بالوضعين · بوابات benchmarks سليمة (دولاب 1.631s / شجري 2.393s — بلا تراجع) · مسح AST أمني نظيف (لا eval/exec/شبكة — التقييم عبر مفسر اللغة نفسه)
المرفق: arabi-lang-1.35.0.zip — المصدر عند الوسم من git archive (بلا نفايات: لا .git ولا pycache)
v1.34.1 — إصلاح عاجل: توحيد الاختبارات على unittest
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.34.1.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)
v1.34.0 — المرحلة 12: الإغلاق النهائي
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.34.0.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)
v1.33.0 — المرحلة 11: حملة التوثيق الصادق
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.33.0.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)
v1.32.0 — المرحلة 10: التزامن والموزع
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.32.0.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)
v1.31.0 — المرحلة 9: حملة الاختبار الخارجية
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.31.0.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)
v1.30.0 — المرحلة 8: القياسات المعيارية (benchmarks/)
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.30.0.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)
v1.29.0 — المرحلة 7: سلسلة التوريد (بصمات المحتوى)
سلسلة التوريد — بصمات المحتوى من الناشر حتى التثبيت (ق٢١–ق٢٣)
الجديد:
- ق٢١ بصمة الناشر: النشر يحسب sha256 للأرشيف ويرسله بترويسة
X-Arabi-Fingerprint— الخادم يرفض 400 عند الخلاف ويخزن البصمة الموثقة من الناشر (لا مولدة من الخادم) - ق٢٢ التحقق وقت التثبيت: الفهرس يعلن حقل
البصمة— العميل يرفض أي تنزيل لا يطابقه فشلًا مغلقًا قبل أي فك أو تثبيت (رسالة عربية تذكر المعلن والفعلي)، والمحتوى الشبكي بلا إعلان يحذّر صادقًا، والمقارنات زمن-ثابت - ق٢٣ القفل والفحص: القفل يسجل
بصمة_الشجرةلكل حزمة مثبتة (هاش شامل للملفات مرتبة، مستثنيًا__بايت__) — وحزمة فحصيعيد الحساب ويكشف أي عبث بعد التثبيت برمز خروج 1 - توافق كامل: فهارس وأقفال البروتوكول الأقدم تعمل بلا إنذارات كاذبة
الأرقام: 28 اختبارًا جديدًا (tests/test_supply_chain.py) — المجموعة 1351/1351 على 3.12 (مرتين) · الأمثلة 90/90 بالوضعين · دخان CLI حي كامل (نشر→تثبيت موثق→فحص→عبث→كشف→تشغيل) · الأداء مطابق للمرجع (دولاب 1.63s / شجري 2.35s) · قرارات ق٢١–ق٢٣ + الفصل ٨ في مواصفة اللغة
المرفق: arabi-lang-1.29.0.zip — المصدر عند الوسم من git archive (109 ملفات، بلا نفايات: لا .git ولا pycache)