ndn-cxx version 0.7.1
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 (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) (5115)
- Allow face MTU to be changed via management (5056)
Improvements and bug fixes
- Change default key type generated by ndnsec to ECDSA
- Use named curve when encoding ECDSA public keys (5037)
- Allow non-default key to be exported for an identity via
ndnsec-export (5043)
- Fix spurious error message from ndnsec-key-gen when key-id is
specified (5057)
- Provide more fine-grained choices for name::UriFormat (4777)
- Allow automatic log flushing to be disabled (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 (4583)
- Fix regression in CertificateBundleFetcher with FinalBlockId
handling
- Improve error handling during TPM signing (4585, 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 (4804)
- Deprecate Signature in favor of SignatureInfo in Data packets and
certificates (4804)
- SignatureInfo::unsetKeyLocator and
SignatureInfo::unsetValidityPeriod have been deprecated
- Header files under ndn/security/v2 have been moved into the main
ndn/security directory
Removals
- Remove deprecated PendingInterestId, InterestFilterId, and
RegisteredPrefixId (4885)
- Remove a number of long-deprecated functions and enums
- 287a7fa tlv: introduce NullSignature signature type by Davide Pesavento · 4 years ago
- 46cdf90 Remove some long-deprecated functions and enums by Davide Pesavento · 4 years, 3 months ago
- 140e9cb util: backport C++17 [[nodiscard]] attribute by Davide Pesavento · 5 years ago
- 6b33040 encoding: treat TLV-TYPE zero as invalid by Davide Pesavento · 5 years ago
- 5c803b9 encoding: improve documentation of Block class by Davide Pesavento · 6 years ago
- 7e78064 Change #include style by Davide Pesavento · 6 years ago
- 74daf74 Rename 'tests/unit-tests' directory to 'tests/unit' by Davide Pesavento · 6 years ago