ny udgave af projektet , som udvikler fork-værktøjerne GnuPG (GNU Privacy Guard) med realisering af værktøjer til kryptering af data, håndtering af digitale signaturer, nøgleadministration og adgang til offentlige nøglelagre.
De vigtigste forskelle ved NeoPG inkluderer en omfattende oprydning af koden fra implementeringer af forældede algoritmer, overgangen fra C til C++11, revidering af kildekode-strukturen for at lette vedligeholdelsen og tilbydelse af et udvidelsesvenligt API til udvikling af plugins. Al ny kode er under BSD-licensen i stedet for GPLv3.
Blandt ændringerne er også overgangen til build-systemet cmake, udskiftning af Libgcrypt med biblioteket , samt udskiftning af indbyggede parsere og koden til databasebehandling med libcurl og SQLite. I NeoPG er kørsel af langvarige baggrundsprocesser gpg-agent, dirmngr (Directory Manager) og scdaemon (Smart Card Daemon) stoppet, hvor de i stedet udføres som engangs hjælpecallbacks, der afsluttes straks efter udførelse af opgaven.
Den primære funktionalitet i NeoPG er implementeret i form af biblioteket libneopg, som kan bruges i tredjepartsapplikationer. Ovenpå libneopg er der oprettet et kommandolinjeinterface, hvor de adskilte værktøjer i GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar osv.) er samlet i én eksekverbar fil neopg med underkommandoer i Git-stil og understøttelse af farvet output. Inden for kommandoen “neopg gpg2” er der implementeret et lag for at sikre kompatibilitet med GnuPG 2.
I den nye udgave er kompatibiliteten med værktøjet gpg2 forbedret - hvis gpg2 er en hard link til neopg, anvendes der automatisk et lag for at sikre kompatibilitet med GnuPG 2 kommandoer. En ny kommando “packet dump” er tilføjet. Understøttelse af Ubuntu 18.04 er sikret. Arbejdet med build scripts i Cmake er forbedret. I stedet for boost::format anvendes biblioteket fmtlib. En OpenPGP-parser til nøglelagre er blevet tilføjet.
Kilde: opennet.ru
