De viktigaste skillnaderna i NeoPG är den betydande rensningen av koden från implementeringar av föråldrade algoritmer, övergången från C-språket till C++11, bearbetningen av källtextstrukturen för att förenkla underhållet och tillhandahållandet av ett utbyggbart API för utvecklingen av tillägg. Helt ny kod
Bland ändringarna, övergången till cmake-monteringssystemet och ersättningen av Libgcrypt med biblioteket
Kärnfunktionaliteten i NeoPG implementeras i form av libneopg-biblioteket, som kan användas i tredjepartsapplikationer. Ett kommandoradsgränssnitt är implementerat ovanpå libneopg, som kombinerar de olika verktygen som ingår i GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, etc.) till en enda neopg-körbar fil med underkommandon i Git-stil och stöd för färgutdata. Ett lager har implementerats i kommandot "neopg gpg2" för att säkerställa kompatibilitet med GnuPG 2.
Den nya utgåvan har förbättrat kompatibiliteten med gpg2-verktyget - om gpg2 är en hård länk till neopg, appliceras ett lager automatiskt för att säkerställa kommandokompatibilitet med GnuPG 2. Ett nytt "paketdump"-kommando har lagts till. Stöd för Ubuntu 18.04 tillhandahålls. Förbättrad prestanda för Cmake build-skript. Istället för boost::format används fmtlib-biblioteket. Lade till OpenPGP-parser för nyckellager.
Källa: opennet.ru