De viktigste forskjellene til NeoPG er den betydelige oppryddingen av koden fra implementeringer av utdaterte algoritmer, overgangen fra C-språket til C++11, behandlingen av kildetekststrukturen for å forenkle vedlikeholdet og leveringen av en utvidbar API for utviklingen av tillegg. Helt ny kode
Blant endringene, overgangen til cmake-monteringssystemet og erstatningen av Libgcrypt med biblioteket
Kjernefunksjonaliteten til NeoPG er implementert i form av libneopg-biblioteket, som kan brukes i tredjepartsapplikasjoner. Et kommandolinjegrensesnitt er implementert på toppen av libneopg, som kombinerer de forskjellige verktøyene inkludert i GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, etc.) til en enkelt neopg-kjørbar fil med Git-stil underkommandoer og støtte for fargeutdata. Et lag er implementert i "neopg gpg2"-kommandoen for å sikre kompatibilitet med GnuPG 2.
Den nye utgivelsen har forbedret kompatibilitet med gpg2-verktøyet - hvis gpg2 er en hard kobling til neopg, påføres et lag automatisk for å sikre kommandokompatibilitet med GnuPG 2. En ny "pakkedump"-kommando er lagt til. Støtte for Ubuntu 18.04 er gitt. Forbedret ytelse av Cmake build-skript. I stedet for boost::format, brukes fmtlib-biblioteket. Lagt til OpenPGP-parser for nøkkellagre.
Kilde: opennet.ru