De belangrijkste verschillen van NeoPG zijn de aanzienlijke opschoning van de code van implementaties van verouderde algoritmen, de overgang van de C-taal naar C++11, de verwerking van de brontekststructuur om het onderhoud te vereenvoudigen en het aanbieden van een uitbreidbare API voor de ontwikkeling van add-ons. Allemaal nieuwe codes
Onder de veranderingen vallen de overgang naar het cmake-assemblagesysteem en de vervanging van Libgcrypt door de bibliotheek
De kernfunctionaliteit van NeoPG is geïmplementeerd in de vorm van de libneopg-bibliotheek, die kan worden gebruikt in applicaties van derden. Bovenop libneopg is een opdrachtregelinterface geïmplementeerd, die de uiteenlopende hulpprogramma's van GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, enz.) combineert in één enkel uitvoerbaar neopg-bestand met subopdrachten in Git-stijl en ondersteuning voor kleurenuitvoer. Er is een laag geïmplementeerd binnen de opdracht "neopg gpg2" om compatibiliteit met GnuPG 2 te garanderen.
De nieuwe release heeft de compatibiliteit met het gpg2-hulpprogramma verbeterd - als gpg2 een harde link naar neopg is, wordt er automatisch een laag toegepast om de commandocompatibiliteit met GnuPG 2 te garanderen. Een nieuw "packet dump"-commando is toegevoegd. Er wordt ondersteuning geboden voor Ubuntu 18.04. Verbeterde prestaties van Cmake-buildscripts. In plaats van boost::format wordt de fmtlib-bibliotheek gebruikt. OpenPGP-parser voor sleutelarchieven toegevoegd.
Bron: opennet.ru