blob: 9c12ad38d9b0c12cf5704a72e49c422056e9876a [file] [log] [blame]
ndn-cxx version 0.7.1
---------------------
Release date: October 8, 2020
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 <https://docs.named-data.net/NDN-packet-spec/0.3/signed-interest.html>`__
according to Packet Specification v0.3 (:issue:`4804`)
- Add "in-order" mode to :ndn-cxx:`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) (:issue:`5115`)
- Allow face MTU to be changed via management (:issue:`5056`)
Improvements and bug fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^
- Change default key type generated by ndnsec to ECDSA
- Use named curve when encoding ECDSA public keys (:issue:`5037`)
- Allow non-default key to be exported for an identity via ``ndnsec-export`` (:issue:`5043`)
- Fix spurious error message from ``ndnsec-key-gen`` when ``key-id`` is specified (:issue:`5057`)
- Provide more fine-grained choices for :ndn-cxx:`name::UriFormat` (:issue:`4777`)
- Allow automatic log flushing to be disabled (:issue:`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 (:issue:`4583`)
- Fix regression in ``CertificateBundleFetcher`` with ``FinalBlockId`` handling
- Improve error handling during TPM signing (:issue:`4585`, :issue:`5086`)
- Correctly handle non-existent identity in ``PibImpl::setDefaultIdentity``
- Fix incompatibility with Boost 1.73.0+ in :ndn-cxx:`time::toIsoString`
- 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 (:issue:`4804`)
- Deprecate ``Signature`` in favor of ``SignatureInfo`` in Data packets and certificates (:issue:`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``
(:issue:`4885`)
- Remove a number of long-deprecated functions and enums