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, 8 months ago
  2. 21a4ea5 tests: avoid deprecated boost headers by Davide Pesavento · 4 years, 9 months ago
  3. 7c67ab5 security: remove deprecated HmacFilter by Davide Pesavento · 4 years, 9 months ago
  4. 39cb402 util: partial support for abstract types in NDN_LOG_MEMBER_* macros by Davide Pesavento · 4 years, 10 months ago
  5. 009062d name: alternative URI syntax for component types used in naming conventions by Davide Pesavento · 4 years, 10 months ago
  6. 0a6456c security: don't throw when loading an empty validation policy by Davide Pesavento · 4 years, 10 months ago
  7. 4fb35d8 security: stop installing headers of concrete PIB, TPM, and KeyHandle implementations by Davide Pesavento · 4 years, 10 months ago
  8. 12cef87 security: make BackEnd::Error an alias of Tpm::Error by Davide Pesavento · 4 years, 10 months ago
  9. bc997e5 security: add HMAC support in verification helpers by laqinfan · 5 years ago
  10. 56a812d security: add HMAC support in KeyChain and SigningInfo by laqinfan · 5 years ago
  11. 5e494c0 security: accept HMAC keys shorter than the hash function's output length by Davide Pesavento · 5 years ago
  12. 835f027 interest: don't force the generation of a nonce during decoding by Davide Pesavento · 5 years ago
  13. 75c5601 util: make overload() function public by Davide Pesavento · 5 years ago
  14. 2fdb274 interest: update toUri() for packet format v0.3 by Davide Pesavento · 5 years ago
  15. 0e0b389 interest: drop support for packet format v0.2 by Davide Pesavento · 5 years ago
  16. ef654dd Remove ill-defined equality operators (part 1) by Davide Pesavento · 5 years ago
  17. 140e9cb util: backport C++17 [[nodiscard]] attribute by Davide Pesavento · 5 years ago
  18. 869b11e util: backport std::to_underlying() by Davide Pesavento · 5 years ago
  19. 4c5b7b8 util: split RttEstimator into two classes by Davide Pesavento · 5 years ago
  20. 92dbb00 Revert "mgmt: add EndpointId field to NextHopRecord class" by Ju Pan · 5 years ago
  21. 6c6e385 util: add io::loadBuffer and io::saveBuffer by Davide Pesavento · 5 years ago
  22. 43eac58 lp: introduce PIT token by Junxiao Shi · 5 years ago
  23. 5149350 key-locator: reimplement using a sum type by Davide Pesavento · 5 years ago
  24. 7b2f58c util: Generalize logger backend support by Alexander Afanasyev · 5 years ago
  25. 2b0cc7b interest: implement HopLimit encoding/decoding by Davide Pesavento · 5 years ago
  26. 720e25c detail: improve ScopedCancelHandle by Davide Pesavento · 5 years ago
  27. adc9aa2 interest: add support for ParametersSha256DigestComponent by Davide Pesavento · 5 years ago
  28. 576b4ff util: Make use of attributes in logging facilities by Alexander Afanasyev · 5 years ago
  29. ecfb391 Declare overloaded comparison operators as non-member functions by Davide Pesavento · 5 years ago
  30. cf0baa2 security: add signature verification support in TPM by laqinfan · 5 years ago
  31. 57a3276 util: use time::nanoseconds in RttEstimator by Davide Pesavento · 5 years ago
  32. 1bac111 security: make PrivateKey::getKeySize() work in all cases by Davide Pesavento · 5 years ago
  33. ccce0bc mgmt: add EndpointId field to NextHopRecord class by Ju Pan · 5 years ago
  34. 3243c3d util: Add a getter for the smoothed RTT value by Ernest McCracken · 5 years ago
  35. 48f9724 security: add PrivateKey::loadRaw() for HMAC keys by laqinfan · 5 years ago
  36. 4ad933a util: add afterMeasurement signal to RttEstimator by Davide Pesavento · 5 years ago
  37. 77d9e81 security: remove unused KeyClass and AclType enums by Davide Pesavento · 5 years ago
  38. 0fe72ea security: add HMAC support to SignerFilter and VerifierFilter by Laqin Fan · 5 years ago
  39. 2ad2fbe interest: drop Selectors from matching functions by Junxiao Shi · 5 years ago
  40. f1bb38d util: move Scheduler and related classes to ndn::scheduler by Davide Pesavento · 5 years ago
  41. 6b33040 encoding: treat TLV-TYPE zero as invalid by Davide Pesavento · 5 years ago
  42. 3891244 interest: improve setApplicationParameters() behavior by Davide Pesavento · 5 years ago
  43. 9c19a39 interest: rename Parameters to ApplicationParameters by Davide Pesavento · 5 years ago
  44. 5437aa2 tests: fix compilation with Boost 1.69.0 by Davide Pesavento · 5 years ago
  45. 1660d00 security: Add option to disable infrastructure interest in CertificateFetcherDirectFetch by Alexander Afanasyev · 5 years ago
  46. a5f233e util: rename Scheduler::scheduleEvent to schedule by Junxiao Shi · 5 years ago
  47. fd61231 util: add ndn::scheduler namespace alias by Davide Pesavento · 5 years ago
  48. e209961 name-component: encode/decode Convention rev2 by Junxiao Shi · 6 years ago
  49. 923ba44 Replace all uses of BOOST_THROW_EXCEPTION with NDN_THROW by Davide Pesavento · 6 years ago
  50. fccb2dc encoding+interest: change Parameters to use non-critical type 36 by Davide Pesavento · 6 years ago
  51. fd67401 util: introduce NDN_THROW by Davide Pesavento · 6 years ago
  52. 5c803b9 encoding: improve documentation of Block class by Davide Pesavento · 6 years ago
  53. 80609d4 face: scoped pending Interest by Junxiao Shi · 6 years ago
  54. 07115cc util: reimplement scheduler::EventId with CancelHandle by Junxiao Shi · 6 years ago
  55. 6b99b6f Add MetadataObject class to encode/decode RDR-style metadata by Chavoosh Ghasemi · 6 years ago
  56. ca48851 tests: delete goodness-of-fit tests from Util/TestRandom by Davide Pesavento · 6 years ago
  57. c53df03 lp: stop accepting NonNegativeInteger as sequence number by Junxiao Shi · 6 years ago
  58. 60aaef0 face: scoped Interest filter by Junxiao Shi · 6 years ago
  59. 8db6152 util: add random::getRandomNumberEngine() to the public API by Davide Pesavento · 6 years ago
  60. ec475a7 face: scoped prefix registration by Junxiao Shi · 6 years ago
  61. 22f7bc3 tests: don't throw if NetworkMonitor lacks CAP_ENUM by Davide Pesavento · 6 years ago
  62. 534b841 docs: refresh installation instructions and general cleanup by Davide Pesavento · 6 years ago
  63. ebe156c util: fix SegmentFetcher undefined behavior caused by uncanceled pending interest by Ashlesh Gawande · 6 years ago
  64. 1e36ceb detail: move packet-base|tag-host.hpp to 'detail' by Junxiao Shi · 6 years ago
  65. d1fc9a7 detail: move common.hpp to 'detail' by Junxiao Shi · 6 years ago
  66. 24c5a00 impl: rename 'detail' to 'impl' by Junxiao Shi · 6 years ago
  67. 7e78064 Change #include style by Davide Pesavento · 6 years ago
  68. 946a51c util: stop using ChildSelector in NotificationSubscriber by Junxiao Shi · 6 years ago
  69. 74daf74 Rename 'tests/unit-tests' directory to 'tests/unit' by Davide Pesavento · 6 years ago