blob: d26da2be2edf10a759bfcdf5c9cde0a9a4f78ebc [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
Davide Pesavento933a5672020-07-03 22:32:43 -04008New features
9^^^^^^^^^^^^
Alexander Afanasyev45312f52015-09-27 12:06:50 -070010
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
Davide Pesavento933a5672020-07-03 22:32:43 -040044Improvements and bug fixes
45^^^^^^^^^^^^^^^^^^^^^^^^^^
Alexander Afanasyev45312f52015-09-27 12:06:50 -070046
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
Davide Pesavento933a5672020-07-03 22:32:43 -040075Deprecated
76^^^^^^^^^^
Alexander Afanasyev45312f52015-09-27 12:06:50 -070077
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
Davide Pesavento933a5672020-07-03 22:32:43 -0400104Removed
105^^^^^^^
Alexander Afanasyev45312f52015-09-27 12:06:50 -0700106
107- Remove SCOPE from Interests and all references to it in the related code (:issue:`2345`)
108
Davide Pesavento933a5672020-07-03 22:32:43 -0400109- Direct FIB management in Face class (:issue:`2533`).
Alexander Afanasyev45312f52015-09-27 12:06:50 -0700110
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``
Davide Pesavento933a5672020-07-03 22:32:43 -0400115 (``start<FibAddNextHopCommand>`` and ``start<FibRemoveNextHopCommand>``).
Alexander Afanasyev45312f52015-09-27 12:06:50 -0700116
Davide Pesavento933a5672020-07-03 22:32:43 -0400117Upcoming features (partially finished in development branches)
118^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alexander Afanasyev45312f52015-09-27 12:06:50 -0700119
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`)