| ndn-cxx version 0.3.3 |
| --------------------- |
| |
| Release date: July 1, 2015 |
| |
| Changes since version 0.3.2: |
| |
| New features |
| ^^^^^^^^^^^^ |
| |
| - Allow compilation of ndn-cxx as a shared library (:issue:`2243`) |
| |
| In this release, by default, only a static library is compiled. The next release will change |
| the default behavior to compile only a shared library. |
| |
| - Introduce concept of PartialName (:issue:`1962`) |
| |
| Semantically, PartialName abstraction represents an arbitrary sequence of name components, |
| while Name represents an absolute name. Currently, PartialName is typedef alias to Name, but |
| it can be changed in the future releases. |
| |
| - Introduce generalized signing API in KeyChain (:issue:`2871`, :issue:`1705`) |
| |
| A new API in KeyChain introduces a general interface to sign interest and data packets and |
| supply necessary signing information, such as signing identity name, signing key name, or |
| signing certificate name. In addition, the supplied signing information can include additional |
| information that signer wants to include in the SignatureInfo of the signed packet. |
| |
| - Introduce helpers to create SigningInfo for the generalized signing API (:issue:`2922`) |
| |
| - Sqlite3Statement utility helper that wraps an SQLite3 statements and provide automatic memory |
| cleanup |
| |
| - Introduce PibSqlite3 based on PibImpl (:issue:`2807`) |
| |
| - Make public interface of Pib, Identity, and Key as read-only (:issue:`2928`) |
| |
| - New encoding block helpers to simplify operations with ``std::string`` (:issue:`2951`): |
| |
| * ``prependStringBlock`` |
| * ``makeStringBlock`` |
| * ``readString`` |
| |
| Improvements and bug fixes |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| - Use C++11 lambda expression and smart pointers in Face implementation (:issue:`2112`) |
| |
| - Fix compilation failure on OS X 10.10 with cryptopp from MacPorts |
| |
| - Update client.conf manpage |
| |
| - Change Name::compare to return negative, zero, or positive integer (instead of strictly -1, |
| 0, 1) when the first name comes before the other in canonical ordering, is equal, or comes |
| after (:issue:`2445`) |
| |
| - IdentityCertificate sets default FreshnessPeriod to 1 hour (:issue:`2872`) |
| |
| - Unify TPM creation (:issue:`2722`) |
| |
| - Allow negative start index in Name::getSubName method (:issue:`1962`) |
| |
| - Improved documentation of PibImpl interfaces (:issue:`2896`, :issue:`2898`) |
| |
| - Simplify CommandOptions with SigningInfo (:issue:`2893`) |
| |
| - Refactor internal PIT to use scheduled events (:issue:`1372`, :issue:`2518`) |
| |
| - Improve structure and documentation of block helpers (:issue:`2951`) |
| |
| - Declare all move constructors as ``noexcept`` to ensure move operations are used even when a |
| restrictive move operation (`move_if_noexcept`) is used (e.g., in STL library's containers) |
| (:issue:`2966`) |
| |
| Deprecated |
| ^^^^^^^^^^ |
| |
| - The following ``KeyChain::sign*`` methods, in favor of generalized ``KeyChain::sign(..., SigningInfo)`` |
| |
| * ``KeyChain::sign(Packet, Name)`` |
| * ``KeyChain::sign(uint8_t*, size_t, Name)`` |
| * ``KeyChain::signByIdentity(Packet, Name)`` |
| * ``KeyChain::signByIdentity(uint8_t*, size_t, Name)`` |
| * ``KeyChain::signWithSha256(Data)`` |
| * ``KeyChain::signWithSha256(Interest)`` |
| |
| - The following encoding block helper functions: |
| |
| * ``nonNegativeIntegerBlock`` (use ``makeNonNegativeIntegerBlock``) |
| * ``prependBooleanBlock`` (use ``prependEmptyBlock``) |
| * ``booleanBlock`` (use ``makeEmptyBlock``) |
| * ``dataBlock`` (use ``makeBinaryBlock``) |
| * ``nestedBlock`` (use ``makeNestedBlock``) |
| |
| - The following methods of ``CommandOptions`` class, use ``setSigningInfo()`` instead (:issue:`2893`): |
| |
| * ``CommandOptions::getSigningParamsKind`` |
| * ``CommandOptions::getSigningIdentity`` |
| * ``CommandOptions::getSigningCertificate`` |
| * ``CommandOptions::setSigningDefault`` |
| * ``CommandOptions::setSigningIdentity`` |
| * ``CommandOptions::setSigningCertificate`` |
| |
| Removed |
| ^^^^^^^ |
| |
| - Remove SCOPE from Interests and all references to it in the related code (:issue:`2345`) |
| |
| - Direct FIB management in Face class (:issue:`2533`). |
| |
| ``Face::register`` and ``Face::setInterestFilter`` methods now only support NFD RIB management |
| protocol. |
| |
| For special needs, FIB management can be implemented using ``nfd::Controller`` |
| (``start<FibAddNextHopCommand>`` and ``start<FibRemoveNextHopCommand>``). |
| |
| Upcoming features (partially finished in development branches) |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| - NDNLPv2 (https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, :issue:`2520`, |
| :issue:`2879`, :issue:`2763`, :issue:`2883`, :issue:`2841`, :issue:`2866`) |
| |
| - New NDN certificate format (:issue:`2861`, :issue:`2868`) |
| |
| - 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`) |