Le differenze fondamentali di NeoPG sono la significativa pulizia del codice da implementazioni di algoritmi obsoleti, il passaggio dal linguaggio C al C++11, l'elaborazione della struttura del testo sorgente per semplificare la manutenzione e la fornitura di un'API estensibile per lo sviluppo di componenti aggiuntivi. Tutto nuovo codice
Tra le novità, il passaggio al sistema assembly cmake e la sostituzione di Libgcrypt con la libreria
La funzionalità principale di NeoPG è implementata sotto forma di libreria libneopg, che può essere utilizzata in applicazioni di terze parti. Un'interfaccia a riga di comando è implementata sopra libneopg, che combina le diverse utilità incluse in GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, ecc.) in un singolo file eseguibile neopg con sottocomandi in stile Git e supporto per l'output a colori. È stato implementato un livello all'interno del comando "neopg gpg2" per garantire la compatibilità con GnuPG 2.
La nuova versione ha migliorato la compatibilità con l'utilità gpg2: se gpg2 è un collegamento fisso a neopg, viene applicato automaticamente un livello per garantire la compatibilità dei comandi con GnuPG 2. È stato aggiunto un nuovo comando "packet dump". Viene fornito il supporto per Ubuntu 18.04. Prestazioni migliorate degli script di compilazione Cmake. Invece di boost::format, viene utilizzata la libreria fmtlib. Aggiunto parser OpenPGP per archivi di chiavi.
Fonte: opennet.ru