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
Prepare release 0.7.1

refs #5129

Change-Id: I3c86a1fb10e542f825c92bd0d935a2814fea1f04
5 files changed
tree: 448ffdf5d934f8c2e0a90700e3d6fe66551a1113
  1. .jenkins.d/
  2. .waf-tools/
  3. docs/
  4. examples/
  5. ndn-cxx/
  6. tests/
  7. tools/
  8. .gitignore
  9. .jenkins
  10. .mailmap
  11. .travis.yml
  12. AUTHORS.md
  13. client.conf.sample
  14. COPYING.md
  15. libndn-cxx.pc.in
  16. README-dev.md
  17. README.md
  18. waf
  19. wscript
README.md

ndn-cxx: NDN C++ library with eXperimental eXtensions

Language Build Status Latest Version

ndn-cxx is a C++14 library implementing Named Data Networking (NDN) primitives that can be used to write various NDN applications. The library is currently being used by the following projects:

Documentation

See docs/INSTALL.rst for compilation and installation instructions.

Extensive documentation is available on the library's homepage.

Reporting bugs

Please submit any bugs or feature requests to the ndn-cxx issue tracker.

Contributing

We greatly appreciate contributions to the ndn-cxx code base. If you are new to the NDN software community, please read the Contributor's Guide to get started.

License

ndn-cxx is an open source project licensed under the LGPL version 3. See COPYING.md for more information.