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. 60aaef0 face: scoped Interest filter by Junxiao Shi · 6 years ago
  2. 8db6152 util: add random::getRandomNumberEngine() to the public API by Davide Pesavento · 6 years ago
  3. ec475a7 face: scoped prefix registration by Junxiao Shi · 6 years ago
  4. c554551 Add git .mailmap by Davide Pesavento · 6 years ago
  5. bfe3139 util: seed the PRNG with more entropy by Davide Pesavento · 6 years ago
  6. 22f7bc3 tests: don't throw if NetworkMonitor lacks CAP_ENUM by Davide Pesavento · 6 years ago
  7. 64ae55d build: ensure /usr/local/include is treated as system include path on FreeBSD by Davide Pesavento · 6 years ago
  8. 534b841 docs: refresh installation instructions and general cleanup by Davide Pesavento · 6 years ago
  9. ebe156c util: fix SegmentFetcher undefined behavior caused by uncanceled pending interest by Ashlesh Gawande · 6 years ago
  10. 19b87de detail: move cf-*-osx.hpp to 'detail' by Junxiao Shi · 6 years ago
  11. 70d76eb transport: move Impl templates into 'detail' by Junxiao Shi · 6 years ago
  12. 1d23ff9 detail: move asio-fwd to 'detail' by Junxiao Shi · 6 years ago
  13. 1e36ceb detail: move packet-base|tag-host.hpp to 'detail' by Junxiao Shi · 6 years ago
  14. d1fc9a7 detail: move common.hpp to 'detail' by Junxiao Shi · 6 years ago
  15. 24c5a00 impl: rename 'detail' to 'impl' by Junxiao Shi · 6 years ago
  16. 2c1d349 docs: display the full include path in doxygen by Davide Pesavento · 6 years ago
  17. 7e78064 Change #include style by Davide Pesavento · 6 years ago
  18. cf8a368 ci: install gcovr via apt by Davide Pesavento · 6 years ago
  19. 946a51c util: stop using ChildSelector in NotificationSubscriber by Junxiao Shi · 6 years ago
  20. 74daf74 Rename 'tests/unit-tests' directory to 'tests/unit' by Davide Pesavento · 6 years ago
  21. 1944281 Rename 'src' directory to 'ndn-cxx' by Davide Pesavento · 6 years ago
  22. 3e3a989 mgmt: Controller cleans up fetchers on destruction by Ashlesh Gawande · 6 years ago
  23. 1bbce6d ims: prevent memory pool size from becoming zero by Ashlesh Gawande · 6 years ago
  24. 17b61b4 util: backport C++17 std::any and std::variant by Davide Pesavento · 6 years ago
  25. 8dfd913 data: remove deprecated {get,set}FinalBlockId() by Davide Pesavento · 6 years ago
  26. 511712d ci: fix another issue with preinstalled homebrew packages on Travis by Davide Pesavento · 6 years ago
  27. dca56ea mgmt: augment ForwarderStatus with counters for satisfied and unsatisfied Interests by Ju Pan · 6 years ago
  28. 679dbb0 util: add stop function to SegmentFetcher by Ashlesh Gawande · 6 years ago
  29. 241df42 encoding: support floating point numbers in TLV-VALUE by Tianxing Ma · 6 years ago
  30. 8b753a2 interest+data: forbid unrecognized TLV before Name by Junxiao Shi · 6 years ago
  31. 7b11246 security: Throw exception when loading on orphaned ValidationPolicyConfig by Alexander Afanasyev · 6 years ago
  32. f714d1b ci: workaround homebrew issues with python and numpy on Travis's macOS 10.12 by Davide Pesavento · 6 years ago
  33. ee77ca0 security: use AES-256 for private key encryption in PKCS #8 export by Davide Pesavento · 6 years ago
  34. 3e39a4d security: use exponential backoff in CertificateFetcherFromNetwork by Ashlesh Gawande · 6 years ago
  35. 13fffa3 security: in tpm::BackEndOsx, unwrap the key before importing it by Davide Pesavento · 6 years ago
  36. 279f366 util: remove deprecated SegmentFetcher::fetch by Ashlesh Gawande · 6 years ago
  37. 2cb33fa net: remove deprecated ndn::ip::address{,V6}FromString by Davide Pesavento · 6 years ago
  38. a3bf431 Prepare release 0.6.3 by Alexander Afanasyev · 6 years ago ndn-cxx-0.6.3
  39. d2c750b util: update bundled copy of optional-lite by Davide Pesavento · 6 years ago
  40. e3ecad7 lp: remove lp::PrefixAnnouncement in favor of ndn::PrefixAnnouncement by Teng Liang · 6 years ago
  41. 8bd3b8a ci: add support for CentOS 7 by Md Ashiqur Rahman · 6 years ago
  42. cdb5d8f ci: introduce helper to preserve select env variables under sudo by Davide Pesavento · 6 years ago
  43. e80d116 security: add support for SHA-3 by Davide Pesavento · 6 years ago
  44. 648ae9e security: forbid RSA keys shorter than 2048 bits by Davide Pesavento · 6 years ago
  45. 3c7969f security: support 224-bit and 521-bit NIST elliptic curves by Davide Pesavento · 6 years ago
  46. 1748b1e prefix-ann: provide ==, !=, << operators by Junxiao Shi · 6 years ago
  47. fbda933 security: improve error handling in tpm::BackEndOsx by Davide Pesavento · 6 years ago
  48. 4b8eab7 build: drop dependency on unused CoreServices framework by Davide Pesavento · 6 years ago
  49. 5ee8ec0 security: code cleanup and doxygen improvements in tpm::BackEndOsx by Davide Pesavento · 6 years ago
  50. 502b479 encoding: replace the route origin selflearning with prefixann by Teng Liang · 6 years ago
  51. 4fc6db2 docs: Fix a typo by Sepehr Abdous · 6 years ago
  52. 474c3b2 build: check for linux/genetlink.h by Davide Pesavento · 6 years ago
  53. 8127d1a mgmt: encode and decode prefix announcement object by Junxiao Shi · 6 years ago
  54. 755f8a8 net: NetworkMonitor: gracefully handle backend initialization failure by Davide Pesavento · 6 years ago
  55. 52bc4e9 build: disable -Wmissing-braces with clang < 6.0 by Davide Pesavento · 6 years ago
  56. 2b322eb encoding: provide _block literal operator by Junxiao Shi · 6 years ago
  57. 426d500 encoding: update number assignments by Junxiao Shi · 6 years ago
  58. 1077499 net: initial support for generic netlink (genl) by Davide Pesavento · 6 years ago
  59. dc5bb96 net: support multiple concurrent netlink requests by Davide Pesavento · 6 years ago
  60. a0b2a2c net: refactor netlink socket handling by Davide Pesavento · 6 years ago
  61. 4053bd5 name: recognize ParametersSha256DigestComponent by Junxiao Shi · 6 years ago
  62. d2e6063 name-component: recognize plain URI syntax by Junxiao Shi · 6 years ago
  63. b38664e interest: support Parameters element by Arthi Padmanabhan · 6 years ago
  64. 68b5385 docs: update code-style rule 2.24 by Junxiao Shi · 6 years ago
  65. 3b101d0 Use std::move in more places by Davide Pesavento · 6 years ago
  66. cf0aff8 name: accommodate typed components in getSuccessor by Junxiao Shi · 6 years ago
  67. b55e5d3 interest: declare default CanBePrefix setting by Junxiao Shi · 6 years ago
  68. 54d74c2 security: correct ValidationPolicy docs by Junxiao Shi · 6 years ago
  69. 643b7f5 mgmt: use platform-independent counter type by Junxiao Shi · 6 years ago
  70. 5c1c444 security: Improve reliability of TPM BackEnd RandomKeyId test case by Junxiao Shi · 6 years ago
  71. 3a3e188 encoding+util: ensure move constructors are properly declared by Davide Pesavento · 6 years ago
  72. bc76da1 util: update optional-lite to version 3.0.0 by Davide Pesavento · 6 years ago
  73. 570b20d encoding+lp: declare constexpr and noexcept where possible by Davide Pesavento · 6 years ago
  74. 14883ad encoding: use Boost.Endian for endianness conversions by Davide Pesavento · 6 years ago
  75. 2aec97a net: filter netlink messages based on sender pid and destination group by Davide Pesavento · 6 years ago
  76. 50b9226 net: refactor netlink message parsing, add extack support by Davide Pesavento · 6 years ago
  77. 4c45fd8 ims: correct inaccurate comment by Junxiao Shi · 6 years ago
  78. 2b765f8 util: eliminate selector usage in SegmentFetcher by Eric Newberry · 6 years ago
  79. 3306339 docs: unregister prefixes instead of calling Face::shutdown by Eric Newberry · 6 years ago
  80. e345baa util: augment SegmentFetcher with congestion control by Eric Newberry · 6 years ago
  81. 71a2f03 mgmt: fix compilation error on Xcode 8 and earlier by Eric Newberry · 6 years ago
  82. ca660f1 build: require clang >= 3.6 by Davide Pesavento · 6 years ago
  83. 31fd467 security: Correctly handle Sha256-signed Command Interests by Alexander Afanasyev · 6 years ago
  84. 57d02b6 security: Fix bug preventing customization of KeyChain's TPM on macOS by Alexander Afanasyev · 6 years ago
  85. db4da5e Improve and simplify code with modern C++ features by Davide Pesavento · 6 years ago
  86. 634a62b tools: Allow specifying passphrase for ndnsec import/export in command line by Alexander Afanasyev · 6 years ago
  87. 3c9bc04 mgmt: add Mtu to faces/create and FaceStatus by Eric Newberry · 6 years ago
  88. 90db7ee net+util: remove dependency on Boost.Regex by Davide Pesavento · 6 years ago
  89. 436e46f docs: allow use of "Num" and "No" in entity number variable names by Eric Newberry · 6 years ago
  90. 59e266a net: deprecate ndn::ip::address{,V6}FromString by Davide Pesavento · 6 years ago
  91. 1fd0024 build: switch to C++14 by Davide Pesavento · 6 years ago
  92. e240422 face: use post instead of dispatch to avoid re-entrancy issues by Ashlesh Gawande · 6 years ago
  93. cc910cd util: use signals instead of callbacks in SegmentFetcher by Eric Newberry · 6 years ago
  94. 21be816 build: ignore OSError raised by subprocess.check_output() by Davide Pesavento · 6 years ago
  95. 844b093 build: require gcc >= 5.3, boost >= 1.58, openssl >= 1.0.2 by Davide Pesavento · 6 years ago
  96. d9b083e Prepare release 0.6.2 by Alexander Afanasyev · 6 years ago ndn-cxx-0.6.2
  97. 7c4ad51 docs: update list of supported platforms by Davide Pesavento · 6 years ago
  98. c93c2ce encoding: add route origin for self-learning by Teng Liang · 6 years ago
  99. d89f002 ci: add gcc-8 to Travis-CI build matrix by Davide Pesavento · 6 years ago
  100. 1c9c96c util: fix Logging::getLoggerNames() by Davide Pesavento · 6 years ago