Changes since release 2.2

Release date: December 12, 2016

Overview

- The submodules of NFD and ndn-cxx have been both upgraded to version
  0.5 (Issue 3875).

  Features of NFD:

    - Adaptive SRTT-based Forwarding strategy has been added.
    - Breaking change -- Configurable policy for admission of
      unsolicited data packets into the content store have
      been introduced.
    - Introduce mechanism to update properties (e.g.,
      flags, persistency) of an existing Face.
    - Breaking change -- ForwarderStatus dataset can now be requested
      only with /localhost/nfd/status/general interest.
    - 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.
    - Refactor implementation of RIB Manager to make it uniform with
      other managers.

  Features of ndn-cxx:

    - New transformation API.
    - Introduce Name::deepCopy to allow memory optimizations when
      working with Name objects.
    - New ndn::security::CommandInterestValidator class.
    - New FaceUpdateCommand structure for NFD management protocols.
    - Breaking change - Expose ControlResponse as part
      of Controller::CommandFailCallback.
    - Breaking change - Change security constants to corresponding
      strongly typed enumerations.

    In order to retrieve the marked versions of ndn-cxx and NFD, use
    --recursive option to the git clone command or run
    git submodule update --init after clone, pull, or merge.

- Replace NetDeviceFaceLinkService with NetDeviceTransport to add full
  support of NDNLPv2 and, thus, network-layer NACK handling to
  ndnSIM (Issue 3871).

  ndnSIM now uses an implementation of nfd::face::Transport that enables
  the full support of NDNLPv2 and the handling of network-layer NACKs
  generated by NFD. NACKs can reach the ndnSIM applications.

  NACK handling by ndnSIM came at the cost of losing the NS3 related
  packet tags. The hopCount tag is now implemented as a tag of a packet
  directly at the NDNLPv2 layer.

New features

- Enable NACK tracing by the network layer tracers (Issue 3872).
- NetworkRegionTable helper was added to allow the configuration of the
  simulated nodes' NetworkRegionTable (Issue 3806).

Improvements and bug fixes

- Internal refactoring to use the ndnSIM-specific transport
  implementation (ndn::L3Protocol, ndn::StackHelper,
  ndn::LinkControlHelper, ndn::GlobalRoutingHelper,
  ndn::Consumer, ndn::Producer).
- Updates of the ndnSIM documentation (Issue 3876)
  - Added explanation about the support of NDNLPv2 and its implications.
  1. 4e88e07 ci: Make sure we build NFD with tests and precompiled headers by Alexander Afanasyev · 10 years ago
  2. cf1e6e7 core: use EventEmitter from ndn-cxx by Junxiao Shi · 10 years ago
  3. 306df5e build: compile websocketpp in C++11 by Wentao Shang · 10 years ago
  4. ab1e8f2 build: Always build in C++11 mode. by Davide Pesavento · 10 years ago
  5. 35eefdf INSTALL.md: Uppercase by Felix Rabe · 10 years ago
  6. 4d4e725 ci: Embedding CI build and test running script by Alexander Afanasyev · 10 years ago
  7. 4cf4170 table: Evict unsolicited Data in FIFO order by Alexander Afanasyev · 10 years ago
  8. 67f11ac all: avoid usage of deprecated namespace ndn::Tlv by Junxiao Shi · 10 years ago
  9. a110f26 fw: use dead Nonce list in pipelines by Junxiao Shi · 10 years ago
  10. dae2530 nfdc: ensure FaceUri is in canonical form by Chengyu Fan · 10 years ago
  11. 9942cea tools, tests: replace FaceFlags with individual fields by Chengyu Fan · 10 years ago
  12. 27d570a tools: Display face attribute fields instead of FaceFlags by Chengyu Fan · 10 years ago
  13. 6687aab mgmt: allow omitted FaceId in faces/create command by Tai-Lin Chu · 10 years ago
  14. 8bfd56d fw: NccStrategy proper detection for new PIT entry by Junxiao Shi · 10 years ago
  15. 1553910 fw: optimize FwNccStrategy/FavorRespondingUpstream test case by Junxiao Shi · 10 years ago
  16. f9c2bb1 mgmt: replace FaceFlags with individual fields by Chengyu Fan · 10 years ago
  17. 77c8751 mgmt: update strategy-choice/set to return a versioned strategy name by Steve DiBenedetto · 10 years ago
  18. b4336c2 test: move general config section test to tests/daemon/mgmt by Steve DiBenedetto · 10 years ago
  19. 0e42c57 table: dead Nonce list by Junxiao Shi · 10 years ago
  20. 9873314 face: detect websocket connection failure using ping/pong messages. by Wentao Shang · 10 years ago
  21. b1c1a83 face: update websocketpp submodule to version 0.3.0 by Wentao Shang · 10 years ago
  22. 60d0638 table: Remove operator== for Exclude, which is now a part of the library by Alexander Afanasyev · 10 years ago
  23. e93d6a3 table: allow strategy versioning by Junxiao Shi · 10 years ago
  24. 82e7f58 fw: NccStrategy remembers only best face by Junxiao Shi · 10 years ago
  25. 3b21fa3 build: Fix build error with python3 by Alexander Afanasyev · 10 years ago
  26. c2642ca tools: Small formatting correction in plain text output of nfd-status by Alexander Afanasyev · 10 years ago
  27. 7b0e9cf tools: Publish /localhop/ndn-autoconf/routable-prefixes from ndn-autoconfig-server by Yingdi Yu · 10 years ago
  28. 3f5655f face: Fix spurious assertion failure in StreamFace by Davide Pesavento · 10 years ago
  29. 86bc91a face: Allow trailing slash for UDP and TCP FaceUri's by Alexander Afanasyev · 10 years ago
  30. 2075788 docs: Update to generate proper google analytics code by Alexander Afanasyev · 10 years ago
  31. 62a9394 doc: streamline NFD homepage and README documentation by Steve DiBenedetto · 10 years ago
  32. 186c316 docs: Updated release notes by Alexander Afanasyev · 10 years ago
  33. e918621 build: Disable Ethernet face support on OSX with Boost 1.56 by Alexander Afanasyev · 10 years ago
  34. 48f5a3c build: Enable detailed version information when built from shallow clone or tarball by Alexander Afanasyev · 10 years ago
  35. 986b849 fw: Best Route Strategy version 2 by Junxiao Shi · 10 years ago
  36. 26b215c rib: Add periodic invalid face clean up by Vince Lehman · 10 years ago
  37. 281ded7 rib: Cancel expiration on unregistration by Vince Lehman · 10 years ago
  38. 1c630ba tools: display RIB flags by name in nfd-status page by Chengyu Fan · 10 years ago
  39. ad3f1cb fw: when Interest matches CS, set straggler timer on PIT entry by Junxiao Shi · 10 years ago
  40. bc05b76 rib: Log individual FIB updates by Vince Lehman · 10 years ago
  41. 6717964 tools: display face flags and expiration in nfd-status page by Chengyu Fan · 10 years ago
  42. 6a75b76 build: Do not warn about C99 extensions by Alexander Afanasyev · 10 years ago
  43. f056c11 tools: Process auto-registration for faces that existed prior to start of nfd-autoreg by Alexander Afanasyev · 10 years ago
  44. 81c1a2a tools: Enable "all-faces-prefix" option to register prefix for all face (on-demand and non-on-demand) by Alexander Afanasyev · 10 years ago
  45. a55663d tools: fixing bug of misleading lifetime and plural time unit for RIB in HTTP status page by Chengyu Fan · 10 years ago
  46. 4c1a078 face: increment link layer byte counters in EthernetFace by Davide Pesavento · 10 years ago
  47. 483efd1 rib: Disable FaceId check for self-registrations by Alexander Afanasyev · 10 years ago
  48. cbb490a fw: NccStrategy always sets pitEntryEntry->maxInterval by Junxiao Shi · 10 years ago
  49. 585e5a6 rib+tools: Make use of ndn::nfd::FaceMonitor from the ndn-cxx library by Alexander Afanasyev · 10 years ago
  50. 15b12e7 core: use markers in StatusDataset and NotificationStream by Junxiao Shi · 10 years ago
  51. b303324 table: Fix segfault during Fib::removeNextHopFromAllEntries by Alexander Afanasyev · 10 years ago
  52. cd613c5 rib: Verify face before route registration by Vince Lehman · 10 years ago
  53. e612e2f face: increment link layer byte counters in WebSocketFace by Wentao Shang · 10 years ago
  54. 8a53caf tools: include the key name in keylocator as the NFD id in nfd-status by Chengyu Fan · 10 years ago
  55. 68bc1e0 Merge remote-tracking branch 'named-data/master' into release-0.2.0 by Alexander Afanasyev · 10 years ago
  56. 3331cfa tools: Visualize per-face link-layer byte counts in nfd-status by Chengyu Fan · 10 years ago
  57. 2fdbe86 build: Fix bug in instructions to get websocketpp library by Alexander Afanasyev · 10 years ago
  58. ee5a444 table: erase NameTree entry when FIB/Measurements/StrategyChoice entry is erased by Junxiao Shi · 10 years ago
  59. 5dd26c3 face: increment link layer byte counters in StreamFace and DatagramFace by Junxiao Shi · 10 years ago
  60. 30aa207 tools: visualize RIB dataset in nfd-status by Chengyu Fan · 10 years ago
  61. 4e9a98f core: Force SegmentPublisher to publish at least one Data packet, which could have empty content by Alexander Afanasyev · 10 years ago
  62. cd16c83 rib: Add RIB dataset publisher by Vince Lehman · 10 years ago
  63. 5144f82 mgmt+core: Moving SegmentPublisher to core/ and removing KeyChain from nfd::AppFace by Vince Lehman · 10 years ago
  64. e5966b7 face: Serializing StreamFace::send(Interest|Data) operations using queue by Alexander Afanasyev · 10 years ago
  65. 632a620 mgmt: expose link layer counters in Face Dataset by Junxiao Shi · 10 years ago
  66. 7b984c6 face: reserved FaceIds and NullFace by Junxiao Shi · 10 years ago
  67. 97a9c2c rib: Create response Data as shared_ptr to avoid copy inside Face::put by Alexander Afanasyev · 10 years ago
  68. 651b75e table: capacity limit in PIT NonceList by Junxiao Shi · 10 years ago
  69. 33152f1 face: link layer byte counts in FaceCounters by Junxiao Shi · 10 years ago
  70. b609f00 rib: Fixing bug with RibUnregister when route origin is not specified by Alexander Afanasyev · 10 years ago
  71. 56356b2 rib: Fixing bug with RibUnregister when route origin is not specified by Alexander Afanasyev · 10 years ago
  72. f67cf08 rib: Update to properly handle optional ExpirationPeriod in RibRegister command by Alexander Afanasyev · 10 years ago
  73. 8a09376 tools: Corrections and visual improvements for nfd-status-http-server by Alexander Afanasyev · 10 years ago
  74. fb1c808 rib: Fix to correctly set default expiration for self-registrations by Alexander Afanasyev · 10 years ago
  75. 45d1a76 tools: nfd-status-http-server: serve XML by Chengyu Fan · 10 years ago
  76. a57f8b4 fw: set unsatisfy timer in incoming Interest pipeline by Alexander Afanasyev · 10 years ago
  77. 28d586a table: Store shared_ptr<Interest> instead of just Interest to avoid extra copy by Alexander Afanasyev · 10 years ago
  78. 7bbe80c mgmt: Change InternalFace::processEvents to accept shared_ptr, instead of weak_ptr by Alexander Afanasyev · 10 years ago
  79. 38c215d ndn.cxx: Fixing small bug in name::Component::toUri() by Alexander Afanasyev · 10 years ago ndnSIM-1.0 v0.6
  80. 72446ec rib: Unit tests for RibManager by Vince Lehman · 10 years ago
  81. db31e7c build: Fixes and disabling PyNDN unless specifically requested by Alexander Afanasyev · 10 years ago
  82. 9fd46ba bindings: Rescanned bindings by Alexander Afanasyev · 10 years ago
  83. a8e339c docs: Update by Alexander Afanasyev · 10 years ago
  84. fbea590 mgmt: mark tables as configured after applying default configuration by Steve DiBenedetto · 10 years ago
  85. 9bcc88f mgmt,main: configure tables with defaults when missing config section/values by Steve DiBenedetto · 10 years ago
  86. 3313a37 rib-manager: deleting expired entries from the rib and fib. by Syed Obaid · 10 years ago
  87. 29d1fab face: Avoid calls to socket::local_endpoint() by Alexander Afanasyev · 10 years ago
  88. 63108c4 rib: Request Face create/destroy notification as early as possible by Alexander Afanasyev · 10 years ago
  89. 7465d5f face: Workaround to Boost.Asio bug 8795 with async_connect by Alexander Afanasyev · 10 years ago
  90. 0e173b7 fw: permit setStragglerTimer with unexpired OutRecord by Junxiao Shi · 10 years ago
  91. 3d36c2b face: handle exceptions in WebSocket sending path by Wentao Shang · 10 years ago
  92. 223271b fw: require valid FaceId in outgoing Interest/Data pipelines by Junxiao Shi · 10 years ago
  93. 818e8a6 nfdc: setting default expiration time to time::milliseconds::max() by Syed Obaid · 10 years ago
  94. 84e2977 docs: Update source installation instructions and other additions by Alexander Afanasyev · 10 years ago
  95. dda0b46 tools: autoreg uses RibRegisterCommand by Junxiao Shi · 10 years ago
  96. a753f1b tools: autoconfig prefix registration changes by Junxiao Shi · 10 years ago
  97. 40ee381 docs: Release notes for version 0.2.0 by Alexander Afanasyev · 10 years ago
  98. d5b6859 core: Commented out SSE4.2 instruction set related code block in city-hash.c by Haowei Yuan · 10 years ago
  99. 583760b face: Cleaning up onFail EventEmitter after event is fired from Face::fail by Alexander Afanasyev · 10 years ago
  100. a753058 face: remove pointless method UdpFace::handleFirstReceive by Davide Pesavento · 10 years ago