ndn-cxx version 0.7.1¶
Release date: October 8, 2020
The build requirements have been increased to require Clang >= 4.0, Xcode >= 9.0, and Python >= 3.6. Meanwhile, it is recommended to use GCC >= 7.4.0 and Boost >= 1.65.1. This effectively drops official support for Ubuntu 16.04 when using distribution-provided Boost packages – ndn-cxx may still work on this platform, but we provide no official support for it. Additionally, this release drops support for CentOS 7 and adds support for CentOS 8.
New features¶
- Signed Interests according to Packet Specification v0.3 (issue #4804)
- Add “in-order” mode to
SegmentFetcher
and a corresponding signal that is emitted after each segment is received and validated in segment order. Segments that arrive out-of-order will be buffered internally until all earlier segments have arrived and passed validation. - Allow
KeyLocator
to either identify the full name of a certificate, an unversioned certificate prefix, or the name of a public key (without issuer and version) (issue #5115) - Allow face MTU to be changed via management (issue #5056)
Improvements and bug fixes¶
- Change default key type generated by ndnsec to ECDSA
- Use named curve when encoding ECDSA public keys (issue #5037)
- Allow non-default key to be exported for an identity via
ndnsec-export
(issue #5043) - Fix spurious error message from
ndnsec-key-gen
whenkey-id
is specified (issue #5057) - Provide more fine-grained choices for
name::UriFormat
(issue #4777) - Allow automatic log flushing to be disabled (issue #3668)
- Avoid unnecessarily invalidating cached wire encodings of Data packets
- Correct extraction of signed portion of Data packets to be compatible with Packet Specification v0.3 (issue #4583)
- Fix regression in
CertificateBundleFetcher
withFinalBlockId
handling - Improve error handling during TPM signing (issue #4585, issue #5086)
- Correctly handle non-existent identity in
PibImpl::setDefaultIdentity
- Fix incompatibility with
time::toIsoString
in Boost 1.73.0+ - Fix incompatibility with
<version>
header in C++20 - Various fixes for Android
- Various improvements to documentation, test suite structure, and authors list
Deprecations¶
- Deprecate old Signed Interest and Command Interest formats (issue #4804)
- Deprecate
Signature
in favor ofSignatureInfo
in Data packets and certificates (issue #4804) SignatureInfo::unsetKeyLocator
andSignatureInfo::unsetValidityPeriod
have been deprecated- Header files under
ndn/security/v2
have been moved into the mainndn/security
directory
Removals¶
- Remove deprecated
PendingInterestId
,InterestFilterId
, andRegisteredPrefixId
(issue #4885) - Remove a number of long-deprecated functions and enums