v4.8.11¶
إصدار v4.8.11 هو إصدار للاستقرار والصحة يركز على متانة macOS، وتسلسل الأدوات الخارجية، وموثوقية تحديث البرنامج الثابت. وهو مبني على Qt Creator 14.0.2 (دون تغيير عن الإصدار السابق) ولا يحتوي على أي تغييرات كاسرة لمشاريع المستخدمين.
أبرز النقاط¶
تحصين أعطال macOS — تم التخلص من حالة إجهاض صامتة متقطعة من نوع
NSRangeExceptionكانت ناتجة عن تحديث تحديدات الشجرة/القائمة/الـ combo قبل اكتمال بناء لوحة أو نافذة منبثقة أو أثناء تحديث غير متزامن، عبر combo المخطط التفصيلي، وتسلسل الاستدعاء/النوع، ونوافذ الإكمال والمحدد المنبثقة، وشجرة المشروع، والمزيد.أدوات خارجية متسلسلة — أصبح مربع حوار تقدم المُحمِّل الآن مشروطاً على مستوى التطبيق ويعلّق كل استقصاء الأجهزة، بحيث لا يمكن إعادة الدخول إلى تشغيل dfu-util وbossac وpicotool والأدوات الأخرى من خلال بث الكاميرا أو إعادة الاتصال التلقائي.
تحديثات موثوقة للبرنامج الثابت — لم يعد بإمكان إعادة الاتصال التلقائي اختطاف تحديث برنامج ثابت أثناء الكتابة على الفلاش، وهو ما كان يُسقط سابقاً الاستمرارية الفعلية ويُظهر مربع حوار DFU زائف.
أمان Hello World — لم يعد توصيل لوحة يكتب أحياناً فوق برنامج Hello World الذي أدخلت فيه نصاً، وذلك بالمقارنة مع لقطة نقية بدلاً من علامة التعديل غير الموثوقة.
أخطاء DFU أوضح — أصبح خطأ "no matching interface" الآن يذكر اللوحة المكتشفة وأسماء ملفات البرنامج الثابت التي تقبلها بدلاً من إظهار VID/PID خام.
ميزات جديدة¶
ST Edge AI (STM32N6) أصبح الآن يُنتج الملف الثنائي للشبكة القابل للنقل مباشرةً عبر وضع
--relocatableفي المُترجِم، مما يزيل خطوة النقل المنفصلة بلغة Python وحقل Relocation CLI Options الإضافي من مربع الحوار (7613135c5).
تغييرات وتحسينات أخرى¶
أخطاء واجهة DFU أصبحت الآن تذكر اللوحة المكتشفة وتسرد أسماء ملفات البرنامج الثابت التي تقبلها تلك اللوحة، مع إرشاد لإعادة التسمية أو اختيار الملف الصحيح، بدلاً من إظهار VID/PID خام (ac509b369).
اختصارات التنقل بين علامات التبويب في macOS أصبحت الآن تستخدم
Cmd+Shift+[/Cmd+Shift+](السابق/التالي) وCmd+Alt+[/Cmd+Alt+](النقل) القابلة للوصول بدلاً منCtrl+PageUp/Ctrl+PageDownالتي يتعذر الضغط عليها؛ وتبقى ارتباطات Windows وLinux دون تغيير (6c09e10b1).طلبات الترخيص/اللوحة إلى
upload.openmv.io(check.phpوinsert.phpوregister.php) أصبحت الآن ترسلUser-Agentبنمط المتصفح خاصاً بكل منصة بحيث يستطيع خادم الترخيص تحديد نظام تشغيل العميل (6bfd74b36).
إصلاحات الأخطاء¶
تم إصلاح عطل متقطع في macOS (إجهاض صامت من نوع
NSRangeExceptionبدون مربع حوار للعطل) حيث كان تحديث تحديدات الشجرة/القائمة/الـ combo بينما لا تزال لوحة أو نافذة منبثقة مخفية أو في منتصف تحديث غير متزامن يفهرس في ذاكرة تخزين مؤقت لإمكانية الوصول في Cocoa لم تُبنَ بعد. أصبح التحديد والتمرير والتوسيع الآن مؤجلين أو محميين عبر combo المخطط التفصيلي، وتسلسل الاستدعاء/النوع، ونافذة إكمال الشيفرة المنبثقة، ونافذة المحدد المنبثقة، ومربع حوار Save Items، وشجرة المشروع، والتنقل بين المجلدات، وOpen Documents، وقائمة Issues/Tasks، وcombo عرض الشجرة (94c8f9def، ae40a3806، ed23b5c60، c6baf89cd، d7b6f5838، d8b70609c، 21740d9c2، 9217fc8a9، fe75924d5، 9cc247ffb، 3ca71e915، 559b6005f).تم إصلاح عطل منفصل في macOS (
NSRangeException/SIGABRT) في combo مخطط الشيفرة التفصيلي ناتج عن فهرس قديم خارج النطاق عندما كان خادم لغة Python يحدّث الرموز بشكل غير متزامن؛ أصبحsetCurrentIndexالآن يعيد التحقق من حدود الصف/العمود مقابل النموذج الحي (3e0ce89f1).تم تحصين محرر نموذج ROMFS ومحرر مجموعة البيانات ضد سباقات
QFileSystemModelغير المتزامنة عن طريق تأجيل التوسيع المسبق للشجرة حتى ينتهي تحميل الدليل وعدم تحديد الملفات/المجلدات/النماذج المنشأة حديثاً إلا بعد أن يحصل النموذج على فهرس صالح لها (5eaa91aff).لم تعد عمليات الأدوات الخارجية (dfu-util وbossac وpicotool وalif وimx وST Cube وmpy-cross وvela وST Edge AI وتحويل الفيديو) تسمح لبث الكاميرا أو العمل المُدرَج في الطابور بإعادة الدخول إلى عملية على الجهاز خلف الأداة قيد التشغيل: أصبح مربع حوار تقدم المُحمِّل الآن مشروطاً على مستوى التطبيق ويُعلَّق استقصاء الأجهزة بالكامل أثناء عرضه (3069e8ec0).
لم تعد إعادة الاتصال التلقائي تختطف تحديث برنامج ثابت أثناء الكتابة على الفلاش عبر علامة لاصقة تشير إلى أن تحديث البرنامج الثابت قيد التقدم تظل مفعّلة طوال عملية الإجبار/محمّل الإقلاع/المسح التي أصبح مؤقت إعادة الاتصال يتحقق منها أيضاً الآن (b7745484a).
لم يعد توصيل لوحة يكتب أحياناً فوق برنامج Hello World الذي أدخلت فيه نصاً، وذلك بمقارنة المستند الحي مع لقطة نقية مُلتقطة عند الفتح بدلاً من الاعتماد على علامة التعديل غير الموثوقة قبل المزامنة التلقائية للمثال الخاص بكل مستشعر (6f4539d44).
لم يعد التمرير لأعلى في الطرفية التسلسلية أثناء الإخراج المتواصل السريع يعيد سحب العرض إلى الأسفل: أصبحت مسارات الإلحاق الآن تتبع علامة نية تمرير المستخدم اللاصقة بدلاً من إعادة استنتاج "عند الأسفل" من موضع شريط التمرير الذي كان كل جزء قد ثبّته للتو من جديد (9aea0f1a2).
أصبح
Escapeالآن يغلق بشكل موثوق مربع حوار Code Profiler بغض النظر عن أي عنصر واجهة فرعي له التركيز (203ffd1e6).على macOS، أصبحت اختصارات لوحة المفاتيح للقائمة العامة والأوامر تعمل الآن على مستوى التطبيق بأكمله بدلاً من العمل فقط عندما يكون للمحرر التركيز، وذلك بجعل شريط القائمة المخفي تابعاً للنافذة الرئيسية على كل منصة (6d52cbe73).
أصبح مُفسِّر Python المُرفق الآن مفروضاً كافتراضي عند كل تشغيل، بحيث لم يعد افتراضي قديم مُخزَّن يعطّل بصمت خادم لغة Python (الإكمال وتلميحات الاستدعاء) (1d5069a52).
تم تحصين إدخال/إخراج إعدادات OpenMV ضد إعادة الدخول: تم استبدال
beginGroup/endGroupعلى كائن الإعدادات العام المشترك (الذي يُطلق مربعات حوار مشروطة ويشغّل حلقات أحداث متداخلة) بمسارات مفاتيح كاملة، بحيث لم يعد بإمكان وصول إعدادات معاد الدخول أثناء مربع حوار مشروط أن يضع المفاتيح خطأً تحت المجموعة الخاطئة. المسارات على القرص متطابقة بايتاً ببايت، لذا تُحفظ إعدادات المستخدمين الحاليين تماماً (91e78a9e3، f4bb9f48c).تم إصلاح تراجع حيث كانت عدة مربعات حوار ومساعدات تتلقى كائن الإعدادات المشترك تجري إدخال/إخراج بمفتاح مجرد عند جذر الإعدادات بدلاً من تحت
OpenMV/، مما يفقد هندسة نافذة model zoo وحالة الفاصل والحالة الموسّعة وحالة مربعات حوار المُحمِّلات الستة (dfu-util وimx وbossac وalif وpicotool وST Cube Programmer) إلى جانب خيارات مُترجِمات mpy-cross وvela وST Edge AI؛ أصبحت المجموعة الآن مدمجة في كل مفتاح بحيث يُستخدم المسار الصحيح (258448bdf).
دعم المنصات والأدوات¶
قاعدة Qt Creator: 14.0.2.
OpenMV IDE تمت ترقية الإصدار إلى 4.8.11.
التغييرات الكاسرة¶
لا شيء. جميع التغييرات هي إصلاحات أخطاء وتحسينات مبنية فوق قاعدة Qt Creator 14.0.2 الحالية؛ المشاريع وسير العمل الحالية غير متأثرة.