Releases: named-data/NLSR
Releases · named-data/NLSR
24.08
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
- A prebuilt image for linux/amd64 and linux/arm64 platforms is available on the GitHub container registry
Improvements
- Defined equality operator for LSA classes and simplified LSA-related code in
NamePrefixList
(#4094) - Standardized on
operator<<
in LSA classes for printing rather thantoString
(#5308) - Introduced use of Boost
bimap
andmulti_array
classes to simplify implementation ofNameMap
and link-state calculations forRoutingTable
respectively (#5308) - Removed forward dependency on
ConfParameter
inSyncLogicHandler
(#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
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
toecdsa-sha256
innlsr.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 withlld
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)