Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 1 | NFD version 0.4.0 |
| 2 | ----------------- |
| 3 | |
Alexander Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 4 | Release date: December 31, 2015 |
Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 5 | |
| 6 | .. note:: |
| 7 | Version 0.4.0 introduces several breaking changes to API and wire format of management protocols |
| 8 | |
| 9 | Changes since version 0.3.4: |
| 10 | |
| 11 | New features: |
| 12 | ^^^^^^^^^^^^^ |
| 13 | |
Alexander Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 14 | - **(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 Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 18 | |
| 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 Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 24 | Implemented: :NFD:`UnixStreamTransport`, :NFD:`EthernetTransport`, :NFD:`UnicastUdpTransport`, |
| 25 | :NFD:`MulticastUdpTransport`, :NFD:`WebSocketTransport`, :NFD:`TcpTransport`, |
Alexander Afanasyev | ba81830 | 2015-10-20 16:16:58 -0500 | [diff] [blame] | 26 | :NFD:`InternalForwarderTransport` |
Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 27 | |
| 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 | |
| 43 | - Support for NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, |
| 44 | :issue:`2520`, :issue:`2763`, :issue:`2841`) |
| 45 | |
| 46 | * Network NACK (:issue:`2883`) |
Alexander Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 47 | * Fragmentation and reassembly (:issue:`3171`) |
Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 48 | |
| 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 Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 61 | - Automatic start of NDN auto-configuration client (``ndn-autoconfig``) when starting NFD |
| 62 | using ``nfd-start``, when enabled in ``autoconfig.conf`` (:issue:`2716`) |
| 63 | |
Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 64 | Updates and bug fixes: |
| 65 | ^^^^^^^^^^^^^^^^^^^^^^ |
| 66 | |
Alexander Afanasyev | ba81830 | 2015-10-20 16:16:58 -0500 | [diff] [blame] | 67 | - **(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 Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 75 | - 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 Afanasyev | ba81830 | 2015-10-20 16:16:58 -0500 | [diff] [blame] | 81 | - Fix memory leak in PriorityFifoPolicy (:issue:`3236`) |
| 82 | |
Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 83 | - 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 Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 90 | - Multiple test suite improvements (:issue:`3322`, :issue:`3306`, :issue:`3305`, :issue:`3307`, |
| 91 | :issue:`3346`, :issue:`3327`) |
| 92 | |
Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame] | 93 | Deprecated: |
| 94 | ^^^^^^^^^^^ |
| 95 | |
| 96 | - BroadcastStrategy (``/localhost/nfd/strategy/broadcast``) renamed as MulticastStrategy |
| 97 | (``/localhost/nfd/strategy/multicast``) (:issue:`3011`) |
| 98 | |
Alexander Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 99 | - ForwarderStatus dataset retrievable using ``/localhost/nfd/status`` name, use |
| 100 | ``/localhost/nfd/status/general`` instead. |
| 101 | |
Alexander Afanasyev | ba81830 | 2015-10-20 16:16:58 -0500 | [diff] [blame] | 102 | Deleted: |
| 103 | ^^^^^^^^ |
| 104 | |
| 105 | - NotificationStream, replaced by the version in ndn-cxx library (:issue:`2144`) |
| 106 | |
Alexander Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 107 | Known issues: |
| 108 | ^^^^^^^^^^^^^ |
Alexander Afanasyev | ba81830 | 2015-10-20 16:16:58 -0500 | [diff] [blame] | 109 | |
Alexander Afanasyev | da3ba96 | 2015-12-29 19:13:52 -0800 | [diff] [blame] | 110 | - 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. |