تتمثل الاختلافات الرئيسية في NeoPG في تنقية التعليمات البرمجية المهمة لتطبيقات الخوارزميات المتقادمة ، والانتقال من C إلى C ++ 11 ، وإعادة تصميم بنية كود المصدر لتسهيل الصيانة ، وتوفير واجهة برمجة تطبيقات قابلة للتوسيع لتطوير الوظائف الإضافية. كل كود جديد
من بين التغييرات ، الانتقال إلى نظام بناء cmake ، واستبدال Libgcrypt بالمكتبة
يتم تنفيذ الوظيفة الرئيسية لـ NeoPG في شكل مكتبة libneopg ، والتي يمكن استخدامها في تطبيقات الطرف الثالث. يتم تنفيذ واجهة سطر الأوامر أعلى libneopg ، والتي تجمع بين الأدوات المساعدة المتباينة المضمنة في GnuPG (gpg ، gpgsm ، gpgconf ، gpgv ، gpgtar ، إلخ) في ملف neopg القابل للتنفيذ مع أوامر فرعية على غرار Git ودعم إخراج اللون. كجزء من الأمر "neopg gpg2" ، تم تنفيذ طبقة لضمان التوافق مع GnuPG 2.
يعمل الإصدار الجديد على تحسين التوافق مع الأداة المساعدة gpg2 - إذا كان gpg2 رابطًا صلبًا لـ neopg ، فسيتم تطبيق طبقة تلقائيًا لضمان توافق الأمر مع GnuPG 2. تمت إضافة أمر "packet dump" جديد. يتم توفير الدعم لـ Ubuntu 18.04. تحسين أداء البرامج النصية Cmake build. تُستخدم مكتبة fmtlib بدلاً من boost :: format. تمت إضافة محلل OpenPGP لملفات تخزين المفاتيح.
المصدر: opennet.ru