ndn-cxx version 0.6.5

Note that this is the last release that encodes to NDN packet format
version 0.2.1. A future release will continue to decode v0.2.1 format,
but will encode to v0.3 format.

New features
============

- More support for NDN packet format version 0.3 (4527)
  - Stop using ChildSelector in NotificationSubscriber (4664)
  - Stop using ChildSelector in CertificateBundleFetcher (4665)
- Support floating point numbers in TLV-VALUE (4612)
- Scoped prefix registration, scoped Interest filter, and scoped pending
  Interest (3919, 4316)
- Counters for satisfied and unsatisfied Interests in ForwarderStatus
  (4720)
- random::getRandomNumberEngine() in the public API
- MetadataObject class to encode/decode RDR-style metadata (4707)
- SegmentFetcher::stop() (4692)

Improvements and bug fixes
==========================

- Use openssl-based routines for the PKCS#8 decoding/decryption when
  exporting key from macOS Keychain (4450)
- Switch to AES-256 for private key encryption in PKCS #8 export
- Add exponential backoff in CertificateFetcherFromNetwork (4718, 4712)
- Throw exception when loading an orphaned ValidationPolicyConfig (API
  violation) (4758)
- Forbid unrecognized TLVs before Name (4667)
- Prevent memory pool size from becoming zero in InMemoryStorage (4769)
- Clean up fetchers when destructing nfd::Controller (4775)
- Fix SegmentFetcher undefined behavior caused by uncanceled pending
  interest (4770)
- Seed the PRNG with more entropy (4808)
- Stop accepting NonNegativeInteger as sequence number in NDNLP (4598)
- Backport C++17 std::any and std::variant as ndn::any and ndn::variant
- Reimplement scheduler::EventId with CancelHandle (4698)

Deprecated
==========

- ndn-cxx/util/scheduler-scoped-event-id.hpp header as it is now
  sufficient to use ndn-cxx/util/scheduler.hpp header (4698)
- Implicit conversion from nullptr to scheduler::EventId (4698)

Removed
=======

- ndn::ip::address{,V6}FromString
- SegmentFetcher::fetch (4464)
- {get,set}FinalBlockId()
- Headers that were already considered internal implementation details
  have been explicitly moved to a detail/ subdir to more clearly
  separate private and public headers
Prepare release 0.6.5

Change-Id: Ifc28a3a32d572b2455353bf164427ca2d37aebf9
Refs: #4821
6 files changed
tree: 2a4270ffc25e1f3342c1c8ab8368750520c5a772
  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

Build Status

ndn-cxx is a C++ library, implementing Named Data Networking (NDN) primitives that can be used to implement various NDN applications. The library is currently being used as part of the following projects:

See the file docs/INSTALL.rst for build and install instructions.

Please submit any bugs or issues to the ndn-cxx issue tracker: https://redmine.named-data.net/projects/ndn-cxx/issues

More documentation

Extensive documentation of the library is available on the library's homepage: http://www.named-data.net/doc/ndn-cxx/

If you are new to the NDN community of software generally, read the Contributor's Guide.

License

ndn-cxx is an open source project licensed under LGPL 3.0 license. For more information about the license, refer to COPYING.md.