| NFD version 0.5.0 |
| ----------------- |
| |
| Release date: October 4, 2016 |
| |
| .. note:: |
| Version 0.5.0 introduces several breaking changes to the internal API (forwarding pipelines, |
| strategy interface, tables) and wire format of management protocol |
| |
| .. note:: |
| As of version 0.5.0, NFD requires a modern compiler (gcc >= 4.8.2, clang >= 3.4) and a |
| relatively new version of Boost libraries (>= 1.54). This means that the code no longer compiles |
| with the packaged version of gcc and boost libraries on Ubuntu 12.04. NFD can still be |
| compiled on such systems, but requires separate installation of a newer version of the compiler |
| (e.g., clang-3.4) and dependencies. |
| |
| Changes since version 0.4.1: |
| |
| New features |
| ^^^^^^^^^^^^ |
| |
| - Add Adaptive SRTT-based Forwarding strategy (:issue:`3566`) |
| |
| - **breaking change** Introduce configurable policy for admission of unsolicited data packets into |
| the content store (:issue:`2181`). Currently available policies: |
| |
| * ``DropAllUnsolicitedDataPolicy`` (**the new default**): drop all unsolicited data packets |
| * ``AdmitLocalUnsolicitedDataPolicy`` (the old default): allow unsolicited data packets from local |
| applications to be cached (e.g., with a lower priority), drop all other unsolicited data |
| * ``AdmitNetworkUnsolicitedDataPolicy``: allow unsolicited data packets from the network to be |
| cached (e.g., with a lower priority), drop all other unsolicited data |
| * ``AdmitAllUnsolicitedDataPolicy``: cache all unsolicited data packets |
| |
| - Introduce mechanism to update properties (e.g., flags, persistency) of an existing Face |
| (:issue:`3731`). Note that the corresponding ``nfdc`` command will be available in the next |
| release. |
| |
| Updates |
| ^^^^^^^ |
| |
| - **breaking change** Strategy API update. FIB entry is no longer supplied to the |
| ``Strategy::afterReceiveInterest`` method (i.e., FIB lookup is not performed by the forwarding |
| pipelines). When necessary, a strategy can request FIB lookup using ``Strategy::lookupFib`` |
| (:issue:`3664`, :issue:`3205`, :issue:`3679`, :issue:`3205`) |
| |
| - **breaking change** ForwarderStatus dataset can now be requested only with |
| ``/localhost/nfd/status/general`` interest (:issue:`3379`) |
| |
| - Optimizations of tables and forwarding, including reduced usage of ``shared_ptr`` (:issue:`3205`, |
| :issue:`3164`, :issue:`3687`) |
| |
| - Display extended diagnostic information if NFD crashes (:issue:`2541`) |
| |
| - Visualize NACK counters in ``nfd-status`` output (:issue:`3569`) |
| |
| - Extend management to process the new ``LocalFieldsEnabled`` attribute when creating/updating Faces |
| (:issue:`3731`) |
| |
| - Switch logging facility to use Boost.Log (:issue:`3562`) |
| |
| - Refactor implementation of ``nfdc`` tool, which now supports a new command-line syntax and |
| retrieval of status datasets (:issue:`3749`, :issue:`3780`). This is the first step in |
| implementing an interactive mode for ``nfdc`` (:issue:`2542`). |
| |
| - ``nfd-status`` tool has been merged into ``nfdc`` with a wrapper script provided for backwards |
| compatibility (:issue:`3658`) |
| |
| - Refactor implementation of RIB Manager to make it uniform with other managers (:issue:`2857`) |
| |
| - Miscellaneous code refactoring (:issue:`3738`, :issue:`3164`, :issue:`3687`, :issue:`3205`, |
| :issue:`3608`, :issue:`3619`, :issue:`2181`) |
| |
| - Update WebSocket++ to version 0.7.0 (:issue:`3588`) |
| |
| - Updates to reflect the latest changes in ndn-cxx library (:issue:`3760`, :issue:`3739`, |
| :issue:`2950`, :issue:`2063`) |
| |
| Bugfixes |
| ^^^^^^^^ |
| |
| - Ensure ``NccStrategy`` explores all potential upstreams (:issue:`3411`) |
| |
| - Add missing processing of NACK in ``pit::Entry::hasUnexpiredOutRecords`` (:issue:`3545`) |
| |
| - Fix issue with WebSocket-based Face creation when IPv4-mapped IPv6 loopback addresses are |
| considered non-local (:issue:`3682`) |
| |
| - Make sure that the outgoing Interest pipeline uses the newest in-record when sending out an |
| Interest (:issue:`3642`) |
| |
| - Properly delete PIT in-record and out-record when face is destroyed (:issue:`3685`) |
| |
| - Fix ``Pit::find`` leak of ``NameTreeEntry`` (:issue:`3619`) |
| |
| - Fix ``Pit::erase`` crash when Interest name contains implicit digest (:issue:`3608`) |
| |
| - Fix use-after-free in ``Rib::erase`` and ``RibManagerFixture::clearRib`` (:issue:`3787`) |
| |
| Deprecations |
| ^^^^^^^^^^^^ |
| |
| - ``ClientControl`` forwarding strategy. The NextHopFaceId is now honored universally |
| (:issue:`3783`) |
| |
| - ``StrategyInfoHost::getOrCreateStrategyInfo``, which is renamed to |
| ``StrategyInfoHost::insertStrategyInfo`` (:issue:`3205`) |
| |
| Removals |
| ^^^^^^^^ |
| |
| - Previously deprecated BroadcastStrategy (:issue:`3206`) |
| |
| - Unused command-line tool ``nrd`` (:issue:`3570`) |
| |
| - ``SegmentPublisher`` and ``RibStatusPublisher``, both replaced by ``ndn::Dispatcher`` |
| (:issue:`2857`) |
| |
| - ``CommandValidator``, which has been replaced by ``CommandAuthenticator`` (:issue:`2063`) |