RNP version 0.15 released
Version: RNP 0.15.0 Release date: 2021-04-04
RNP 0.15.0 represents a significant milestone in the project’s evolution, introducing important changes to library versioning, build system improvements, and enhanced message format handling.
This release focuses on making RNP more accessible to developers while improving compatibility and usability.
Introduction
This release brings substantial improvements to RNP’s build system, library organization, and developer documentation. It also addresses several format handling issues to improve interoperability with other OpenPGP implementations.
Key highlights:
-
Offline build support for secure environments
-
Enhanced cleartext signature handling for better compatibility
-
Simplified library versioning for easier integration
Other highlights:
-
Improved MSVC build support and documentation
-
Better 32-bit platform compatibility
-
Enhanced armored message processing
-
New FFI functions for key management
-
Improved CLI tools with new commands
-
Updated manual pages and documentation
Build system improvements
Offline build support
A major enhancement to the build system enables offline builds:
-
New CMake options for building without external downloads:
-
Googletest can be skipped during build
-
ruby-rnp can be skipped during build
-
-
Better support for air-gapped environments
-
Improved build reproducibility
This change is particularly important for:
-
Security-conscious environments
-
Regulated development environments
-
Automated build systems
-
Package maintainers
Library versioning improvements
The library naming scheme has been simplified:
-
Changed from
librnp-0.{so,dll}
tolibrnp.{so,dll}
-
Simplified dependency specifications
-
Better alignment with common library naming practices
-
Improved package management integration
MSVC build support
Enhanced Microsoft Visual Studio support includes:
-
Updated build instructions for MSVC
-
Better Windows integration
-
Improved development experience on Windows
-
More consistent cross-platform builds
Format handling improvements
Cleartext signature enhancements
Significant improvements have been made to cleartext signature handling:
-
Better handling of whitespace in empty lines between headers and content
-
Improved compatibility with various email clients
-
More robust processing of formatted text
-
Enhanced interoperability with other OpenPGP implementations
Armored message handling
The release includes more flexible handling of armored messages:
-
Relaxed CRC requirements
-
Warning-based approach instead of hard failures
-
Better handling of legacy messages
-
Improved error reporting
These changes make RNP more resilient when processing messages from different sources while maintaining security.
Platform compatibility improvements
32-bit platform support
Continued improvements for 32-bit systems include:
-
Better handling of the Year 2038 problem
-
Enhanced timestamp processing
-
Improved compatibility with legacy systems
-
Future-proofing for long-term key validity
Documentation improvements
Manual page enhancements
New and updated manual pages provide better documentation:
-
Complete
rnp
andrnpkeys
command documentation -
Detailed
librnp
API reference -
Usage examples and best practices
-
Implementation guidelines
Developer improvements
Key management enhancements
New FFI functions enhance key management capabilities:
-
rnp_signature_remove
for individual signature removal -
rnp_uid_remove
for user ID management -
rnp_key_remove_signatures
for batch operations
These additions provide:
-
More granular control over key data
-
Better key cleanup capabilities
-
Improved key maintenance workflows
-
Enhanced key lifecycle management
Command-line interface improvements
The CLI has been enhanced with:
-
New
--remove-key
command in rnpkeys -
Better key management capabilities
-
Improved user experience
-
More consistent command behavior
Looking ahead
RNP 0.15.0 establishes a stronger foundation for future development by:
-
Simplifying the build process
-
Improving cross-platform support
-
Enhancing developer documentation
-
Providing better key management tools
These improvements demonstrate RNP’s commitment to being a developer-friendly, robust OpenPGP implementation.
For detailed technical information and the complete list of changes, please visit the release page.