ndn-cxx version 0.6.5

Release date: February 4, 2019

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.

New features:

Improvements and bug fixes

  • Use openssl-based routines for the PKCS#8 decoding/decryption when exporting key from macOS Keychain (Issue #4450)
  • Switch to AES-256 for private key encryption in PKCS #8 export
  • Add exponential backoff in CertificateFetcherFromNetwork (Issue #4718, Issue #4712)
  • Throw exception when loading an orphaned ValidationPolicyConfig (API violation) (Issue #4758)
  • Forbid unrecognized TLVs before Name (Issue #4667)
  • Prevent memory pool size from becoming zero in InMemoryStorage (Issue #4769)
  • Clean up fetchers when destructing nfd::Controller (Issue #4775)
  • Fix SegmentFetcher undefined behavior caused by uncanceled pending interest (Issue #4770)
  • Seed the PRNG with more entropy (Issue #4808)
  • Stop accepting NonNegativeInteger as sequence number in NDNLP (Issue #4598)
  • Backport C++17 std::any and std::variant as ndn::any and ndn::variant
  • Reimplement scheduler::EventId with CancelHandle (Issue #4698)

Deprecated

  • ndn-cxx/util/scheduler-scoped-event-id.hpp header as it is now sufficient to use ndn-cxx/util/scheduler.hpp header (Issue #4698)
  • Implicit conversion from nullptr to scheduler::EventId (Issue #4698)

Removed

  • ndn::ip::address{,V6}FromString
  • SegmentFetcher::fetch (Issue #4464)
  • {get,set}FinalBlockId()
  • Headers that were already considered internal implementation details have been explicitly moved to a detail/ subdir to more clearly separate private and public headers