Ключавымі адрозненнямі 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". Забяспечана падтрымка Ubuntu 18.04/XNUMX. Палепшана праца зборачных сцэнарыяў Cmake. Замест boost::format задзейнічана бібліятэка fmtlib. Дададзены OpenPGP парсер для сховішчаў ключоў.
Крыніца: opennet.ru