Changes since version 0.3.2
Release date: July 1, 2015
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 (Issues 2871, 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 (Issues 2896, 2898)
- Simplify CommandOptions with SigningInfo (Issue 2893)
- Refactor internal PIT to use scheduled events (Issues 1372, 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 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2,
Issues 2520, 2879, 2763, 2883, 2841, 2866)
- New NDN certificate format (Issues 2861, 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)
- 28d0d94 build: Support tools and examples with multiple translation units by Alexander Afanasyev · 10 years ago
- 766cea7 ====== Renaming library to ndn-cxx ====== by Alexander Afanasyev · 10 years ago
- 59efe10 build: Disabling shared library (only static library is compiled) and disabling installation of tests and examples by Alexander Afanasyev · 11 years ago
- 1e0a077 build: Fixing build and unit tests by Alexander Afanasyev · 11 years ago
- d409d59 build: Finalizing waf building system (removing legacy code) by Alexander Afanasyev · 11 years ago
- a1ae0a1 build: Adding waf as a build system by Alexander Afanasyev · 11 years ago