As principais diferenzas de NeoPG son a limpeza significativa do código das implementacións de algoritmos obsoletos, a transición da linguaxe C a C++11, o procesamento da estrutura do texto fonte para simplificar o mantemento e a provisión dunha API extensible para o desenvolvemento. de complementos. Todo o código novo
Entre os cambios, a transición ao sistema de montaxe cmake e a substitución de Libgcrypt pola biblioteca
A funcionalidade principal de NeoPG implícase na forma da biblioteca libneopg, que se pode usar en aplicacións de terceiros. Implémentase unha interface de liña de comandos enriba de libneopg, que combina as distintas utilidades incluídas en GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, etc.) nun único ficheiro executable neopg con subcomandos de estilo Git e soporte para a saída en cor. Implementouse unha capa dentro do comando "neopg gpg2" para garantir a compatibilidade con GnuPG 2.
A nova versión mellorou a compatibilidade coa utilidade gpg2: se gpg2 é unha ligazón dura a neopg, aplícase automaticamente unha capa para garantir a compatibilidade dos comandos con GnuPG 2. Engadiuse un novo comando de "volcado de paquetes". Ofrécese soporte para Ubuntu 18.04. Mellorouse o rendemento dos scripts de compilación de Cmake. En lugar de boost::format, úsase a biblioteca fmtlib. Engadido analizador OpenPGP para almacéns de claves.
Fonte: opennet.ru