Tags: llxxee/ndn-cxx
Tags
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
ndn-cxx version 0.6.6
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)
- Support new naming conventions to encode/decode segment numbers,
byte offsets, versions, timestamps, and sequence numbers based on
typed name components (4777)
- Stop using ChildSelector in CertificateBundleFetcher (4665)
- NDN_THROW macro to throw exceptions including file position and
runtime context of the throw statement (4834)
- Ensure that a Block with TLV-TYPE zero is treated as invalid (4726,
4895)
Improvements and bug fixes
- Avoid directly using memory address as PendingInterestId to prevent
potential false removal of an entry (2865)
- Follow up packet specification changes to rename the Parameters
element to ApplicationParameters and to change its number to be a
non-critical element type (4658, 4780)
- Add option to disable infrastructure interest in
CertificateFetcherDirectFetch (4879)
- Fix compilation against recent versions of Boost libraries and issues
with Xcode 10.2 and older versions of Boost libraries (4890, 4923,
4860)
- Improve the "CanBePrefix unset" warning (4581)
- Improve documentation
Deprecated
- PendingInterestId, RegisteredPrefixId, and InterestFilterId types in
favor of PendingInterestHandle, RegisteredPrefixHandle, and
InterestFilterHandle (4316, 3919)
- Block::empty in favor of Block::isValid (with inverted semantics)
- Scheduler::scheduleEvent and Scheduler::cancelEvent in favor of
Scheduler::schedule and EventId::cancel (or use ScopedEventId to
automatically cancel the event when the object goes out of scope)
(4883)
- ndn::util::Scheduler (use ndn::Scheduler or ndn::scheduler::Scheduler)
and ndn::EventId (use ndn::scheduler::EventId) (4883)
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 named-data#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
ndn-cxx version 0.6.3 Note that this is the last release that encodes to NDN packet format version 0.2.1 <https://named-data.net/doc/NDN-packet-spec/0.2.1/>. A future release will continue to decode v0.2.1 format, but will encode to v0.3 format <https://named-data.net/doc/NDN-packet-spec/0.3/>. The build requirements have been upgraded to gcc >= 5.3 or clang >= 3.6, boost >= 1.58, openssl >= 1.0.2. This effectively drops support for all versions of Ubuntu older than 16.04 that use distribution-provided compilers and packages. The compilation now uses the C++14 standard. New features ============ - More support for NDN packet format version 0.3 <https://named-data.net/doc/NDN-packet-spec/0.3/>__ (4527) - Allow applications to declare a default CanBePrefix setting (4581) - Accommodate typed name components in Name::getSuccessor (4570) - Support Parameters element (4658) - Recognize alternative type representations in URI syntax (4690) - Introduce ParametersSha256DigestComponent (4658, 4570) - Prefix announcement object (4650) - MTU element in ControlParameters and FaceStatus (4005) - Enable congestion control features in SegmentFetcher (4364) - _block literal operator (4722) - Add official support for CentOS 7 (4610) Improvements and bug fixes ========================== - Fix a segfault in Face::satisfyPendingInterests when Face::put is called in DataCallback (4596) - Allow specifying passphrase for ndnsec import/export on the command line (4633) - Fix bug preventing customization of KeyChain's TPM on macOS (4297) - Fix bug with handling Sha256-signed Command Interests (4635) - Eliminate selector usage in SegmentFetcher (4555) - Improvements in netlink message processing - Gracefully handle NetworkMonitor backend initialization failure (4668) - Add support 224-bit and 521-bit NIST elliptic curves, add support for SHA-3 (with openssl >= 1.1.1-pre1), and forbid RSA keys shorter than 2048 bits in security helpers - Improve and simplify code with modern C++ features - Properly declare move constructors - Improve error handling - Improve test cases - Correct and improve documentation Deprecated ========== - SegmentFetcher::fetch() static functions in favor of start() (4464) - ndn::ip::address{,V6}FromString as Boost.Asio >= 1.58 has proper implementation of addressFromString - Selectors (4527) NDN Packet Format v0.3 replaces Selectors with CanBePrefix and MustBeFresh elements. CanBePrefix and MustBeFresh are currently mapped to the closest v0.2 semantics and encoded as selectors. - Data::get/setFinalBlockId() in favor of Data::get/setFinalBlock() Removed ======= - Dependency on Boost.Regex in favor of std::regex
ndn-cxx version 0.6.2 Note that this is the last release that encodes to NDN packet format version 0.2.1 (https://named-data.net/doc/NDN-packet-spec/0.2.1/). A future release will continue to decode v0.2.1 format, but will encode to v0.3 format (https://named-data.net/doc/NDN-packet-spec/0.3/). New features: ------------- - Initial support for NDN packet format version 0.3 (https://named-data.net/doc/NDN-packet-spec/0.3/) (Issue 4527) - Recognize typed name components, allow typed name component in FinalBlockId (Issue 4526) - Recognize Interest in Packet Format v0.3 (Issue 4527) In this release, Interest::wireDecode accepts both v0.2 and v0.3 formats, but Interest::wireEncode only encodes into v0.2 format. A future release of the library will switch the encoding to v0.3 format. - Recognize Data in Packet Format v0.3 (Issue 4568) In this release, Data::wireDecode accepts both v0.2 and v0.3 formats, but Data::wireEncode only encodes into v0.2 format. A future release of the library will switch the encoding to v0.3 format. - Library support for cs/erase command of NFD Management (Issue 4318) - A convenience function to print out Block structures (Issue 2225) Improvements and bug fixes: --------------------------- - Change encoding of NDNLPv2 sequence number from nonNegativeInteger to fixed-width integer (8 bytes in network order) (Issue 4403) - Fix compilation with Boost 1.67 (Issue 4584) - Upgrade build environment to latest version of waf and other improvements - Logging system improvements (Issue 4552) Deprecated: ----------- - Selectors (Issue 4527) NDN Packet Format v0.3 replaces Selectors with CanBePrefix and MustBeFresh elements. This commit deprecates getter/setter for Selectors in Interest class. Getter/setter for CanBePrefix and MustBeFresh are mapped to the closest v0.2 semantics and encoded as selectors. - Data::get/setFinalBlockId() in favor of Data::get/setFinalBlock()
ndn-cxx version 0.6.1 New features: ------------- - (potentially breaking change) expressInterest now by default loopbacks Interests to producer callbacks on the same Face. When undesired, use InterestFilter::allowLoopback(false) (Issue 3979) - New signal in SegmentFetcher to notify retrieval of Data segments (Issue 4438) - Initial support for the Content Store management protocol (Issue 4050) - Literal operators for time::duration types, such as 1_s, 42_ms, 30_days (Issue 4468) - Support for BLAKE2 hash function (requires OpenSSL >= 1.1.0) - A escape() helper function complementing the existing unescape() (Issue 4484) Improvements and bug fixes -------------------------- - ndnsec key-gen command line now allows customization of key ID (Issue 4294) - Fixed encoding of '~' and '+' in Component::toUri() (Issue 4484) - Fixed handling of large dates when converting to/from string (Issues 4478, 3915) - Fixed error handling in KeyChain::importSafeBag() (Issue 4359) - Fixed parsing of IPv6 addresses with scope-id (Issue 4474) - io::load() now handles empty files properly (Issue 4434) - Switched to using boost::asio::basic_waitable_timer (Issue 4431) - Allow linking multiple DummyClientFace instances together to emulate a broadcast medium (Issue 3913) - Fixed build when std::to_string is not available (Issue 4393) - Avoid undefined behavior when casting to tlv::SignatureTypeValue (Issue 4370) - Fixed compilation with Boost 1.66.0 (Issue 4422) - Various documentation updates (Issues 3918, 4184, 4275) Removed ------- - Removed obsolete TLV-TYPE constants (Issues 4055, 3098, 3755)
ndn-cxx version 0.6.0
New features:
-------------
- **breaking change** Security framework version 2 (Issues 3098, 3920,
3644, 4085, 4323, 4339)
The released version of the library only supports the new version of
the security (v2 certificate format) and features a number of
updates of KeyChain and Validator interfaces. At the same time,
management APIs for ValidatorConfig remained intact; transition to
the new framework would require only adjusting Validator::validate
calls and updating configuration files to follow the new naming
conventions of NDN Certificate Format Version 2.0.
- Integration of fetching certificates using Certificate Bundle as part
of specialized `CertificateFetcher` (Issue 3891)
- `ForwardingHint`, `Delegation`, and `DelegationList`; refactoring of
Interest encoding to include `ForwardingHint` instead of `LinkObject`,
following the latest NDN specification updates (Issues 4054, 4055)
- Fine-grained signals on interface/address changes in NetworkMonitor
for all supported platforms (Issues 3353, 4025, 3817, 4024)
- Addition of `TxSequence` field and `Ack`, the first repeatable field
in NDNLPv2 (Issue 3931)
- Optional `LocalUri` as part of `ControlParameters` and adjusting
face creation command and responses to handle the new optional field
(Issues 4014, 4015, 3956)
- `LpReliability` flag in Face management data structures (Issue 4003)
- Backported implementation of C++17 classes `ostream_joiner` and
`optional` (Issues 3962, 3753)
Improvements and bug fixes
--------------------------
- Removed dependency on CryptoPP library. All cryptographic operations
are now realized using OpenSSL library routines and/or with the help
of `security::transform` framework (Issues 3006, 3946, 3924, 3886).
- Improved APIs for NFD management data structures, including equality
comparators, formatted output, etc. (Issues 3932, 3903, 3864)
- FaceUri now accepts link-local IPv6 addresses (Issue 1428)
- Rename variables in `FaceStatus` and `ForwarderStatus` ('datas' =>
'data') (Issue 3955)
- Improve logging framework and its uses
- Add API to enumerate Logger modules (Issue 4013)
- Advanced filtering of the logging modules (Issue 3918)
- Add logging capabilities to `Face`, `UnixTransport`, `TcpTransport`,
and the new security framework (Issue 3563)
To enable logging, set environment variable `NDN_LOG` to enable
specific, subset, or all logging module at appropriate levels.
Examples:
export NDN_LOG=*=ALL
export NDN_LOG=ndn.*=ALL
export NDN_LOG=ndn.security=DEBUG:ndn.TcpTransport=ALL
- Ensure that `Face` sends `Nack` only after every `InterestCallback`
has responded (Issue 4228)
- Fix potential overflow in `time::toIsoString` (Issue 3915)
- Fix potentially misaligned memory accesses (Issues 4172, 4097, 4175,
4190, 4191)
- Fix potential memory access error in `Face/PendingInterest` (Issue 4228)
- Improvements and streamlining of the `security::transform` framework
- Source/header reorganization (Issue 3940)
- Move network-related files to `src/net`
NOTE: Namespace changes
- ndn::util::FaceUri is now ndn::FaceUri
- ndn::util::ethernet is now ndn::ethernet
- ndn::util::NetworkMonitor and related classes are now in
ndn::net
- Move signal-related files into `src/util/signal/` directory,
except for the main include `signal.hpp`
- Move InMemoryStorage to `src/ims`
- Rename `digest.hpp` to `sha256.hpp` to match the `Sha256` class
declared within
Removed
-------
- Old security framework.
- `v1::KeyChain`, use v2::KeyChain instead
- `v1::Validator` interface and `ValidatorRegex` implementation of
this interface. `ValidatorConfig`, `ValidatorNull` implementation
refactored to be based on the new validation framework.
- `v1::SecPublicInfo` and its implementation (`SecPublicInfoSqlite`),
`SecTpm` and its implementations (`SecTpmFile`, `SecTpmOsx`). These
classes are internal implementation and not intended to be used
without `v1::KeyChain`. v2::KeyChain internally uses the newly
introduced Pib and Tpm interfaces with their corresponding
implementations.
- `v1::Certificate`, `v1::IdentityCertificate`,
`v1::CertificateExtension`, `v1::CertificateSubjectDescription`, use
v2::Certificate and AdditionalDescription
- `v1::SecuredBag`, use `v2::SafeBag` instead
- Constant `io::BASE_64`, use `io::BASE64` instead (Issue 3741)
- Headers `management/nfd-*`, use `mgmt/nfd/*` instead (Issue 3760)
- `security/cryptopp.hpp` header
- `security/identity-certificate.hpp` header
- `ndn::PublicKey`, `ndn::Certificate`, `ndn::IdentityCertificate`,
`ndn::CertificateExtension`, `ndn::CertificateSubjectDescription`.
- `Link` and `SelectedDelegation` fields in `Interest`, replaced by
`ForwardingHint` following the latest version of NDN
specification (Issue 4055)
- `LocalControlHeader` constants (Issue 3755)
- `NInDatas` and `NOutDatas` (Issue 3955)
- Overload of `Block::Block` that parses a `Block` from a `void*` buffer
- Duplicate `buf()` and `get()` methods from `Buffer` class in favor of
`data()`
- `util/crypto.hpp`, `crypto::sha256()`, and
`crypto::computeSha256Digest()` in favor of `Sha256::computeDigest()`
- Previously deprecated functions (Issue 4055)
ndn-cxx version 0.5.1
NOTE
This is the last release of the library that supports
NDN Certificate format version 1 and the existing implementations of
validators. The upcoming 0.6.0 release will include multiple breaking
changes of the security framework.
Changes since version 0.5.0:
New features:
- Add version 2 of the security framework (introduced in security::v2
namespace)
- NDN Certificate Format Version 2.0 (3103)
- New Public Information Base (PIB) and Trusted Program Module (TPM)
framework to manage public/private keys and NDN Certificate version
2.0 (2948, 3202)
- New KeyChain implementation (2926)
- New Validator implementation (3289, 1872)
- New security-supporting utilities: trust anchor container and
certificate cache
- Creation of Command Interests delegated to CommandInterestSigner
class, while the new KeyChain only signs Interests (3912)
- Enable validator to fetch certificates directly from the
signed/command interest sender (3921)
- Add UP and DOWN kinds to FaceEventNotification (issue:3794)
- Add support for NIC-associated permanent faces in FaceUri (3522)
- Add support for CongestionMark and Ack NDNLPv2 fields (3797, 3931)
- Add StrategyChoice equality operators and formatted output (3903)
Improvements and bug fixes
- Ensure that NACK callback is called for matching Interests, regardless
of their nonce (3908)
- Optimize name::Component::compare implementation (3807)
- Fix memory leak in ndn-cxx:Regex (3673)
- Correct NDNLPv2 rules for whether an unknown field can be
ignored (3884)
- Ensure that port numbers in FaceUri are 16 bits wide
- Correct ValidityPeriod::isValid check (2868)
- Fix encoding of type-specific TLV (3914)
- Rename previously incorrectly named EcdsaKeyParams to
EcKeyParams (3135)
- Various documentation improvements, including ndn-cxx code style
updates (3795, 3857)
Deprecated
- Old security framework. All old security framework classes are moved
to ndn::security::v1 namespace in this release and will be removed in
the next release.
- v1::KeyChain, use v2::KeyChain instead
- v1::Validator interface and all implementations of this interface
(ValidatorRegex, ValidatorConfig, ValidatorNull). Use v2::Validator
and the corresponding implementations of ValidationPolicy interfaces
(will be introduced before 0.6.0 release).
- v1::SecPublicInfo and its implementation (SecPublicInfoSqlite),
SecTpm and its implementations (SecTpmFile, SecTpmOsx). These
classes are internal implementation and not intended to be used
without v1::KeyChain. v2::KeyChain internally uses the newly
introduced Pib and Tpm interfaces with their corresponding
implementations.
- v1::Certificate, v1::IdentityCertificate, v1::CertificateExtension,
v1::CertificateSubjectDescription, use v2::Certificate and
AdditionalDescription
- v1::SecuredBag, use v2::SafeBag instead
- Constant io::BASE_64, use io::BASE64 instead (3741)
- Headers management/nfd-*, use mgmt/nfd/* instead (3760)
- ndn::crypto::sha256 in favor of ndn::crypto::computeSha256Digest
- security/cryptopp.hpp header. Use security/v1/cryptopp.hpp when
needed, avoid direct include as CryptoPP dependency will be removed
from future versions of the library.
- security/identity-certificate.hpp header. Use
security/v1/identity-certificate.hpp instead.
- ndn::PublicKey, ndn::Certificate, ndn::IdentityCertificate,
ndn::CertificateExtension, ndn::CertificateSubjectDescription. When
necessary, use security::v1::PublicKey, security::v1::Certificate,
security::v1::IdentityCertificate, security::v1::CertificateExtension,
security::v1::CertificateSubjectDescription instead. The next release
will feature a new version of NDN Certificate format.
NDN-CXX VERSION 0.5.0
Release date: October 4, 2016
NOTE
As of version 0.5.0, ndn-cxx requires a modern compiler (gcc >= 4.8.2,
clang >= 3.4) and a relatively new version of Boost libraries (>=
1.54). This means that the code no longer compiles with the packaged
version of gcc and boost libraries on Ubuntu 12.04. ndn-cxx can still
be compiled on such systems, but requires separate installation of a
newer version of the compiler (e.g., clang-3.4) and dependencies.
NOTE
The library now has a dependency on OpenSSL >= 1.0.1
Changes since version 0.4.1:
New features:
- New transformation API (Issue 3009)
- base64 and hex encoding/decoding
- digest calculation (SHA256)
- HMAC calculation
- block cipher operations (AES in CBC mode)
- public key signing/verification
- Introduce environment variables to set/override transport, pib, and
tpm configurations (Issues 2925, 2514)
- NDN_CLIENT_TRANSPORT: equivalent of transport in client.conf
- NDN_CLIENT_PIB: equivalent of pib in client.conf
- NDN_CLIENT_TPM: equivalent of tpm in client.conf
Whenever an environment variable is set, it takes precedence over any
values specified in the configuration file.
- Introduce logging facility based on Boost.Log (Issue 3562)
The logging can be enabled on selected moduled at the selected log
level through NDN_LOG environment variable. For example,
export NDN_LOG=ndn.mgmt.Dispatcher=TRACE
- Introduce Name::deepCopy to allow memory optimizations when working
with Name objects (Issue 3618)
- New ndn::security::CommandInterestValidator class (Issue 2376)
- Add StatusDataset client functionality into
ndn::nfd::Controller (Issue 3329)
- New FaceUpdateCommand structure for NFD management protocols (Issue
3232)
- BREAKING CHANGE Add Flags and Mask fields to faces/create and
faces/update, add Flags field to FaceStatus (Issues 3731, 3732)
- New SafeBag structure for private key export/import (Issue 3048)
- ndn::io::loadBlock and saveBlock (3741)
- Backport of C++17 std::clamp and std::optional (Issues 3636, 3753)
Improvements and bug fixes
- BREAKING CHANGE Expose ControlResponse as part of
Controller::CommandFailCallback (Issue 3739)
- BREAKING CHANGE Change security constants to corresponding strongly
typed enumerations (Issue 3083)
- Fix SegmentFetcher restarting from segment 0 upon Nack (Issue 3554)
- Fix support for ImplicitSha256Digest name component in Exclude
selector (Issue 3665)
- Enable KeyChain customization in DummyClientFace (Issue 3435)
- Make ValidatorConfig to evaluate all checkers inside a rule (Issue 3645)
- Add validation of StatusDataset and ControlCommand responses in
ndn::nfd::Controller (Issue 3653)
- Enable handling of NACKs in Validator and NotificationSubscriber
classes (Issues 3332, 3662)
- Several fixes in Scheduler class (Issues 3722, 3691)
- Add option to override processEvents method in DummyClientFace
class (Issue 3769)
- Several other improvements, including fixes of potential segmentation
faults and memory leaks (Issues 3136, 3248, 3723, 3727)
Deprecated
- Constant io::BASE_64, use io::BASE64 instead (Issue 3741)
- Headers management/nfd-*, use mgmt/nfd/* instead (Issue 3760)
- ndn::crypto::sha256 in favor of ndn::crypto::computeSha256Digest
- security/cryptopp.hpp header. Use security/v1/cryptopp.hpp when
needed, avoid direct include as CryptoPP dependency may be removed
from future versions of the library.
- security/identity-certificate.hpp header. Use
security/v1/identity-certificate.hpp instead.
- ndn::PublicKey, ndn::Certificate, ndn::IdentityCertificate,
ndn::CertificateExtension, ndn::CertificateSubjectDescription. When
necessary, use security::v1::PublicKey, security::v1::Certificate,
security::v1::IdentityCertificate, security::v1::CertificateExtension,
security::v1::CertificateSubjectDescription instead. The next release
will feature a new version of NDN Certificate format.
Removed
- Previously deprecated LocalControlHeader (Issue 3755)
- Previously deprecated makeDummyClientFace function, use
DummyClientFace constructors directly (Issue 3383)
- Previously deprecated Name::set, use constructors directly (Issue 2506)
- Previously deprecated Block::fromBuffer and block helpers (Issues 2950,
2636)
- Block::fromBuffer overloads with output parameter
- ndn::encoding::prependBlock
- ndn::encoding::prependByteArrayBlock
- ndn::encoding::nonNegativeIntegerBlock
- ndn::encoding::prependBooleanBlock
- ndn::encoding::booleanBlock
- ndn::encoding::dataBlock
- ndn::encoding::nestedBlock
- Previously deprecated Command Interest classes (Issue 2008)
- CommandInterestGenerator, replaced by KeyChain::sign
- ndn::util::CommandInterestValidator, replaced by
ndn::security::CommandInterestValidator
- ndncatchunks3 and ndnputchunks3 apps. Use ndncatchunks and
ndnputchunks from NDN Essential Tools (ndn-tools) (Issue 3547)
- ndn::ndn_digestSha256 function. Use
ndn::crypto::computeSha256Digest instead.
- POTENTIALLY BREAKING CHANGE Headers
security/certificate-extension.hpp,
security/certificate-subject-description.hpp, and
security/certificate.hpp. When necessary, use the corresponding
headers in security/v1/* or security/v1/identity-certificate.hpp.
Changes since version 0.4.0 Improvements and bug fixes: - Improved support for ECDSA signatures (Issues 3438, 3439) - Support for MustBeFresh selector processing in InMemoryStorage (Issue 3274) - Use InMemoryStorage for StatusDataset and Notification produced by managers based on Dispatcher class (Issue 2182) Removed: - Deprecated tlvdump command-line tool (use ndn-dissect tool from NDN Essential Tools instead Planned features for future releases: - Introduce new API to simplify security transformations (Issue 3009) - NDN trust schema as a description of application trust model, which can help automate data and interest packet signing and authentication (Issue 2829) - Refactored KeyChain abstraction (Issue 2926)
PreviousNext