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