Release Notes¶
ndn-cxx version 0.6.5¶
Release date: February 4, 2019
Note that this is the last release that encodes toNDN packet format version 0.2.1. A future release will continue todecode v0.2.1 format, but will encode tov0.3 format.
New features:¶
- More support forNDN packet format version0.3 (Issue #4527)
- Stop using
ChildSelectorinNotificationSubscriber(Issue #4664) - Stop using
ChildSelectorinCertificateBundleFetcher(Issue #4665)
- Stop using
- Support floating point numbers in TLV-VALUE (Issue #4612)
- Scoped prefix registration, scoped Interest filter, and scoped pending Interest(Issue #3919,Issue #4316)
- Counters for satisfied and unsatisfied Interests in
ForwarderStatus(Issue #4720) random::getRandomNumberEngine()in the public APIMetadataObjectclass to encode/decode RDR-style metadata (Issue #4707)SegmentFetcher::stop()(Issue #4692)
Improvements and bug fixes¶
- Use openssl-based routines for the PKCS#8 decoding/decryption when exporting key from macOSKeychain (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
SegmentFetcherundefined 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::anyandstd::variantasndn::anyandndn::variant - Reimplement
scheduler::EventIdwithCancelHandle(Issue #4698)
Deprecated¶
ndn-cxx/util/scheduler-scoped-event-id.hppheader as it is now sufficient to usendn-cxx/util/scheduler.hppheader (Issue #4698)- Implicit conversion from nullptr to
scheduler::EventId(Issue #4698)
Removed¶
ndn::ip::address{,V6}FromStringSegmentFetcher::fetch(Issue #4464){get,set}FinalBlockId()- Headers that were already considered internal implementation details have been explicitlymoved to a
detail/subdir to more clearly separate private and public headers
