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 1caa634 security: add validator for signed Interests by Eric Newberry · 4 years ago e36aae1 security: fix extraction of signed portion during Data signature verification by Eric Newberry · 4 years ago 670a52f security: add certificate bundle decoder by Jeremy Clark · 4 years ago 97ee811 util: backport scope_exit & co. from the Library Fundamentals TS v3 by Davide Pesavento · 4 years, 1 month ago 483087f util: fix time::toIsoString with Boost 1.73.0 by Davide Pesavento · 4 years, 1 month ago 81bd696 data: do not encode a Content element if not set by Davide Pesavento · 4 years, 3 months ago 17d7c47 security: support new signed Interest format in Validator by Eric Newberry · 4 years, 3 months ago b74bbda security: sign and verify new signed Interest format by Eric Newberry · 4 years, 3 months ago 6d024ba security: add vectored API for verify and sign by Eric Newberry · 4 years, 3 months ago 8afba42 security: Support name options in the KeyLocator when using ValidationPolicySimpleHierarchy by Alexander Afanasyev · 4 years, 3 months ago 2ca5e79 security: fix inverted logic in CertificateBundleFetcher by Davide Pesavento · 4 years, 3 months ago 905d40f data: avoid unnecessarily invalidating cached wire encoding by Davide Pesavento · 4 years, 3 months ago 355fd78 security: Correct behavior of PibImpl::setDefaultIdentity by Alexander Afanasyev · 4 years, 3 months ago 46cdf90 Remove some long-deprecated functions and enums by Davide Pesavento · 4 years, 3 months ago 6e262f0 interest: add signature fields by Eric Newberry · 4 years, 3 months ago 09236c2 security: Rename security/v2/* to security/* by Alexander Afanasyev · 4 years, 3 months ago f601e19 security: Add check for success of TPM signing by Alexander Afanasyev · 4 years, 3 months ago f165bb4 signature-info: add signed Interest elements by Eric Newberry · 4 years, 4 months ago 78ffc63 security: clean up KeyChain and SigningInfo APIs by Eric Newberry · 4 years, 4 months ago 14c56cd data: add shortcuts to access SignatureType and KeyLocator by Davide Pesavento · 4 years, 4 months ago a3c8bd1 signature: deprecate Signature in favor of SignatureInfo by Eric Newberry · 4 years, 4 months ago 40ebaad util: add "in order" mode to SegmentFetcher by jrclark2 · 4 years, 5 months ago 25d4f1c build: add PCHs for ndnsec and unit tests, fine-tune the existing ones by Davide Pesavento · 4 years, 4 months ago 394977c tests: rename integrated -> integration by Davide Pesavento · 4 years, 4 months ago fbb6990 security: encode EC public key with named curve by Junxiao Shi · 4 years, 5 months ago 78338c5 build: recommend boost >= 1.65.1 by Davide Pesavento · 4 years, 5 months ago 52a803c transport: use /run/nfd.sock on Linux by Eric Newberry · 4 years, 5 months ago ce9c195 mgmt: add MTU to FaceUpdateCommand by Eric Newberry · 4 years, 7 months ago 5353394 interest: refactor nonce handling by Davide Pesavento · 4 years, 6 months ago bc17d95 name: provide more fine-grained choices for UriFormat by Davide Pesavento · 4 years, 7 months ago d247d49 face: remove deprecated PendingInterestId, InterestFilterId, RegisteredPrefixId by Davide Pesavento · 4 years, 7 months ago a39c0b5 name: select canonical vs alternate URI representation by Junxiao Shi · 4 years, 8 months ago 21a4ea5 tests: avoid deprecated boost headers by Davide Pesavento · 4 years, 9 months ago 7c67ab5 security: remove deprecated HmacFilter by Davide Pesavento · 4 years, 9 months ago 39cb402 util: partial support for abstract types in NDN_LOG_MEMBER_* macros by Davide Pesavento · 4 years, 10 months ago 009062d name: alternative URI syntax for component types used in naming conventions by Davide Pesavento · 4 years, 10 months ago 0a6456c security: don't throw when loading an empty validation policy by Davide Pesavento · 4 years, 10 months ago 4fb35d8 security: stop installing headers of concrete PIB, TPM, and KeyHandle implementations by Davide Pesavento · 4 years, 10 months ago 12cef87 security: make BackEnd::Error an alias of Tpm::Error by Davide Pesavento · 4 years, 10 months ago bc997e5 security: add HMAC support in verification helpers by laqinfan · 5 years ago 56a812d security: add HMAC support in KeyChain and SigningInfo by laqinfan · 5 years ago 5e494c0 security: accept HMAC keys shorter than the hash function's output length by Davide Pesavento · 5 years ago 835f027 interest: don't force the generation of a nonce during decoding by Davide Pesavento · 5 years ago 75c5601 util: make overload() function public by Davide Pesavento · 5 years ago 2fdb274 interest: update toUri() for packet format v0.3 by Davide Pesavento · 5 years ago 0e0b389 interest: drop support for packet format v0.2 by Davide Pesavento · 5 years ago ef654dd Remove ill-defined equality operators (part 1) by Davide Pesavento · 5 years ago 140e9cb util: backport C++17 [[nodiscard]] attribute by Davide Pesavento · 5 years ago 869b11e util: backport std::to_underlying() by Davide Pesavento · 5 years ago 4c5b7b8 util: split RttEstimator into two classes by Davide Pesavento · 5 years ago 92dbb00 Revert "mgmt: add EndpointId field to NextHopRecord class" by Ju Pan · 5 years ago 6c6e385 util: add io::loadBuffer and io::saveBuffer by Davide Pesavento · 5 years ago 43eac58 lp: introduce PIT token by Junxiao Shi · 5 years ago 5149350 key-locator: reimplement using a sum type by Davide Pesavento · 5 years ago 7b2f58c util: Generalize logger backend support by Alexander Afanasyev · 5 years ago 2b0cc7b interest: implement HopLimit encoding/decoding by Davide Pesavento · 5 years ago 720e25c detail: improve ScopedCancelHandle by Davide Pesavento · 5 years ago adc9aa2 interest: add support for ParametersSha256DigestComponent by Davide Pesavento · 5 years ago 576b4ff util: Make use of attributes in logging facilities by Alexander Afanasyev · 5 years ago ecfb391 Declare overloaded comparison operators as non-member functions by Davide Pesavento · 5 years ago cf0baa2 security: add signature verification support in TPM by laqinfan · 5 years ago 57a3276 util: use time::nanoseconds in RttEstimator by Davide Pesavento · 5 years ago 1bac111 security: make PrivateKey::getKeySize() work in all cases by Davide Pesavento · 5 years ago ccce0bc mgmt: add EndpointId field to NextHopRecord class by Ju Pan · 5 years ago 3243c3d util: Add a getter for the smoothed RTT value by Ernest McCracken · 5 years ago 48f9724 security: add PrivateKey::loadRaw() for HMAC keys by laqinfan · 5 years ago 4ad933a util: add afterMeasurement signal to RttEstimator by Davide Pesavento · 5 years ago 77d9e81 security: remove unused KeyClass and AclType enums by Davide Pesavento · 5 years ago 0fe72ea security: add HMAC support to SignerFilter and VerifierFilter by Laqin Fan · 5 years ago 2ad2fbe interest: drop Selectors from matching functions by Junxiao Shi · 5 years ago f1bb38d util: move Scheduler and related classes to ndn::scheduler by Davide Pesavento · 5 years ago 6b33040 encoding: treat TLV-TYPE zero as invalid by Davide Pesavento · 5 years ago 3891244 interest: improve setApplicationParameters() behavior by Davide Pesavento · 5 years ago 9c19a39 interest: rename Parameters to ApplicationParameters by Davide Pesavento · 5 years ago 5437aa2 tests: fix compilation with Boost 1.69.0 by Davide Pesavento · 5 years ago 1660d00 security: Add option to disable infrastructure interest in CertificateFetcherDirectFetch by Alexander Afanasyev · 5 years ago a5f233e util: rename Scheduler::scheduleEvent to schedule by Junxiao Shi · 5 years ago fd61231 util: add ndn::scheduler namespace alias by Davide Pesavento · 5 years ago e209961 name-component: encode/decode Convention rev2 by Junxiao Shi · 6 years ago 923ba44 Replace all uses of BOOST_THROW_EXCEPTION with NDN_THROW by Davide Pesavento · 6 years ago fccb2dc encoding+interest: change Parameters to use non-critical type 36 by Davide Pesavento · 6 years ago fd67401 util: introduce NDN_THROW by Davide Pesavento · 6 years ago 5c803b9 encoding: improve documentation of Block class by Davide Pesavento · 6 years ago 80609d4 face: scoped pending Interest by Junxiao Shi · 6 years ago 07115cc util: reimplement scheduler::EventId with CancelHandle by Junxiao Shi · 6 years ago 6b99b6f Add MetadataObject class to encode/decode RDR-style metadata by Chavoosh Ghasemi · 6 years ago ca48851 tests: delete goodness-of-fit tests from Util/TestRandom by Davide Pesavento · 6 years ago c53df03 lp: stop accepting NonNegativeInteger as sequence number by Junxiao Shi · 6 years ago 60aaef0 face: scoped Interest filter by Junxiao Shi · 6 years ago 8db6152 util: add random::getRandomNumberEngine() to the public API by Davide Pesavento · 6 years ago ec475a7 face: scoped prefix registration by Junxiao Shi · 6 years ago 22f7bc3 tests: don't throw if NetworkMonitor lacks CAP_ENUM by Davide Pesavento · 6 years ago 534b841 docs: refresh installation instructions and general cleanup by Davide Pesavento · 6 years ago ebe156c util: fix SegmentFetcher undefined behavior caused by uncanceled pending interest by Ashlesh Gawande · 6 years ago 1e36ceb detail: move packet-base|tag-host.hpp to 'detail' by Junxiao Shi · 6 years ago d1fc9a7 detail: move common.hpp to 'detail' by Junxiao Shi · 6 years ago 24c5a00 impl: rename 'detail' to 'impl' by Junxiao Shi · 6 years ago 7e78064 Change #include style by Davide Pesavento · 6 years ago 946a51c util: stop using ChildSelector in NotificationSubscriber by Junxiao Shi · 6 years ago Next »