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
« Previous 946a51c util: stop using ChildSelector in NotificationSubscriber by Junxiao Shi · 6 years ago 74daf74 Rename 'tests/unit-tests' directory to 'tests/unit' by Davide Pesavento · 6 years ago 1944281 Rename 'src' directory to 'ndn-cxx' by Davide Pesavento · 6 years ago 3e3a989 mgmt: Controller cleans up fetchers on destruction by Ashlesh Gawande · 6 years ago 1bbce6d ims: prevent memory pool size from becoming zero by Ashlesh Gawande · 6 years ago 8dfd913 data: remove deprecated {get,set}FinalBlockId() by Davide Pesavento · 6 years ago dca56ea mgmt: augment ForwarderStatus with counters for satisfied and unsatisfied Interests by Ju Pan · 6 years ago 679dbb0 util: add stop function to SegmentFetcher by Ashlesh Gawande · 6 years ago 241df42 encoding: support floating point numbers in TLV-VALUE by Tianxing Ma · 6 years ago 8b753a2 interest+data: forbid unrecognized TLV before Name by Junxiao Shi · 6 years ago 7b11246 security: Throw exception when loading on orphaned ValidationPolicyConfig by Alexander Afanasyev · 6 years ago 3e39a4d security: use exponential backoff in CertificateFetcherFromNetwork by Ashlesh Gawande · 6 years ago 13fffa3 security: in tpm::BackEndOsx, unwrap the key before importing it by Davide Pesavento · 6 years ago 279f366 util: remove deprecated SegmentFetcher::fetch by Ashlesh Gawande · 6 years ago 2cb33fa net: remove deprecated ndn::ip::address{,V6}FromString by Davide Pesavento · 6 years ago e3ecad7 lp: remove lp::PrefixAnnouncement in favor of ndn::PrefixAnnouncement by Teng Liang · 6 years ago e80d116 security: add support for SHA-3 by Davide Pesavento · 6 years ago 648ae9e security: forbid RSA keys shorter than 2048 bits by Davide Pesavento · 6 years ago 1748b1e prefix-ann: provide ==, !=, << operators by Junxiao Shi · 6 years ago 5ee8ec0 security: code cleanup and doxygen improvements in tpm::BackEndOsx by Davide Pesavento · 6 years ago 502b479 encoding: replace the route origin selflearning with prefixann by Teng Liang · 6 years ago 8127d1a mgmt: encode and decode prefix announcement object by Junxiao Shi · 6 years ago 2b322eb encoding: provide _block literal operator by Junxiao Shi · 6 years ago 426d500 encoding: update number assignments by Junxiao Shi · 6 years ago 4053bd5 name: recognize ParametersSha256DigestComponent by Junxiao Shi · 6 years ago d2e6063 name-component: recognize plain URI syntax by Junxiao Shi · 6 years ago b38664e interest: support Parameters element by Arthi Padmanabhan · 6 years ago 3b101d0 Use std::move in more places by Davide Pesavento · 6 years ago cf0aff8 name: accommodate typed components in getSuccessor by Junxiao Shi · 6 years ago b55e5d3 interest: declare default CanBePrefix setting by Junxiao Shi · 6 years ago 5c1c444 security: Improve reliability of TPM BackEnd RandomKeyId test case by Junxiao Shi · 6 years ago 3a3e188 encoding+util: ensure move constructors are properly declared by Davide Pesavento · 6 years ago 570b20d encoding+lp: declare constexpr and noexcept where possible by Davide Pesavento · 6 years ago 14883ad encoding: use Boost.Endian for endianness conversions by Davide Pesavento · 6 years ago 2b765f8 util: eliminate selector usage in SegmentFetcher by Eric Newberry · 6 years ago e345baa util: augment SegmentFetcher with congestion control by Eric Newberry · 6 years ago 31fd467 security: Correctly handle Sha256-signed Command Interests by Alexander Afanasyev · 6 years ago 57d02b6 security: Fix bug preventing customization of KeyChain's TPM on macOS by Alexander Afanasyev · 6 years ago db4da5e Improve and simplify code with modern C++ features by Davide Pesavento · 6 years ago 3c9bc04 mgmt: add Mtu to faces/create and FaceStatus by Eric Newberry · 6 years ago 59e266a net: deprecate ndn::ip::address{,V6}FromString by Davide Pesavento · 6 years ago 1fd0024 build: switch to C++14 by Davide Pesavento · 6 years ago e240422 face: use post instead of dispatch to avoid re-entrancy issues by Ashlesh Gawande · 6 years ago cc910cd util: use signals instead of callbacks in SegmentFetcher by Eric Newberry · 6 years ago c93c2ce encoding: add route origin for self-learning by Teng Liang · 6 years ago 1c9c96c util: fix Logging::getLoggerNames() by Davide Pesavento · 6 years ago 974b81a lp: encode sequence number as fixed-width integer by Junxiao Shi · 6 years ago 72c0c64 encoding: provide FormattedOutputFunction for Block by Junxiao Shi · 6 years ago 9c9672e name: don't strip whitespace when parsing URI by Junxiao Shi · 6 years ago 7d9039b data: recognize Data in Packet Format v0.3 by Junxiao Shi · 6 years ago 6efa3b7 interest: recognize Interest in Packet Format v0.3 by Junxiao Shi · 6 years ago 0c145ec util: support declaring loggers as class members by Davide Pesavento · 6 years ago a2550a9 encoding: declare TLV-TYPE constants for Packet Format v0.3 by Junxiao Shi · 6 years ago 3688d72 util: backport optional::reset by Junxiao Shi · 6 years ago 8d3f834 interest: deprecate selectors by Junxiao Shi · 6 years ago a36f15d name: allow appending typed name components by Junxiao Shi · 6 years ago ebfe4a2 meta-info: allow typed name component in FinalBlockId by Junxiao Shi · 6 years ago b849f61 util: give examples for NDN_CXX_DEPRECATED by Junxiao Shi · 6 years ago 4ffbb9d interest+exclude: rename NameComponent to GenericNameComponent by Junxiao Shi · 6 years ago cf4ac5b name-component: recognize typed name components by Junxiao Shi · 6 years ago 8a8c01b tests: fix several instances of the most vexing parse by Davide Pesavento · 6 years ago 5560fd4 build: update waf to version 2.0.6 by Alexander Afanasyev · 7 years ago 5e2ccca mgmt: fix conflicting TLV-TYPE assignment by Davide Pesavento · 7 years ago df50538 mgmt: declare cs/erase command by Junxiao Shi · 7 years ago 38a061d util: introduce escape() and use it in Component::toUri() by Davide Pesavento · 7 years ago 5b323d1 lp: wrap Data in PrefixAnnouncement field by Teng Liang · 7 years ago 08378cb name: fix encoding of "+" and "~" in Component::toUri() by Davide Pesavento · 7 years ago be86d98 mgmt: fix CsInfo.Capacity decoding by Junxiao Shi · 7 years ago a7ab06d mgmt: add capacity and enablement flags to CsInfo by Junxiao Shi · 7 years ago c5ba65b util: fix Y2038 problem in time::toString() by Davide Pesavento · 7 years ago d567aab mgmt: make congestion marking parameters optional by Eric Newberry · 7 years ago b984e32 net: parse interface names more loosely in FaceUri by Davide Pesavento · 7 years ago 07d05c9 mgmt: add congestion marking parameters by Eric Newberry · 7 years ago e66040e util: Fix conversion of large dates from strings to internal type by Alexander Afanasyev · 7 years ago 22f8568 mgmt: declare cs/config command by Junxiao Shi · 7 years ago 0f83080 util: add literal operators for duration types by Davide Pesavento · 7 years ago 1c109b4 util: add signals to SegmentFetcher for segment retrieval/validation by Muktadir Chowdhury · 7 years ago 5afbb0b util: switch to boost::asio::basic_waitable_timer by Davide Pesavento · 7 years ago e84d1eb util/io: catch invalid_argument generated by trying to load empty file by Ashlesh Gawande · 7 years ago 720f3ba security: add support for BLAKE2 hash function by Davide Pesavento · 7 years ago 82d6a4c security: fix error handling in KeyChain::importSafeBag() by Davide Pesavento · 7 years ago 34429cc util: Add BroadcastLink to DummyClientFace by Zhiyi Zhang · 8 years ago 7dffab6 Fix missing 'typename' prior to dependent type name error by Ashlesh Gawande · 7 years ago 7f01247 mgmt: encode/decode CS Information Dataset by Junxiao Shi · 7 years ago b682891 face: Interest loopback by Junxiao Shi · 7 years ago 0296074 lp: add NonDiscovery field and tag by Teng Liang · 7 years ago 7e6f6f8 encoding: avoid UB when casting to tlv::SignatureTypeValue by Davide Pesavento · 7 years ago e245b05 encoding: don't call memcmp() with null pointer by Davide Pesavento · 7 years ago a1302f6 security: enable direct fetch for data sig validation by Zhiyi Zhang · 7 years ago bdcedf4 security+util: remove overloaded operator!() by Davide Pesavento · 7 years ago 5d0b010 encoding: remove duplicate buf() and get() methods from Buffer class by Davide Pesavento · 7 years ago 5759be3 security: Identity/Key comparison operators by Junxiao Shi · 7 years ago c4a0176 security: fix bugs in keylocator checker of validator config by Zhiyi Zhang · 7 years ago ac8b4ca net: support link-local IPv6 addresses in FaceUri by Yanbiao Li · 7 years ago b3d0a8e util: add missing assignment in Regex test case by Junxiao Shi · 7 years ago c3a4679 base: add PacketBase to provide wrappers for congestion tags by Eric Newberry · 7 years ago b10024c encoding: delete deprecated overload of Block::Block by Davide Pesavento · 7 years ago eaa93f4 security: fix AES IV length check in transform::BlockCipher by Davide Pesavento · 7 years ago 8a14b9b security: use EVP_DigestVerify* routines in VerifierFilter by Davide Pesavento · 7 years ago 8aad372 security: add missing out-of-line destructors for transform classes by Davide Pesavento · 7 years ago Next »