blob: 9530cfb61e086e38dbc10134ceb35e4676efb5cd [file] [log] [blame]
Alexander Afanasyev687dba82015-09-27 15:32:58 -07001NFD version 0.4.0
2-----------------
3
Alexander Afanasyevda3ba962015-12-29 19:13:52 -08004Release date: December 31, 2015
Alexander Afanasyev687dba82015-09-27 15:32:58 -07005
6.. note::
7 Version 0.4.0 introduces several breaking changes to API and wire format of management protocols
8
9Changes since version 0.3.4:
10
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040011New features
12^^^^^^^^^^^^
Alexander Afanasyev687dba82015-09-27 15:32:58 -070013
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080014- **(breaking change)** Refactored implementation of face system (:issue:`3088`, :issue:`3104`,
15 :issue:`3165`, :issue:`3168`, :issue:`3225`, :issue:`3226`, :issue:`3253`, :issue:`3259`,
16 :issue:`3169`, :issue:`3160`, :issue:`3278`, :issue:`3166`, :issue:`3177`, :issue:`3177`,
17 :issue:`3172`)
Alexander Afanasyev687dba82015-09-27 15:32:58 -070018
19 The abstraction to send/receive NDN packets has been split into Transport, LinkService, and Face:
20
21 * *Transport* provides delivery of the data blocks over specific underlying channels
22 (raw ethernet packets, unicast/multicast UDP datagrams, TCP and WebSocket streams)
23
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080024 Implemented: :NFD:`UnixStreamTransport`, :NFD:`EthernetTransport`, :NFD:`UnicastUdpTransport`,
25 :NFD:`MulticastUdpTransport`, :NFD:`WebSocketTransport`, :NFD:`TcpTransport`,
Alexander Afanasyevba818302015-10-20 16:16:58 -050026 :NFD:`InternalForwarderTransport`
Alexander Afanasyev687dba82015-09-27 15:32:58 -070027
28 * *LinkService* provides an "adaptation" layer to translate between NDN packets and data
29 blocks communicated through Transport. For example, LinkService can provide packet
30 fragmentation and reassembly services.
31
32 Implemented: :NFD:`GenericLinkService`
33
34 * *Face* provides combines Transport and LinkServices, providing high-level interface to work
35 with Interest/Data/Nack packets inside NFD.
36
37 .. note::
38 This feature replaces support for signaling between local applications and NFD from
39 LocalControlHeader with NDNLPv2 protocol. If your application uses
40 LocalControlHeader features, it must be updated to use the new protocol (e.g., update
41 to use ndn-cxx >= 0.4.0)
42
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040043- Support for the following `NDNLPv2 <https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2>`__
44 features (:issue:`2520`, :issue:`2763`, :issue:`2841`):
Alexander Afanasyev687dba82015-09-27 15:32:58 -070045
46 * Network NACK (:issue:`2883`)
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080047 * Fragmentation and reassembly (:issue:`3171`)
Alexander Afanasyev687dba82015-09-27 15:32:58 -070048
49- Networking NACK in pipelines and best-route strategy (:issue:`3156`)
50
51- Refactored implementation of NFD management (:issue:`2200`, :issue:`2107`)
52
53- Interest forwarding processes Link included in interest packets (:issue:`3034`)
54
55 .. note::
56 This feature requires proper defintion of new ``tables.network_region`` section in
57 the NFD config file (:issue:`3159`)
58
59- Full support for UDP permanent faces (:issue:`2993`, :issue:`2989`, :issue:`3018`)
60
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080061- Automatic start of NDN auto-configuration client (``ndn-autoconfig``) when starting NFD
62 using ``nfd-start``, when enabled in ``autoconfig.conf`` (:issue:`2716`)
63
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040064Improvements and bug fixes
65^^^^^^^^^^^^^^^^^^^^^^^^^^
Alexander Afanasyev687dba82015-09-27 15:32:58 -070066
Alexander Afanasyevba818302015-10-20 16:16:58 -050067- **(breaking change)** Redesign of automatic prefix propagation, formerly known as remote
68 prefix registration (:issue:`3211`, :issue:`2413`)
69
70 This includes a backward-incompatible change to NFD's configuration file:
71
72 * ``rib.remote_register`` section has been removed and, if present, will cause failure for NFD to start
73 * ``rib.auto_prefix_propagate`` section has been added to control automatic prefix propagation feature
74
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080075- Adapt pcap filter in EthernetTransport to accept only untagged frames (:issue:`3348`)
76
77- Increase the initial suppression interval in BestRouteStrategy2 to 250ms (:issue:`3230`)
78
79- Fix potential crash in ``Measurements::get(Fib::s_emptyEntry)`` (:issue:`3275`)
80
Alexander Afanasyevba818302015-10-20 16:16:58 -050081- Fix memory leak in PriorityFifoPolicy (:issue:`3236`)
82
Alexander Afanasyev687dba82015-09-27 15:32:58 -070083- Display extended information for fatal NFD errors (:issue:`2541`)
84
85- Compilation fixes for clang-700.0.72 (Apple LLVM 7.0.0) (:issue:`3209`)
86
87- Properly handle exception from NetworkMonitor when the platform doesn't support it
88 (:issue:`3195`)
89
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080090- Multiple test suite improvements (:issue:`3322`, :issue:`3306`, :issue:`3305`, :issue:`3307`,
91 :issue:`3346`, :issue:`3327`)
92
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040093Deprecations
94^^^^^^^^^^^^
Alexander Afanasyev687dba82015-09-27 15:32:58 -070095
96- BroadcastStrategy (``/localhost/nfd/strategy/broadcast``) renamed as MulticastStrategy
97 (``/localhost/nfd/strategy/multicast``) (:issue:`3011`)
98
Alexander Afanasyevda3ba962015-12-29 19:13:52 -080099- ForwarderStatus dataset retrievable using ``/localhost/nfd/status`` name, use
100 ``/localhost/nfd/status/general`` instead.
101
Davide Pesavento9f6a7d92020-10-06 15:21:48 -0400102Removals
Alexander Afanasyevba818302015-10-20 16:16:58 -0500103^^^^^^^^
104
Davide Pesavento9f6a7d92020-10-06 15:21:48 -0400105- ``NotificationStream``, replaced by the version in ndn-cxx library (:issue:`2144`)
Alexander Afanasyevba818302015-10-20 16:16:58 -0500106
Davide Pesavento9f6a7d92020-10-06 15:21:48 -0400107Known issues
108^^^^^^^^^^^^
Alexander Afanasyevba818302015-10-20 16:16:58 -0500109
Alexander Afanasyevda3ba962015-12-29 19:13:52 -0800110- NFD currently has a known limitation in supporting the retrieval of data using full names,
111 i.e., names with the implicit digest (:issue:`3363`). This limitation will be addressed
112 in the next release.