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. 09236c2 security: Rename security/v2/* to security/* by Alexander Afanasyev · 4 years, 3 months ago
  2. 7e78064 Change #include style by Davide Pesavento · 6 years ago
  3. adc7184 security: Remove old security framework by Alexander Afanasyev · 8 years ago
  4. e5a19b8 security: Convert ValidatorConfig to ValidationPolicyConfig by Alexander Afanasyev · 8 years ago
  5. 4caa0cc security: Add trust anchor container by Qiuhan Ding · 9 years ago
  6. 70244f4 Switch to new KeyChain where possible by Alexander Afanasyev · 8 years ago
  7. fc99b51 tests: Implement IdentityManagementV2Fixture for v2::KeyChain by Alexander Afanasyev · 8 years ago
  8. 4c9a3d5 security: Move KeyChain to security::v1 namespace and deprecated it by Alexander Afanasyev · 8 years ago
  9. 1e164cc tests: Add ability to create sub-certificates in IdentityManagementFixture by Zhiyi Zhang · 8 years ago
  10. 0a939b4 security: Add certfile cleanup to IdentityManagementFixture by Zhiyi Zhang · 8 years ago
  11. e4f8c3b tests: Enable isolation of KeyChain during run of unit/integrated tests by Alexander Afanasyev · 8 years ago
  12. af99f46 src: Update copyright notices for files modified in 2015 by Alexander Afanasyev · 10 years ago
  13. 4154634 security: Pair-up Tpm and Pib in KeyChain by Yingdi Yu · 10 years ago[Renamed (91%) from tests/unit-tests/security/identity-management-fixture.hpp]
  14. d9715e3 tests: Add test suite shared identity management fixture by Yingdi Yu · 10 years ago