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)
  1. a87e0a8 ci: Embedding CI build and test running script by Alexander Afanasyev · 10 years ago
  2. eb749fc ci: Remove ndnx-dev dependency from travis-ci script by Alexander Afanasyev · 10 years ago
  3. dafdc37 build: Raising requirement for boost to be at least 1.48 by Alexander Afanasyev · 10 years ago
  4. ad1baf6 ci: Travis-CI script update by Alexander Afanasyev · 10 years ago
  5. 90566dd ci: Fixing unit tests (unit test binary has changed paths) by Alexander Afanasyev · 10 years ago
  6. 1e0a077 build: Fixing build and unit tests by Alexander Afanasyev · 10 years ago
  7. 553d0c8 doc: Updating build instructions by Alexander Afanasyev · 10 years ago
  8. 3222fed ci: Make sure notifications are always sent after successful and failed build by Alexander Afanasyev · 10 years ago
  9. 20d2c58 transport: Implementing TcpTransport by Alexander Afanasyev · 10 years ago
  10. 9b18c56 build: Fix bug with enabling use of system-installed boost libraries by Alexander Afanasyev · 11 years ago
  11. b4500d9 ci: Adding simple script for travis-ci (continuous integration platform) by Alexander Afanasyev · 11 years ago