Diferențele cheie ale NeoPG sunt curățarea semnificativă a codului din implementările de algoritmi învechiți, trecerea de la limbajul C la C++11, procesarea structurii textului sursă pentru a simplifica întreținerea și furnizarea unui API extensibil pentru dezvoltare. de suplimente. Tot codul nou
Printre modificări, trecerea la sistemul de asamblare cmake și înlocuirea Libgcrypt cu biblioteca
Funcționalitatea de bază a NeoPG este implementată sub forma bibliotecii libneopg, care poate fi utilizată în aplicații terțe. Pe libneopg este implementată o interfață de linie de comandă, care combină utilitățile disparate incluse în GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar etc.) într-un singur fișier executabil neopg cu subcomenzi în stil Git și suport pentru ieșire color. A fost implementat un strat în comanda „neopg gpg2” pentru a asigura compatibilitatea cu GnuPG 2.
Noua versiune a îmbunătățit compatibilitatea cu utilitarul gpg2 - dacă gpg2 este o legătură rigidă către neopg, se aplică automat un strat pentru a asigura compatibilitatea comenzilor cu GnuPG 2. A fost adăugată o nouă comandă „packet dump”. Este oferit suport pentru Ubuntu 18.04. Performanță îmbunătățită a scripturilor de compilare Cmake. În loc de boost::format, este folosită biblioteca fmtlib. S-a adăugat analizator OpenPGP pentru depozitele de chei.
Sursa: opennet.ru