ndn-cxx version 0.7.0

BREAKING CHANGE

This release features support of only NDN packet format version 0.3
(Issues 4527, 4567, 4709, 4913). The library encodes and interprets Interest
and Data packets only in 0.3 format; support for version 0.2 has been
completely removed. In addition, the URI representation of Interest
packets has also been changed following the packet format updates.

New features:

- HMAC signing support (3075)

- Support for ParametersSha256DigestComponent in Name and Interest
  classes (4658)

- Encoding/decoding of HopLimit field in Interest (4806)

- PIT token (4532).

  PIT token is a hop-by-hop header field that identifies an
  Interest-Data exchange. The downstream node can assign an opaque token
  to an outgoing Interest, and the upstream node is expected to return
  the same token on the Data or Nack in reply to that Interest. This
  would allow the downstream node to accelerate its processing,
  especially in PIT lookup.

- io::loadBuffer and io::saveBuffer helper functions

Improvements and bug fixes:

- Various improvements in the Linux implementation of NetworkMonitor
  class
- Rework of RttEstimator class:
  - split into two classes: RttEstimator and RttEstimatorWithStats
    (4887)
  - add a getter for the smoothed RTT value (4892)
  - switch to use time::nanoseconds (4887)
- Make use of attributes in logging facilities and generalize logger
  backend support (4969, 3782)
- Silently accept an empty validation policy instead of throwing an
  exception (5049)
- Introduce alternative URI syntax for component types used in naming
  conventions, with ability to choose between canonical and alternate
  format (4777)
- Don't force the generation of an Interest nonce during decoding (4685)
- Various documentation improvements

Removals:

- ndn::util::Scheduler (use ndn::Scheduler or ndn::scheduler::Scheduler)
  and ndn::EventId (use ndn::scheduler::EventId) (4883)
- Unused KeyClass and AclType enums
- Unused v2::PublicKey alias of transform::PublicKey
- HmacFilter class, use SignerFilter and VerifierFilter instead
- Ill-defined equality operators for Interest, MetaInfo, Signature
  (4569)
- Implicit conversion from the xyzHandle types to const xyzId* (where
  xyz is PendingInterest, RegisteredPrefixId, and InterestFilterId)
- Deprecated KeyLocator::Type enum
- Private header files of concrete PIB, TPM, and KeyHandle
  implementations are no longer installed (4782)
- Renamed util/backports-ostream-joiner.hpp to util/ostream-joiner.hpp
  1. a39c0b5 name: select canonical vs alternate URI representation by Junxiao Shi · 4 years, 7 months ago
  2. 21a4ea5 tests: avoid deprecated boost headers by Davide Pesavento · 4 years, 7 months ago
  3. 7c67ab5 security: remove deprecated HmacFilter by Davide Pesavento · 4 years, 8 months ago
  4. 39cb402 util: partial support for abstract types in NDN_LOG_MEMBER_* macros by Davide Pesavento · 4 years, 8 months ago
  5. 39570d9 tests: fix Interest name in face integration test by Davide Pesavento · 4 years, 8 months ago
  6. 009062d name: alternative URI syntax for component types used in naming conventions by Davide Pesavento · 4 years, 8 months ago
  7. 0a6456c security: don't throw when loading an empty validation policy by Davide Pesavento · 4 years, 8 months ago
  8. 4fb35d8 security: stop installing headers of concrete PIB, TPM, and KeyHandle implementations by Davide Pesavento · 4 years, 9 months ago
  9. 12cef87 security: make BackEnd::Error an alias of Tpm::Error by Davide Pesavento · 4 years, 9 months ago
  10. bc997e5 security: add HMAC support in verification helpers by laqinfan · 5 years ago
  11. 56a812d security: add HMAC support in KeyChain and SigningInfo by laqinfan · 5 years ago
  12. 5e494c0 security: accept HMAC keys shorter than the hash function's output length by Davide Pesavento · 4 years, 10 months ago
  13. 835f027 interest: don't force the generation of a nonce during decoding by Davide Pesavento · 4 years, 10 months ago
  14. 75c5601 util: make overload() function public by Davide Pesavento · 5 years ago
  15. 2fdb274 interest: update toUri() for packet format v0.3 by Davide Pesavento · 5 years ago
  16. 0e0b389 interest: drop support for packet format v0.2 by Davide Pesavento · 5 years ago
  17. ef654dd Remove ill-defined equality operators (part 1) by Davide Pesavento · 5 years ago
  18. 140e9cb util: backport C++17 [[nodiscard]] attribute by Davide Pesavento · 5 years ago
  19. 869b11e util: backport std::to_underlying() by Davide Pesavento · 5 years ago
  20. 4c5b7b8 util: split RttEstimator into two classes by Davide Pesavento · 5 years ago
  21. 92dbb00 Revert "mgmt: add EndpointId field to NextHopRecord class" by Ju Pan · 5 years ago
  22. 6c6e385 util: add io::loadBuffer and io::saveBuffer by Davide Pesavento · 5 years ago
  23. 43eac58 lp: introduce PIT token by Junxiao Shi · 5 years ago
  24. 5149350 key-locator: reimplement using a sum type by Davide Pesavento · 5 years ago
  25. 7b2f58c util: Generalize logger backend support by Alexander Afanasyev · 5 years ago
  26. 2b0cc7b interest: implement HopLimit encoding/decoding by Davide Pesavento · 5 years ago
  27. 720e25c detail: improve ScopedCancelHandle by Davide Pesavento · 5 years ago
  28. adc9aa2 interest: add support for ParametersSha256DigestComponent by Davide Pesavento · 5 years ago
  29. 576b4ff util: Make use of attributes in logging facilities by Alexander Afanasyev · 5 years ago
  30. ecfb391 Declare overloaded comparison operators as non-member functions by Davide Pesavento · 5 years ago
  31. cf0baa2 security: add signature verification support in TPM by laqinfan · 5 years ago
  32. 57a3276 util: use time::nanoseconds in RttEstimator by Davide Pesavento · 5 years ago
  33. 1bac111 security: make PrivateKey::getKeySize() work in all cases by Davide Pesavento · 5 years ago
  34. ccce0bc mgmt: add EndpointId field to NextHopRecord class by Ju Pan · 5 years ago
  35. 3243c3d util: Add a getter for the smoothed RTT value by Ernest McCracken · 5 years ago
  36. 48f9724 security: add PrivateKey::loadRaw() for HMAC keys by laqinfan · 5 years ago
  37. 4ad933a util: add afterMeasurement signal to RttEstimator by Davide Pesavento · 5 years ago
  38. 77d9e81 security: remove unused KeyClass and AclType enums by Davide Pesavento · 5 years ago
  39. 0fe72ea security: add HMAC support to SignerFilter and VerifierFilter by Laqin Fan · 5 years ago
  40. 2ad2fbe interest: drop Selectors from matching functions by Junxiao Shi · 5 years ago
  41. f1bb38d util: move Scheduler and related classes to ndn::scheduler by Davide Pesavento · 5 years ago
  42. 6b33040 encoding: treat TLV-TYPE zero as invalid by Davide Pesavento · 5 years ago
  43. 3891244 interest: improve setApplicationParameters() behavior by Davide Pesavento · 5 years ago
  44. 9c19a39 interest: rename Parameters to ApplicationParameters by Davide Pesavento · 5 years ago
  45. 5437aa2 tests: fix compilation with Boost 1.69.0 by Davide Pesavento · 5 years ago
  46. 1660d00 security: Add option to disable infrastructure interest in CertificateFetcherDirectFetch by Alexander Afanasyev · 5 years ago
  47. a5f233e util: rename Scheduler::scheduleEvent to schedule by Junxiao Shi · 5 years ago
  48. fd61231 util: add ndn::scheduler namespace alias by Davide Pesavento · 5 years ago
  49. e209961 name-component: encode/decode Convention rev2 by Junxiao Shi · 5 years ago
  50. 923ba44 Replace all uses of BOOST_THROW_EXCEPTION with NDN_THROW by Davide Pesavento · 5 years ago
  51. fccb2dc encoding+interest: change Parameters to use non-critical type 36 by Davide Pesavento · 5 years ago
  52. fd67401 util: introduce NDN_THROW by Davide Pesavento · 5 years ago
  53. 5c803b9 encoding: improve documentation of Block class by Davide Pesavento · 5 years ago
  54. 80609d4 face: scoped pending Interest by Junxiao Shi · 5 years ago
  55. 07115cc util: reimplement scheduler::EventId with CancelHandle by Junxiao Shi · 5 years ago
  56. 6b99b6f Add MetadataObject class to encode/decode RDR-style metadata by Chavoosh Ghasemi · 6 years ago
  57. ca48851 tests: delete goodness-of-fit tests from Util/TestRandom by Davide Pesavento · 6 years ago
  58. c53df03 lp: stop accepting NonNegativeInteger as sequence number by Junxiao Shi · 6 years ago
  59. 60aaef0 face: scoped Interest filter by Junxiao Shi · 6 years ago
  60. 8db6152 util: add random::getRandomNumberEngine() to the public API by Davide Pesavento · 6 years ago
  61. ec475a7 face: scoped prefix registration by Junxiao Shi · 6 years ago
  62. 22f7bc3 tests: don't throw if NetworkMonitor lacks CAP_ENUM by Davide Pesavento · 6 years ago
  63. 534b841 docs: refresh installation instructions and general cleanup by Davide Pesavento · 6 years ago
  64. ebe156c util: fix SegmentFetcher undefined behavior caused by uncanceled pending interest by Ashlesh Gawande · 6 years ago
  65. 1e36ceb detail: move packet-base|tag-host.hpp to 'detail' by Junxiao Shi · 6 years ago
  66. d1fc9a7 detail: move common.hpp to 'detail' by Junxiao Shi · 6 years ago
  67. 24c5a00 impl: rename 'detail' to 'impl' by Junxiao Shi · 6 years ago
  68. 7e78064 Change #include style by Davide Pesavento · 6 years ago
  69. 946a51c util: stop using ChildSelector in NotificationSubscriber by Junxiao Shi · 6 years ago
  70. 74daf74 Rename 'tests/unit-tests' directory to 'tests/unit' by Davide Pesavento · 6 years ago
  71. 1944281 Rename 'src' directory to 'ndn-cxx' by Davide Pesavento · 6 years ago
  72. 3e3a989 mgmt: Controller cleans up fetchers on destruction by Ashlesh Gawande · 6 years ago
  73. 1bbce6d ims: prevent memory pool size from becoming zero by Ashlesh Gawande · 6 years ago
  74. 8dfd913 data: remove deprecated {get,set}FinalBlockId() by Davide Pesavento · 6 years ago
  75. dca56ea mgmt: augment ForwarderStatus with counters for satisfied and unsatisfied Interests by Ju Pan · 6 years ago
  76. 679dbb0 util: add stop function to SegmentFetcher by Ashlesh Gawande · 6 years ago
  77. 241df42 encoding: support floating point numbers in TLV-VALUE by Tianxing Ma · 6 years ago
  78. 8b753a2 interest+data: forbid unrecognized TLV before Name by Junxiao Shi · 6 years ago
  79. 7b11246 security: Throw exception when loading on orphaned ValidationPolicyConfig by Alexander Afanasyev · 6 years ago
  80. 3e39a4d security: use exponential backoff in CertificateFetcherFromNetwork by Ashlesh Gawande · 6 years ago
  81. 13fffa3 security: in tpm::BackEndOsx, unwrap the key before importing it by Davide Pesavento · 6 years ago
  82. 279f366 util: remove deprecated SegmentFetcher::fetch by Ashlesh Gawande · 6 years ago
  83. 2cb33fa net: remove deprecated ndn::ip::address{,V6}FromString by Davide Pesavento · 6 years ago
  84. e3ecad7 lp: remove lp::PrefixAnnouncement in favor of ndn::PrefixAnnouncement by Teng Liang · 6 years ago
  85. e80d116 security: add support for SHA-3 by Davide Pesavento · 6 years ago
  86. 648ae9e security: forbid RSA keys shorter than 2048 bits by Davide Pesavento · 6 years ago
  87. 1748b1e prefix-ann: provide ==, !=, << operators by Junxiao Shi · 6 years ago
  88. 5ee8ec0 security: code cleanup and doxygen improvements in tpm::BackEndOsx by Davide Pesavento · 6 years ago
  89. 502b479 encoding: replace the route origin selflearning with prefixann by Teng Liang · 6 years ago
  90. 8127d1a mgmt: encode and decode prefix announcement object by Junxiao Shi · 6 years ago
  91. 2b322eb encoding: provide _block literal operator by Junxiao Shi · 6 years ago
  92. 426d500 encoding: update number assignments by Junxiao Shi · 6 years ago
  93. 4053bd5 name: recognize ParametersSha256DigestComponent by Junxiao Shi · 6 years ago
  94. d2e6063 name-component: recognize plain URI syntax by Junxiao Shi · 6 years ago
  95. b38664e interest: support Parameters element by Arthi Padmanabhan · 6 years ago
  96. 3b101d0 Use std::move in more places by Davide Pesavento · 6 years ago
  97. cf0aff8 name: accommodate typed components in getSuccessor by Junxiao Shi · 6 years ago
  98. b55e5d3 interest: declare default CanBePrefix setting by Junxiao Shi · 6 years ago
  99. 5c1c444 security: Improve reliability of TPM BackEnd RandomKeyId test case by Junxiao Shi · 6 years ago
  100. 3a3e188 encoding+util: ensure move constructors are properly declared by Davide Pesavento · 6 years ago