ndn-cxx version 0.8.0

Important changes

- Flip default value of CanBePrefix to false (4582). This means that
  Interests created without explicitly specifying CanBePrefix option,
  will be treaded as Interests for exact Data name.
- Change default name component encoding convention to typed (5044)
- Update TLV-TYPE numbers to revision 3 of the naming conventions
- Change TLV-TYPE number of IncomingFaceId field in NDNLP (5185)
- Update Interest::ForwardingHint format (5187)

Improvements and bug fixes

- Support certificate name, versionless certificate name, and key name
  options for KeyLocator name in ValidatorConfig (5142)
- Fix ValidatorConfig rule processing bug (5145)
- Generalize signature verification to allow digest-sha256, effectively
  adding support of digest integrity verification in ValidatorConfig
- Enforce sig-type check in ValidatorConfig (4524)
- Refactor and cleanup of StatusDatasetContext, including increase of
  max payload size of each segment produced by StatusDatasetContext to
  8,000 bytes
- Prevent potential dereferencing of past-the-end iterator in
  Block::value()
- Fail early in Block::blockFromValue(), if TLV length is zero
- Improve error reporting when loading a Certificate or SafeBag fails
- Add API to get the keyword name component for Metadata and Prefix
  Announcements
- Backport C++20 std::span and convert most APIs to use it
- Introduce time::{to,from}IsoExtendedString() utility functions
- Add support for OpenSSL 3.0. Note that because of the API changes,
  HMAC implementation does not currently work when compiled with OpenSSL
  3.0, use older version of OpenSSL when needed.
- Various build system and documentation extension and fixes

Deprecations

- Interest::setDefaultCanBePrefix()
- Name::append(Block) overload, as it has confusing semantics (5186)
- ndnsec tool aliases: ndnsec-certgen, ndnsec-dump-certificate,
  ndnsec-install-cert, ndnsec-keygen, ndnsec-ls-identity

Removals

- Previously deprecated Signature class, its subclasses, and deprecated
  methods from Data, KeyChain, SignatureInfo, and SigningInfo
- Redundant overloads of verifySignature() and verifyDigest()
- Previously deprecated security/v2 headers
- Previously deprecated CommandInterestSigner
- Unused Transport::send() overload
- Remove HTTP download feature in ndnsec cert-install, as it does not
  support HTTPS retrieval. The recommended way of installing
  certificates published over HTTP/HTTPS has been changed to use curl or
  wget (4506)
Prepare release 0.8.0

Change-Id: I4fd006cc7f8f1a672b6cf0ddd422a4653da6d87f
Refs: #5172
5 files changed
tree: 7e76a93d4527461c90f5babb25595f42037b7919
  1. .github/
  2. .jenkins.d/
  3. .waf-tools/
  4. docs/
  5. examples/
  6. ndn-cxx/
  7. tests/
  8. tools/
  9. .gitignore
  10. .jenkins
  11. .mailmap
  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

CI Docs Language 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.