ndn-cxx version 0.6.3

Release date: September 18, 2018

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