blob: d7aeecf55ea4da909a9d13c8886f1d8473f61e21 [file] [log] [blame]
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`)