Release Notes¶
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:¶
- More support for NDN packet format version
0.3 (Issue #4527)
- Stop using
ChildSelector
inNotificationSubscriber
(Issue #4664) - Stop using
ChildSelector
inCertificateBundleFetcher
(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 APIMetadataObject
class 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 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
andstd::variant
asndn::any
andndn::variant
- Reimplement
scheduler::EventId
withCancelHandle
(Issue #4698)
Deprecated¶
ndn-cxx/util/scheduler-scoped-event-id.hpp
header as it is now sufficient to usendn-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