blob: 48eaf2609b2ca8412cf8f95a435a675832ced69a [file] [log] [blame]
Alexander Afanasyev67019112016-10-03 14:22:54 -07001NFD version 0.5.0
2-----------------
3
4Release date: October 4, 2016
5
6.. note::
7 Version 0.5.0 introduces several breaking changes to the internal API (forwarding pipelines,
8 strategy interface, tables) and wire format of management protocol
9
10.. note::
11 As of version 0.5.0, NFD requires a modern compiler (gcc >= 4.8.2, clang >= 3.4) and a
12 relatively new version of Boost libraries (>= 1.54). This means that the code no longer compiles
13 with the packaged version of gcc and boost libraries on Ubuntu 12.04. NFD can still be
14 compiled on such systems, but requires separate installation of a newer version of the compiler
15 (e.g., clang-3.4) and dependencies.
16
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040017Changes since version 0.4.1:
Alexander Afanasyev67019112016-10-03 14:22:54 -070018
19New features
20^^^^^^^^^^^^
21
22- Add Adaptive SRTT-based Forwarding strategy (:issue:`3566`)
23
24- **breaking change** Introduce configurable policy for admission of unsolicited data packets into
25 the content store (:issue:`2181`). Currently available policies:
26
27 * ``DropAllUnsolicitedDataPolicy`` (**the new default**): drop all unsolicited data packets
28 * ``AdmitLocalUnsolicitedDataPolicy`` (the old default): allow unsolicited data packets from local
29 applications to be cached (e.g., with a lower priority), drop all other unsolicited data
30 * ``AdmitNetworkUnsolicitedDataPolicy``: allow unsolicited data packets from the network to be
31 cached (e.g., with a lower priority), drop all other unsolicited data
32 * ``AdmitAllUnsolicitedDataPolicy``: cache all unsolicited data packets
33
34- Introduce mechanism to update properties (e.g., flags, persistency) of an existing Face
35 (:issue:`3731`). Note that the corresponding ``nfdc`` command will be available in the next
36 release.
37
38Updates
39^^^^^^^
40
41- **breaking change** Strategy API update. FIB entry is no longer supplied to the
42 ``Strategy::afterReceiveInterest`` method (i.e., FIB lookup is not performed by the forwarding
43 pipelines). When necessary, a strategy can request FIB lookup using ``Strategy::lookupFib``
44 (:issue:`3664`, :issue:`3205`, :issue:`3679`, :issue:`3205`)
45
46- **breaking change** ForwarderStatus dataset can now be requested only with
47 ``/localhost/nfd/status/general`` interest (:issue:`3379`)
48
49- Optimizations of tables and forwarding, including reduced usage of ``shared_ptr`` (:issue:`3205`,
50 :issue:`3164`, :issue:`3687`)
51
52- Display extended diagnostic information if NFD crashes (:issue:`2541`)
53
54- Visualize NACK counters in ``nfd-status`` output (:issue:`3569`)
55
56- Extend management to process the new ``LocalFieldsEnabled`` attribute when creating/updating Faces
57 (:issue:`3731`)
58
59- Switch logging facility to use Boost.Log (:issue:`3562`)
60
61- Refactor implementation of ``nfdc`` tool, which now supports a new command-line syntax and
62 retrieval of status datasets (:issue:`3749`, :issue:`3780`). This is the first step in
63 implementing an interactive mode for ``nfdc`` (:issue:`2542`).
64
65- ``nfd-status`` tool has been merged into ``nfdc`` with a wrapper script provided for backwards
66 compatibility (:issue:`3658`)
67
68- Refactor implementation of RIB Manager to make it uniform with other managers (:issue:`2857`)
69
70- Miscellaneous code refactoring (:issue:`3738`, :issue:`3164`, :issue:`3687`, :issue:`3205`,
71 :issue:`3608`, :issue:`3619`, :issue:`2181`)
72
73- Update WebSocket++ to version 0.7.0 (:issue:`3588`)
74
75- Updates to reflect the latest changes in ndn-cxx library (:issue:`3760`, :issue:`3739`,
76 :issue:`2950`, :issue:`2063`)
77
78Bugfixes
79^^^^^^^^
80
81- Ensure ``NccStrategy`` explores all potential upstreams (:issue:`3411`)
82
83- Add missing processing of NACK in ``pit::Entry::hasUnexpiredOutRecords`` (:issue:`3545`)
84
85- Fix issue with WebSocket-based Face creation when IPv4-mapped IPv6 loopback addresses are
86 considered non-local (:issue:`3682`)
87
88- Make sure that the outgoing Interest pipeline uses the newest in-record when sending out an
89 Interest (:issue:`3642`)
90
91- Properly delete PIT in-record and out-record when face is destroyed (:issue:`3685`)
92
93- Fix ``Pit::find`` leak of ``NameTreeEntry`` (:issue:`3619`)
94
95- Fix ``Pit::erase`` crash when Interest name contains implicit digest (:issue:`3608`)
96
97- Fix use-after-free in ``Rib::erase`` and ``RibManagerFixture::clearRib`` (:issue:`3787`)
98
99Deprecations
100^^^^^^^^^^^^
101
102- ``ClientControl`` forwarding strategy. The NextHopFaceId is now honored universally
103 (:issue:`3783`)
104
105- ``StrategyInfoHost::getOrCreateStrategyInfo``, which is renamed to
106 ``StrategyInfoHost::insertStrategyInfo`` (:issue:`3205`)
107
Davide Pesavento9f6a7d92020-10-06 15:21:48 -0400108Removals
109^^^^^^^^
Alexander Afanasyev67019112016-10-03 14:22:54 -0700110
111- Previously deprecated BroadcastStrategy (:issue:`3206`)
112
113- Unused command-line tool ``nrd`` (:issue:`3570`)
114
115- ``SegmentPublisher`` and ``RibStatusPublisher``, both replaced by ``ndn::Dispatcher``
116 (:issue:`2857`)
117
118- ``CommandValidator``, which has been replaced by ``CommandAuthenticator`` (:issue:`2063`)