NeoPG'nin temel farklılıkları, kodun eski algoritmaların uygulamalarından önemli ölçüde temizlenmesi, C dilinden C++ 11'e geçiş, bakımı basitleştirmek için kaynak metin yapısının işlenmesi ve geliştirme için genişletilebilir bir API sağlanmasıdır. eklentiler. Tamamen yeni kod
Değişiklikler arasında cmake montaj sistemine geçiş ve Libgcrypt'in kütüphane ile değiştirilmesi yer alıyor.
NeoPG'nin temel işlevleri, üçüncü taraf uygulamalarda kullanılabilen libneopg kitaplığı biçiminde uygulanır. GnuPG'de bulunan farklı yardımcı programları (gpg, gpgsm, gpgconf, gpgv, gpgtar, vb.) Git tarzı alt komutlar ve renk çıktısı desteği ile tek bir neopg yürütülebilir dosyasında birleştiren libneopg'nin üzerinde bir komut satırı arayüzü uygulanır. "Neopg gpg2" komutunun bir parçası olarak, GnuPG 2 ile uyumluluğu sağlamak için bir katman uygulanmıştır.
Yeni sürüm, gpg2 yardımcı programıyla uyumluluğu geliştirdi - eğer gpg2, neopg'ye sabit bir bağlantıysa, GnuPG 2 ile komut uyumluluğunu sağlamak için otomatik olarak bir katman uygulanır. Yeni bir "paket dökümü" komutu eklendi. Ubuntu 18.04 desteği sağlanmaktadır. Cmake derleme komut dosyalarının performansı iyileştirildi. Boost::format yerine fmtlib kütüphanesi kullanılır. Anahtar depoları için OpenPGP ayrıştırıcısı eklendi.
Kaynak: opennet.ru