Release Notes

ndn-cxx version 0.6.3

Release date: September 18, 2018

Note that this is the last release that encodes to NDN packet format version 0.2.1. A future release will continue to decode v0.2.1 format, but will encode to v0.3 format.

The build requirements have been upgraded to gcc >= 5.3 or clang >= 3.6, boost >= 1.58, openssl >= 1.0.2. This effectively drops support for all versions of Ubuntu older than 16.04 that use distribution-provided compilers and packages.

The compilation now uses the C++14 standard.

New features:

Improvements and bug fixes

  • Fix a segfault in Face::satisfyPendingInterests when Face::put is called in DataCallback (Issue #4596)
  • Allow specifying passphrase for ndnsec import/export on the command line (Issue #4633)
  • Fix bug preventing customization of KeyChain’s TPM on macOS (Issue #4297)
  • Fix bug with handling Sha256-signed Command Interests (Issue #4635)
  • Eliminate selector usage in SegmentFetcher (Issue #4555)
  • Improvements in netlink message processing
  • Gracefully handle NetworkMonitor backend initialization failure (Issue #4668)
  • Add support 224-bit and 521-bit NIST elliptic curves, add support for SHA-3 (with openssl >= 1.1.1-pre1), and forbid RSA keys shorter than 2048 bits in security helpers
  • Improve and simplify code with modern C++ features
  • Properly declare move constructors
  • Improve error handling
  • Improve test cases
  • Correct and improve documentation

Deprecated

  • SegmentFetcher::fetch() static functions in favor of start() (Issue #4464)

  • ndn::ip::address{,V6}FromString as Boost.Asio >= 1.58 has proper implementation of addressFromString

  • Selectors (Issue #4527)

    NDN Packet Format v0.3 replaces Selectors with CanBePrefix and MustBeFresh elements. CanBePrefix and MustBeFresh are currently mapped to the closest v0.2 semantics and encoded as selectors.

  • Data::get/setFinalBlockId() in favor of Data::get/setFinalBlock()

Removed

  • Dependency on Boost.Regex in favor of std::regex