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 · 4 years ago
  2. 5353394 interest: refactor nonce handling by Davide Pesavento · 4 years, 6 months ago
  3. adc9aa2 interest: add support for ParametersSha256DigestComponent by Davide Pesavento · 5 years ago
  4. 7e78064 Change #include style by Davide Pesavento · 6 years ago
  5. b55e5d3 interest: declare default CanBePrefix setting by Junxiao Shi · 6 years ago
  6. 2bea5c4 tests: revamp Face integrated tests by Junxiao Shi · 7 years ago[Renamed (94%) from tests/unit-tests/make-interest-data.hpp]
  7. d701e5b interest: delete Link and SelectedDelegation fields by Junxiao Shi · 7 years ago
  8. 198c381 security: Validator::verifySignature don't throw on Interest with malformed signature by Junxiao Shi · 8 years ago
  9. 85d9083 tests: move makeInterest/makeData/etc to ndn::tests namespace by Junxiao Shi · 8 years ago
  10. b1990df management: process Nack in nfd::Controller by Junxiao Shi · 9 years ago
  11. d5c48e0 encoding: Improving structure and documentation of block helpers by Alexander Afanasyev · 9 years ago
  12. 429634f tests: Change to updated naming conventions by Spyridon Mastorakis · 10 years ago[Renamed (82%) from tests/unit-tests/test-make-interest-data.hpp]
  13. 9913596 util: in-memory storage by Jiewen Tan · 10 years ago