blob: d7aeecf55ea4da909a9d13c8886f1d8473f61e21 [file] [log] [blame]
Alexander Afanasyev45312f52015-09-27 12:06:50 -07001ndn-cxx version 0.3.3
2---------------------
3
4Release date: July 1, 2015
5
6Changes since version 0.3.2:
7
8New features:
9^^^^^^^^^^^^^
10
11- Allow compilation of ndn-cxx as a shared library (:issue:`2243`)
12
13 In this release, by default, only a static library is compiled. The next release will change
14 the default behavior to compile only a shared library.
15
16- Introduce concept of PartialName (:issue:`1962`)
17
18 Semantically, PartialName abstraction represents an arbitrary sequence of name components,
19 while Name represents an absolute name. Currently, PartialName is typedef alias to Name, but
20 it can be changed in the future releases.
21
22- Introduce generalized signing API in KeyChain (:issue:`2871`, :issue:`1705`)
23
24 A new API in KeyChain introduces a general interface to sign interest and data packets and
25 supply necessary signing information, such as signing identity name, signing key name, or
26 signing certificate name. In addition, the supplied signing information can include additional
27 information that signer wants to include in the SignatureInfo of the signed packet.
28
29- Introduce helpers to create SigningInfo for the generalized signing API (:issue:`2922`)
30
31- Sqlite3Statement utility helper that wraps an SQLite3 statements and provide automatic memory
32 cleanup
33
34- Introduce PibSqlite3 based on PibImpl (:issue:`2807`)
35
36- Make public interface of Pib, Identity, and Key as read-only (:issue:`2928`)
37
38- New encoding block helpers to simplify operations with ``std::string`` (:issue:`2951`):
39
40 * ``prependStringBlock``
41 * ``makeStringBlock``
42 * ``readString``
43
44Improvements and bug fixes:
45^^^^^^^^^^^^^^^^^^^^^^^^^^^
46
47- Use C++11 lambda expression and smart pointers in Face implementation (:issue:`2112`)
48
49- Fix compilation failure on OS X 10.10 with cryptopp from MacPorts
50
51- Update client.conf manpage
52
53- Change Name::compare to return negative, zero, or positive integer (instead of strictly -1,
54 0, 1) when the first name comes before the other in canonical ordering, is equal, or comes
55 after (:issue:`2445`)
56
57- IdentityCertificate sets default FreshnessPeriod to 1 hour (:issue:`2872`)
58
59- Unify TPM creation (:issue:`2722`)
60
61- Allow negative start index in Name::getSubName method (:issue:`1962`)
62
63- Improved documentation of PibImpl interfaces (:issue:`2896`, :issue:`2898`)
64
65- Simplify CommandOptions with SigningInfo (:issue:`2893`)
66
67- Refactor internal PIT to use scheduled events (:issue:`1372`, :issue:`2518`)
68
69- Improve structure and documentation of block helpers (:issue:`2951`)
70
71- Declare all move constructors as ``noexcept`` to ensure move operations are used even when a
72 restrictive move operation (`move_if_noexcept`) is used (e.g., in STL library's containers)
73 (:issue:`2966`)
74
75Deprecated:
76^^^^^^^^^^^
77
78- The following ``KeyChain::sign*`` methods, in favor of generalized ``KeyChain::sign(..., SigningInfo)``
79
80 * ``KeyChain::sign(Packet, Name)``
81 * ``KeyChain::sign(uint8_t*, size_t, Name)``
82 * ``KeyChain::signByIdentity(Packet, Name)``
83 * ``KeyChain::signByIdentity(uint8_t*, size_t, Name)``
84 * ``KeyChain::signWithSha256(Data)``
85 * ``KeyChain::signWithSha256(Interest)``
86
87- The following encoding block helper functions:
88
89 * ``nonNegativeIntegerBlock`` (use ``makeNonNegativeIntegerBlock``)
90 * ``prependBooleanBlock`` (use ``prependEmptyBlock``)
91 * ``booleanBlock`` (use ``makeEmptyBlock``)
92 * ``dataBlock`` (use ``makeBinaryBlock``)
93 * ``nestedBlock`` (use ``makeNestedBlock``)
94
95- The following methods of ``CommandOptions`` class, use ``setSigningInfo()`` instead (:issue:`2893`):
96
97 * ``CommandOptions::getSigningParamsKind``
98 * ``CommandOptions::getSigningIdentity``
99 * ``CommandOptions::getSigningCertificate``
100 * ``CommandOptions::setSigningDefault``
101 * ``CommandOptions::setSigningIdentity``
102 * ``CommandOptions::setSigningCertificate``
103
104Removed:
105^^^^^^^^
106
107- Remove SCOPE from Interests and all references to it in the related code (:issue:`2345`)
108
109- Direct FIB management in Face class (:issue:`2533`)
110
111 ``Face::register`` and ``Face::setInterestFilter`` methods now only support NFD RIB management
112 protocol.
113
114 For special needs, FIB management can be implemented using ``nfd::Controller``
115 (``start<FibAddNextHopCommand>``, and ``start<FibRemoveNextHopCommand>``)
116
117Upcoming features (partially finished in development branches):
118^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
119
Davide Pesavento46b04a52019-03-28 21:36:35 -0400120- NDNLPv2 (https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, :issue:`2520`,
Alexander Afanasyev45312f52015-09-27 12:06:50 -0700121 :issue:`2879`, :issue:`2763`, :issue:`2883`, :issue:`2841`, :issue:`2866`)
122
123- New NDN certificate format (:issue:`2861`, :issue:`2868`)
124
125- NDN trust schema as a description of application trust model, which can help automate data
126 and interest packet signing and authentication (:issue:`2829`)
127
128- Refactored KeyChain abstraction (:issue:`2926`)