Skip to content

Releases: named-data/NLSR

24.08

13 Aug 15:12
NLSR-24.08
Compare
Choose a tag to compare

NLSR version 24.08

Notable changes

  • We have moved over to the CalVer versioning scheme to maintain consistency with NFD going forward: 24.08 is the successor to 0.7.0
  • The minimum build requirements have been increased as follows:
    • GCC >= 9.3 or Clang >= 7.0 are strongly recommended on Linux; GCC 8.x is also known to work but is not officially supported
    • Xcode 13 or later is recommended on macOS; older versions may still work but are not officially supported
    • Boost >= 1.71.0 and ndn-cxx >= 0.9.0 are required on all platforms
  • Added Dockerfile for NLSR

Improvements

  • Defined equality operator for LSA classes and simplified LSA-related code in NamePrefixList (#4094)
  • Standardized on operator<< in LSA classes for printing rather than toString (#5308)
  • Introduced use of Boost bimap and multi_array classes to simplify implementation of NameMap and link-state calculations for RoutingTable respectively (#5308)
  • Removed forward dependency on ConfParameter in SyncLogicHandler (#4208)
  • Split routing calculator code from main class to separate files with shared header to allow for transparent changes to routing code
  • Additional miscellaneous refactoring
  • Update waf build system to version 2.0.27
  • Fix building the documentation with Python 3.12 (#5298)
  • Various miscellaneous improvements to build and CI scripts

Bug fixes

  • Prevent crashes if received segment lacks KeyLocator when LSDB is trying to fetch a certificate
  • Prevent issues from dereferencing empty optional when link state calculator was passed a non-existent source node (#5308)
  • Hello data freshness has been dropped to 0 seconds; this prevents issues where Hellos can be cached and cause delays in detecting link failures in certain cases (#5265)
  • Removed dead links to tarballs in docs
  • Various adjustments to match ndn-cxx namespace changes

0.7.0

20 Aug 19:20
Compare
Choose a tag to compare

New features

  • Added experimental support for State Vector Sync (SVS) (#5248)
  • nlsrc: Added an option to query the status from remote routers (#4544)

Notable changes and improvements

  • Deprecated ChronoSync support: ChronoSync support is now optional and excluded from the default build; it remains available mainly for testing purposes (#5147)
  • Switched to the C++17 standard
  • The minimum build requirements have been increased as follows:
    • Either GCC >= 7.4.0 or Clang >= 6.0 is required on Linux
    • On macOS, Xcode 11.3 or later is recommended; older versions may still work but are not
      officially supported
    • Boost >= 1.65.1 and ndn-cxx >= 0.8.1 are required on all platforms
    • Sphinx 4.0 or later is required to build the documentation
  • Refactored LSDB for readability and added signals to notify of modifications (#4127)
  • Retrieve LSA from the face that triggered the notification of LSA changes
  • Accommodate certificate name in KeyLocator (#5195)
  • Changed sig-type to ecdsa-sha256 in nlsr.conf as ndn-cxx now has strict checking for it
  • Improved error handling and reporting
  • Stop using the gold linker on Linux; prefer instead linking with lld if installed
  • Update waf build system to version 2.0.24
  • Various test suite and documentation improvements

Bug fixes

  • lsdb: Fix for issues involving incorrect retransmission behavior in segment fetcher
  • Prevent NLSR from unregistering route during update for router that advertised it initially (#5179)
  • NameLsa: fix LSDB update bug by sorting the NPLs before difference
  • Fix recurring sync prefix registration on every hello data (#5157)
  • Return the appropriate exit codes when executing nlsrc advertise/withdraw commands (#5271)