تفاوت های کلیدی NeoPG عبارتند از پاکسازی قابل توجه کد از پیاده سازی الگوریتم های قدیمی، انتقال از زبان C به C++11، پردازش ساختار متن مبدأ برای ساده سازی تعمیر و نگهداری و ارائه یک API قابل توسعه برای توسعه. از افزونه ها همه کدهای جدید
از جمله تغییرات، انتقال به سیستم اسمبلی cmake و جایگزینی Libgcrypt با کتابخانه است.
عملکرد اصلی NeoPG در قالب کتابخانه libneopg پیاده سازی شده است که می تواند در برنامه های شخص ثالث استفاده شود. یک رابط خط فرمان در بالای libneopg پیاده سازی شده است که ابزارهای متفاوت موجود در GnuPG (gpg، gpgsm، gpgconf، gpgv، gpgtar، و غیره) را در یک فایل اجرایی neopg با دستورات فرعی به سبک Git و پشتیبانی از خروجی رنگ ترکیب می کند. یک لایه در دستور "neopg gpg2" برای اطمینان از سازگاری با GnuPG 2 پیاده سازی شده است.
نسخه جدید سازگاری با ابزار gpg2 را بهبود بخشیده است - اگر gpg2 یک پیوند سخت به neopg باشد، یک لایه به طور خودکار برای اطمینان از سازگاری دستور با GnuPG 2 اعمال می شود. یک دستور جدید "packet dump" اضافه شده است. پشتیبانی از اوبونتو 18.04 ارائه شده است. عملکرد بهبود یافته اسکریپت های ساخت Cmake. به جای boost::format، از کتابخانه fmtlib استفاده می شود. اضافه شدن تجزیه کننده OpenPGP برای فروشگاه های کلید.
منبع: opennet.ru