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