ndn-cxx version 0.7.0

BREAKING CHANGE

This release features support of only NDN packet format version 0.3
(Issues 4527, 4567, 4709, 4913). The library encodes and interprets Interest
and Data packets only in 0.3 format; support for version 0.2 has been
completely removed. In addition, the URI representation of Interest
packets has also been changed following the packet format updates.

New features:

- HMAC signing support (3075)

- Support for ParametersSha256DigestComponent in Name and Interest
  classes (4658)

- Encoding/decoding of HopLimit field in Interest (4806)

- PIT token (4532).

  PIT token is a hop-by-hop header field that identifies an
  Interest-Data exchange. The downstream node can assign an opaque token
  to an outgoing Interest, and the upstream node is expected to return
  the same token on the Data or Nack in reply to that Interest. This
  would allow the downstream node to accelerate its processing,
  especially in PIT lookup.

- io::loadBuffer and io::saveBuffer helper functions

Improvements and bug fixes:

- Various improvements in the Linux implementation of NetworkMonitor
  class
- Rework of RttEstimator class:
  - split into two classes: RttEstimator and RttEstimatorWithStats
    (4887)
  - add a getter for the smoothed RTT value (4892)
  - switch to use time::nanoseconds (4887)
- Make use of attributes in logging facilities and generalize logger
  backend support (4969, 3782)
- Silently accept an empty validation policy instead of throwing an
  exception (5049)
- Introduce alternative URI syntax for component types used in naming
  conventions, with ability to choose between canonical and alternate
  format (4777)
- Don't force the generation of an Interest nonce during decoding (4685)
- Various documentation improvements

Removals:

- ndn::util::Scheduler (use ndn::Scheduler or ndn::scheduler::Scheduler)
  and ndn::EventId (use ndn::scheduler::EventId) (4883)
- Unused KeyClass and AclType enums
- Unused v2::PublicKey alias of transform::PublicKey
- HmacFilter class, use SignerFilter and VerifierFilter instead
- Ill-defined equality operators for Interest, MetaInfo, Signature
  (4569)
- Implicit conversion from the xyzHandle types to const xyzId* (where
  xyz is PendingInterest, RegisteredPrefixId, and InterestFilterId)
- Deprecated KeyLocator::Type enum
- Private header files of concrete PIB, TPM, and KeyHandle
  implementations are no longer installed (4782)
- Renamed util/backports-ostream-joiner.hpp to util/ostream-joiner.hpp
  1. 24c5a00 impl: rename 'detail' to 'impl' by Junxiao Shi · 6 years ago
  2. 7e78064 Change #include style by Davide Pesavento · 6 years ago
  3. f35c427 net: NetworkMonitorImplOsx: optimize conversion from CFString by Davide Pesavento · 7 years ago
  4. 2dc416d net: add NetworkMonitorStub by Junxiao Shi · 7 years ago
  5. 2546794 net: move network-related files to src/net by Junxiao Shi · 7 years ago
  6. 5bcee10 util: Add detection whether WiFi interface is ad hoc on macOS by Alexander Afanasyev · 7 years ago
  7. f4c1eb3 util: no-op NetworkMonitor on unsupported platforms by Junxiao Shi · 7 years ago
  8. 2bf35a6 util: NetworkMonitor: fine-grained signals on interface/address changes by Davide Pesavento · 7 years ago
  9. 537dc3a Reduce inclusions of <boost/asio.hpp> in public headers by Davide Pesavento · 9 years ago
  10. e6c65e2 util: NetworkMonitor helper to detect network state changes by Alexander Afanasyev · 10 years ago