Skip to content
Changes since version 0.1.0:

-   Documentation
    -   "NFD Developer's Guide" by NFD authors that explains NFD's
        internals including the overall design, major modules, their
        implementation, and their interactions
    -   New detailed instructions on how to enable auto-start of NFD
        using OSX launchd and Ubuntu's upstart (see contrib/ folder)
-   Core
    -   Add support for temporary privilege drop and elevation (Issue
        #1370)
    -   Add support to reinitialize multicast Faces and (partially)
        reload config file (Issue #1584)
    -   Randomization routines are now uniform across all NFD modules
        (Issue #1369)
-   Faces
    -   WebSocket Face support (Issue #1468)
    -   Fix Ethernet Face support on Linux with libpcap version >=1.5.0
        (Issue #1511)
    -   Fix to recognize IPv4-mapped IPv6 addresses in FaceUri (Issue
        #1635)
    -   Fix to avoid multiple onFail events (Issue #1497)
    -   Fix broken support of multicast UDP Faces on OSX (Issue #1668)
    -   On Linux, path MTU discovery on unicast UDPv4 faces is now
        disabled (Issue #1651)
    -   Added link layer byte counts in FaceCounters (Issue #1729)
    -   Face IDs 0-255 are now reserved for internal NFD use (Issue
        #1620)
    -   Serialized StreamFace::send(Interest|Data) operations using
        queue (Issue #1777)
-   Forwarding
    -   Outgoing Interest pipeline now allows strategies to request a
        fresh Nonce (e.g., when the strategy needs to re-express the
        Interest) (Issue #1596)
    -   Fix in the incoming Data pipeline to avoid sending packets to
        the incoming Face (Issue #1556)
    -   New RttEstimator class that implements the Mean-Deviation RTT
        estimator to be used in forwarding strategies
-   Tables
    -   Fix in ContentStore to properly adjust internal structure when
        Cs::setLimit is called (Issue #1646)
    -   New option in configuration file to set an upper bound on
        ContentStore size (Issue #1623)
    -   Fix to prevent infinite lifetime of Measurement entries (Issue
        #1665)
    -   Introducing capacity limit in PIT NonceList (Issue #1770)
    -   Fix memory leak in NameTree (Issue #1803)
-   Management
    -   RibManager now fully support CHILD_INHERIT and CAPTURE flags
        (Issue #1325)
    -   Fix in FaceManager to respond with canonical form of Face URI
        for Face creation command (Issue #1619)
    -   Fix to prevent creation of duplicate TCP/UDP Faces due to async
        calls (Issue #1680)
    -   Fix to properly handle optional ExpirationPeriod in RibRegister
        command (Issue #1772)
    -   Added functionality of publishing RIB status (RIB dataset) by
        RibManager (Issue #1662)
-   Tools
    -   Extended functionality of nfd-status

          -   -x to output in XML format, see nfd-status xml schema
          -   -c to retrieve channel status information (enabled by
              default)
          -   -s to retrieve configured strategy choice for NDN
              namespaces (enabled by default)
          -   Face status now includes reporting of Face flags (local
              and on-demand)
          -   On-demand UDP Faces now report remaining lifetime
              (expirationPeriod)
          -   -r to retrieve RIB information

    -   Improved nfd-status-http-server

          -   HTTP server now presents status as XSL-formatted XML page

    -   Several fixes in ndn-autoconfig tool (Issue #1595)
    -   Extended options in nfdc:
        -   -e to set expiration time for registered routes
        -   -o to specify origin for registration and unregistration
            commands

-   Build
    -   Enable support of precompiled headers for clang and gcc to speed
        up compilation
-   Other small fixes and extensions