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-ին տրամադրվում է: Cmake build սցենարների բարելավված կատարումը: Boost::format-ի փոխարեն օգտագործվում է fmtlib գրադարանը։ Ավելացվեց OpenPGP վերլուծիչ բանալիների պահեստների համար:
Source: opennet.ru