symbol Asset 1

RNP version 0.15 released

Author’s picture Nickolay Olshevsky on 05 Apr 2021

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:

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:

  • 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} to librnp.{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 and rnpkeys 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.