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. 2d6954c docs+build: Prepare release of version 0.3.3 by Alexander Afanasyev · 9 years ago ndn-cxx-0.3.3
  2. fa2128d docs: move Manpages to top-level of documentation hierarchy by Junxiao Shi · 9 years ago
  3. 7ed2943 docs: Update installation instructions for shared library by Alexander Afanasyev · 9 years ago
  4. 5208d0e docs: Update client.conf manpage by Alexander Afanasyev · 9 years ago
  5. cbf054d docs+build: Prepare release of version 0.3.2 by Alexander Afanasyev · 9 years ago ndn-cxx-0.3.2
  6. a76bbc9 code-style: override and final specifiers by Junxiao Shi · 9 years ago
  7. ed545b3 docs: Prepare release notes for version 0.3.1 by Alexander Afanasyev · 9 years ago
  8. 190bee2 docs: remind user to reinstall ports after OSX upgrade by Junxiao Shi · 9 years ago
  9. e9c3db3 docs: correct function names in security library tutorial by Junxiao Shi · 9 years ago
  10. 5946ed1 docs: Prepare release notes for version 0.3.0 by Alexander Afanasyev · 10 years ago ndn-cxx-0.3.0
  11. 9fcc24f docs: improve example applications by Steve DiBenedetto · 10 years ago
  12. ba1a4a9 docs: Documentation update by Ivan Yeo · 10 years ago
  13. 6147ef4 tools: ndnsec-delete reports success or failure by Yingdi Yu · 10 years ago
  14. 0151579 build: Several updates of the build scripts by Alexander Afanasyev · 10 years ago
  15. 7d8644a tools: Allow ndnsec-key-gen to generate ECDSA keys by Yingdi Yu · 10 years ago
  16. 2a047eb tools: Allow generation of DSK using ndnsec-key-gen by Alexander Afanasyev · 10 years ago
  17. ace7445 tools: Enable ndnsec-dsk-gen by Alexander Afanasyev · 10 years ago
  18. e04bd83 docs: memory needed for efficient compilation by Junxiao Shi · 10 years ago
  19. 8b12a5a code-style: list initialization by Junxiao Shi · 10 years ago
  20. c0a8c3b code-style: auto type specifier by Junxiao Shi · 10 years ago
  21. 28af1dc code-style: correct section 1 heading by Junxiao Shi · 10 years ago
  22. cf69818 code-style: add rule for lambda expression by Junxiao Shi · 10 years ago
  23. ae61aac code-style: prefer BOOST_ASSERT and static_assert by Junxiao Shi · 10 years ago
  24. 45c1384 code-style: add rule for range-based for by Junxiao Shi · 10 years ago
  25. 03b15b3 docs: amend code style rule for null pointers by Junxiao Shi · 10 years ago
  26. bff3f7f doc: rename manpage of client.conf to ndn-client.conf by Yingdi Yu · 10 years ago
  27. 4e99f53 docs: Update of tutorials and other minor fixes by Yingdi Yu · 10 years ago
  28. 2603cca docs: Update google analytics code by Alexander Afanasyev · 10 years ago
  29. ec0499f docs: Updated release notes by Alexander Afanasyev · 10 years ago ndn-cxx-0.2.0
  30. a4ebb92 docs: License statement correction by Alexander Afanasyev · 10 years ago
  31. d36dd55 docs: Adding release notes and bumping up version to 0.2.0 by Alexander Afanasyev · 10 years ago ndn-cxx-0.2.0-rc1
  32. 5ec0ee3 security: Support ECDSA verification in all related classes. by Yingdi Yu · 10 years ago
  33. 5edf97d tools: ndnsec-cert-revoke command by Yingdi Yu · 10 years ago
  34. 0eb5d72 security+tools: Allow user to explicitly specify the cert name prefix before 'KEY' component in ndnsec-certgen by Yingdi Yu · 10 years ago
  35. b465065 security: Add 'type dir' trust-anchor in ValidatorConfig by Yingdi Yu · 10 years ago
  36. c8bcd45 build: Disable building examples by default by Alexander Afanasyev · 10 years ago
  37. fff47d6 build: Add optional pthread flag when detecting Crypto++ by Alexander Afanasyev · 10 years ago
  38. 9b0e114 docs: Updating documentation for 0.1.0 release by Alexander Afanasyev · 10 years ago
  39. abaab52 docs: Small updates and visual improvements of resulting HTML by Alexander Afanasyev · 10 years ago
  40. 42464b1 docs: Removing references to non-existing manpages in sphinx config by Alexander Afanasyev · 10 years ago
  41. c5fdfe7 docs: RELEASE NOTES update by Lixia Zhang · 10 years ago
  42. c5452c5 docs: RELEASE NOTES for version 0.1.0 and update README by Alexander Afanasyev · 10 years ago
  43. a06fdda src: Centralize version number by Alexander Afanasyev · 10 years ago
  44. 44d190c security: Add 'type any' for trust-anchor in ValidatorConfig by Yingdi Yu · 10 years ago
  45. dfa52c4 docs: Updating documentation and license boilerplates in all files by Alexander Afanasyev · 10 years ago
  46. 766cea7 ====== Renaming library to ndn-cxx ====== by Alexander Afanasyev · 10 years ago
  47. 3aeeaeb docs: Adding coding style document and other small updates by Alexander Afanasyev · 10 years ago
  48. 691c3ce face: Adding new constructors that accept reference to io_service object by Alexander Afanasyev · 10 years ago
  49. 151a855 docs: Extending documentation and manpages by Alexander Afanasyev · 10 years ago
  50. 7c6aeb0 docs: Importing initial set of library documentation from wiki by Alexander Afanasyev · 10 years ago
  51. 401a236 build+docs: Updating doxygen target by Alexander Afanasyev · 10 years ago