Sự khác biệt chính của NeoPG là việc dọn dẹp mã đáng kể khỏi việc triển khai các thuật toán lỗi thời, chuyển từ ngôn ngữ C sang C++ 11, xử lý cấu trúc văn bản nguồn để đơn giản hóa việc bảo trì và cung cấp API có thể mở rộng để phát triển. của các tiện ích bổ sung. Tất cả mã mới
Trong số những thay đổi, việc chuyển đổi sang hệ thống lắp ráp cmake và thay thế Libgcrypt bằng thư viện
Chức năng cốt lõi của NeoPG được triển khai dưới dạng thư viện libneopg, có thể được sử dụng trong các ứng dụng của bên thứ ba. Giao diện dòng lệnh được triển khai trên libneopg, kết hợp các tiện ích khác nhau có trong GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, v.v.) thành một tệp thực thi neopg duy nhất với các lệnh con kiểu Git và hỗ trợ đầu ra màu. Một lớp đã được triển khai trong lệnh "neopg gpg2" để đảm bảo khả năng tương thích với GnuPG 2.
Bản phát hành mới đã cải thiện khả năng tương thích với tiện ích gpg2 - nếu gpg2 là một liên kết cứng với neopg, một lớp sẽ tự động được áp dụng để đảm bảo khả năng tương thích lệnh với GnuPG 2. Lệnh "kết xuất gói" mới đã được thêm vào. Hỗ trợ cho Ubuntu 18.04 được cung cấp. Cải thiện hiệu suất của tập lệnh xây dựng Cmake. Thay vì định dạng boost::, thư viện fmtlib được sử dụng. Đã thêm trình phân tích cú pháp OpenPGP cho kho khóa.
Nguồn: opennet.ru