Prepare release 22.12

Refs: #5250
Change-Id: I6b9a3daab498cbffb78a108207e92bc2596be378
This commit is contained in:
Davide Pesavento committed 2022-12-31 01:40:11 -05:00
1 parent 0b0156887b
commit 3bc8e19a89
18 files changed
+118 -68

No files matched your search

+1 -1
View File
@@ -55,7 +55,7 @@ jobs:
- os: macos-12 - os: macos-12
xcode: '13.4' xcode: '13.4'
- os: macos-12 - os: macos-12
xcode: '14.1' xcode: '14.2'
steps: steps:
- name: Set up Xcode - name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1 uses: maxim-lobanov/setup-xcode@v1
+1 -1
View File
@@ -22,7 +22,7 @@ set -x
if [[ $ID == macos ]]; then if [[ $ID == macos ]]; then
if [[ -n $GITHUB_ACTIONS ]]; then if [[ -n $GITHUB_ACTIONS ]]; then
export HOMEBREW_NO_INSTALL_UPGRADE=1 export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
fi fi
brew update brew update
brew install --formula "${FORMULAE[@]}" brew install --formula "${FORMULAE[@]}"
+2 -2
View File
@@ -145,9 +145,9 @@ class GccBasicFlags(CompilerFlags):
flags = super(GccBasicFlags, self).getDebugFlags(conf) flags = super(GccBasicFlags, self).getDebugFlags(conf)
flags['CXXFLAGS'] += ['-Og', flags['CXXFLAGS'] += ['-Og',
'-g3', '-g3',
'-pedantic',
'-Wall', '-Wall',
'-Wextra', '-Wextra',
'-Wpedantic',
'-Werror', '-Werror',
'-Wcatch-value=2', '-Wcatch-value=2',
'-Wextra-semi', '-Wextra-semi',
@@ -163,9 +163,9 @@ class GccBasicFlags(CompilerFlags):
flags = super(GccBasicFlags, self).getOptimizedFlags(conf) flags = super(GccBasicFlags, self).getOptimizedFlags(conf)
flags['CXXFLAGS'] += ['-O2', flags['CXXFLAGS'] += ['-O2',
'-g', '-g',
'-pedantic',
'-Wall', '-Wall',
'-Wextra', '-Wextra',
'-Wpedantic',
'-Wcatch-value=2', '-Wcatch-value=2',
'-Wextra-semi', '-Wextra-semi',
'-Wnon-virtual-dtor', '-Wnon-virtual-dtor',
+5 -5
View File
@@ -1,12 +1,12 @@
# NFD Authors # NFD Authors
The following lists maintainers, primary developers, and all much-appreciated contributors to NFD in alphabetic order. The following lists maintainers, primary developers, and all much-appreciated contributors to NFD in alphabetical order.
The specific contributions of individual authors can be obtained from the git history of the [official NFD repository](https://github.com/named-data/NFD). The specific contributions of individual authors can be obtained from the git history of the [official NFD repository](https://github.com/named-data/NFD).
If you would like to become a contributor to the official repository, please follow the recommendations in https://github.com/named-data/.github/blob/master/CONTRIBUTING.md. If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>.
* Jerald Paul Abraham <https://cs.arizona.edu/~jeraldabraham> * Jerald Paul Abraham <https://cs.arizona.edu/~jeraldabraham>
* ***(Maintainer)*** Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev> * ***(Maintainer)*** Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
* Syed Obai Amin <http://obaidamin.weebly.com> * Syed Obaid Amin <http://obaidamin.weebly.com>
* Hila Ben Abraham <https://sites.wustl.edu/hbabraham> * Hila Ben Abraham <https://sites.wustl.edu/hbabraham>
* Muktadir R Chowdhury <https://github.com/alvyC> * Muktadir R Chowdhury <https://github.com/alvyC>
* Tai-Lin Chu <https://www.linkedin.com/pub/tai-lin-chu/55/5b2/669> * Tai-Lin Chu <https://www.linkedin.com/pub/tai-lin-chu/55/5b2/669>
@@ -31,7 +31,7 @@ If you would like to become a contributor to the official repository, please fol
* Eric Newberry <https://ericnewberry.com> * Eric Newberry <https://ericnewberry.com>
* Ju Pan <https://cs-jupan.com> * Ju Pan <https://cs-jupan.com>
* João Pereira <http://website.jpereira.co.uk> * João Pereira <http://website.jpereira.co.uk>
* Davide Pesavento <https://github.com/Pesa> * ***(Maintainer)*** Davide Pesavento <https://github.com/Pesa>
* Felix Rabe <https://twitter.com/felixrabe> * Felix Rabe <https://twitter.com/felixrabe>
* Md Ashiqur Rahman <https://ashiqrahman.com> * Md Ashiqur Rahman <https://ashiqrahman.com>
* Matteo Sammarco <https://www.linkedin.com/in/matteo-sammarco-9b544530> * Matteo Sammarco <https://www.linkedin.com/in/matteo-sammarco-9b544530>
@@ -55,7 +55,7 @@ If you would like to become a contributor to the official repository, please fol
* Patrick Crowley <https://www.arl.wustl.edu/~pcrowley> * Patrick Crowley <https://www.arl.wustl.edu/~pcrowley>
* Christos Papadopoulos <https://www.cs.colostate.edu/~christos> * Christos Papadopoulos <https://www.cs.colostate.edu/~christos>
* Giovanni Pau <http://www.cs.ucla.edu/~gpau/Giovanni_Paus_Home_Page/Home.html> * Giovanni Pau <https://www.unibo.it/sitoweb/giovanni.pau/en>
* Tian Song <http://www.bit-netlab.org/songtian> * Tian Song <http://www.bit-netlab.org/songtian>
* Lan Wang <http://www.cs.memphis.edu/~lanwang> * Lan Wang <http://www.cs.memphis.edu/~lanwang>
* Beichuan Zhang <https://cs.arizona.edu/~bzhang> * Beichuan Zhang <https://cs.arizona.edu/~bzhang>
+2 -3
View File
@@ -21,11 +21,10 @@ NFD relies on third-party software, licensed under the following licenses:
- The waf build system is licensed under the terms of the - The waf build system is licensed under the terms of the
[BSD license](https://github.com/named-data/NFD/blob/master/waf) [BSD license](https://github.com/named-data/NFD/blob/master/waf)
The GPL license is provided below in this file. For more information about The GPL license is provided below in this file. For more information about
these licenses, see https://www.gnu.org/licenses/ these licenses, see <https://www.gnu.org/licenses/>
---------------------------------------------------------------------------------- --------------------------------------------------------------------------------
### GNU GENERAL PUBLIC LICENSE ### GNU GENERAL PUBLIC LICENSE
+6
View File
@@ -1,5 +1,11 @@
<div align="center">
[<img alt height="70" src="docs/named_data_theme/static/ndn-logo.svg"/>](https://named-data.net/)
# NFD: Named Data Networking Forwarding Daemon # NFD: Named Data Networking Forwarding Daemon
</div>
[![CI](https://github.com/named-data/NFD/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/NFD/actions/workflows/ci.yml) [![CI](https://github.com/named-data/NFD/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/NFD/actions/workflows/ci.yml)
[![Docs](https://github.com/named-data/NFD/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/NFD/actions/workflows/docs.yml) [![Docs](https://github.com/named-data/NFD/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/NFD/actions/workflows/docs.yml)
![Language](https://img.shields.io/badge/C%2B%2B-17-blue) ![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
-1
View File
@@ -1 +0,0 @@
docs/release-notes-latest.rst
+3 -2
View File
@@ -26,8 +26,9 @@
#ifndef NFD_CORE_VERSION_HPP #ifndef NFD_CORE_VERSION_HPP
#define NFD_CORE_VERSION_HPP #define NFD_CORE_VERSION_HPP
// NFD version follows Semantic Versioning 2.0.0 based on year and month of the release // The NFD version follows the approach of Calendar Versioning (https://calver.org/)
// https://semver.org/spec/v2.0.0.html // based on the year and month of the release, followed by an optional "patch" number,
// i.e., `YY.0M[.MICRO]` using CalVer notation.
// //
// To change version number, modify the VERSION variable in the top-level wscript. // To change version number, modify the VERSION variable in the top-level wscript.
+7 -12
View File
@@ -7,14 +7,10 @@ Supported platforms
NFD is built against a continuous integration system and has been tested on the NFD is built against a continuous integration system and has been tested on the
following platforms: following platforms:
- Ubuntu 18.04 - Ubuntu 18.04 / 20.04 / 22.04
- Ubuntu 20.04
- Ubuntu 22.04
- Debian 11 - Debian 11
- CentOS Stream 9 - CentOS Stream 9
- macOS 10.15 - macOS 10.15 / 11 / 12 / 13
- macOS 11
- macOS 12
NFD is known to work on the following platforms, although they are not officially NFD is known to work on the following platforms, although they are not officially
supported: supported:
@@ -76,7 +72,7 @@ Downloading from git
The first step is to obtain the source code for NFD and its main dependency, the The first step is to obtain the source code for NFD and its main dependency, the
*ndn-cxx* library. If you do not want a development version of NFD, make sure you *ndn-cxx* library. If you do not want a development version of NFD, make sure you
checkout the correct release tag (e.g., ``*-0.8.0``) from both repositories. checkout the correct release tag (e.g., ``*-0.8.1``) from both repositories.
.. code-block:: sh .. code-block:: sh
@@ -283,12 +279,11 @@ of NDN using the following applications and libraries.
Sample applications: Sample applications:
+ `Simple examples using the ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/examples.html>`__ + `Simple examples using the ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/examples.html>`__
+ `Introductory examples of NDN-CCL + `Simple examples using the python-ndn library <https://python-ndn.readthedocs.io/en/latest/src/examples/basic_app.html>`__
<https://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Step-By-Step_-_Common_Client_Libraries>`__
Real applications and libraries: Real applications and libraries:
+ `ndn-tools - Essential NDN command-line tools <https://github.com/named-data/ndn-tools>`__ + `ndn-tools - Essential NDN command-line tools <https://github.com/named-data/ndn-tools>`__
+ `ndn-traffic-generator - Traffic generator for NDN <https://github.com/named-data/ndn-traffic-generator>`__ + `ndn-traffic-generator - Simple traffic generator for NDN <https://github.com/named-data/ndn-traffic-generator>`__
+ `ChronoSync - Sync library for multi-user real-time applications <https://github.com/named-data/ChronoSync>`__ + `ndn-svs - State Vector Sync library <https://github.com/named-data/ndn-svs>`__
+ `PSync - Partial and full synchronization library <https://github.com/named-data/PSync>`__ + `PSync - Partial and full Sync library <https://github.com/named-data/PSync>`__
-4
View File
@@ -1,4 +0,0 @@
NFD Release Notes
=================
.. include:: release-notes-latest.rst
+24 -20
View File
@@ -1,13 +1,6 @@
NFD: Named Data Networking Forwarding Daemon NFD: Named Data Networking Forwarding Daemon
============================================ ============================================
**NFD** is a network forwarder that implements and evolves together with the Named Data
Networking (NDN) `protocol <https://named-data.net/doc/NDN-packet-spec/current/>`__.
NFD is a core component of the `NDN Platform <https://named-data.net/codebase/platform/>`__.
NFD Documentation
-----------------
.. toctree:: .. toctree::
:hidden: :hidden:
:maxdepth: 3 :maxdepth: 3
@@ -21,9 +14,16 @@ NFD Documentation
:hidden: :hidden:
:maxdepth: 1 :maxdepth: 1
RELEASE_NOTES release-notes
releases releases
**NFD** is a network forwarder that implements and evolves together with the Named Data
Networking (NDN) `protocol <https://named-data.net/doc/NDN-packet-spec/current/>`__.
NFD is a core component of the `NDN Platform <https://named-data.net/codebase/platform/>`__.
Documentation
-------------
* :doc:`overview` * :doc:`overview`
A brief overview of NFD and its major modules. A brief overview of NFD and its major modules.
@@ -37,31 +37,35 @@ NFD Documentation
Suggestions for configuring and running non-standard NFD setups. Suggestions for configuring and running non-standard NFD setups.
* :doc:`manpages` * :doc:`manpages`
* :doc:`release-notes`
* :doc:`releases`
Additional Documentation For developers
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
* `NFD Developer's Guide <https://named-data.net/publications/techreports/ndn-0021-10-nfd-developer-guide/>`__ * `NFD Developer's Guide <https://named-data.net/publications/techreports/ndn-0021-11-nfd-guide/>`__
A comprehensive guide to the design and implementation of NFD. The developer's guide also contains A comprehensive guide to the design and implementation of NFD. The developer's guide
suggestions and hints for anyone wanting to modify or extend NFD. also contains suggestions and hints for anyone wanting to modify or extend NFD.
* `NDN Software Contributor's Guide <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>`__ * `NDN Software Contributor's Guide <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>`__
(guide for newcomers to the NDN community of software) (guide for newcomers to the NDN community of software)
* `NFD Wiki <https://redmine.named-data.net/projects/nfd/wiki>`__ * `NFD Wiki <https://redmine.named-data.net/projects/nfd/wiki>`__
The NFD Wiki contains detailed protocol specifications and The NFD Wiki contains detailed protocol specifications and information for building
information for building on unsupported platforms. on unsupported platforms.
+ `NFD Management protocol <https://redmine.named-data.net/projects/nfd/wiki/Management>`__ + `NFD management protocol <https://redmine.named-data.net/projects/nfd/wiki/Management>`__
+ `NFD configuration file format <https://redmine.named-data.net/projects/nfd/wiki/ConfigFileFormat>`__ + `NDNLPv2 link protocol <https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2>`__
* `API Documentation (doxygen) <doxygen/annotated.html>`__ * `API documentation (doxygen) <doxygen/annotated.html>`__
* :doc:`RELEASE_NOTES` Issues
------
* :doc:`releases` Please submit any bugs or feature requests to the
`NFD issue tracker <https://redmine.named-data.net/projects/nfd/issues>`__.
License License
------- -------
+4 -5
View File
@@ -1,9 +1,9 @@
.. _Manpages: Man pages
=========
Manpages
========
.. toctree:: .. toctree::
:maxdepth: 1
manpages/nfd manpages/nfd
manpages/nfdc manpages/nfdc
manpages/nfdc-status manpages/nfdc-status
@@ -20,4 +20,3 @@ Manpages
manpages/ndn-autoconfig-server manpages/ndn-autoconfig-server
local-prefix-discovery local-prefix-discovery
manpages/nfd-autoreg manpages/nfd-autoreg
:maxdepth: 1
+2 -2
View File
@@ -24,7 +24,7 @@ performance. The intention is that performance optimizations are one type of ex
that developers can conduct by trying out different data structures and different that developers can conduct by trying out different data structures and different
algorithms; over time, better implementations may emerge within the same design framework. algorithms; over time, better implementations may emerge within the same design framework.
To facilitate such experimentation with the forwarder, the NFD team has also written a To facilitate such experimentation with the forwarder, the NFD team has also written a
`developer's guide <https://named-data.net/publications/techreports/ndn-0021-10-nfd-developer-guide/>`__, `developer's guide <https://named-data.net/publications/techreports/ndn-0021-11-nfd-guide/>`__,
which details the current implementation and provides tips for extending all aspects of which details the current implementation and provides tips for extending all aspects of
NFD. NFD.
@@ -69,7 +69,7 @@ NFD has the following major modules:
- Management - Management
Implements the `NFD Management Protocol Implements the `NFD Management Protocol
<https://redmine.named-data.net/projects/nfd/wiki/Management>`_, which allows <https://redmine.named-data.net/projects/nfd/wiki/Management>`__, which allows
applications to configure NFD and set/query NFD's internal states. Protocol interaction applications to configure NFD and set/query NFD's internal states. Protocol interaction
is done via NDN's Interest/Data exchange between applications and NFD. is done via NDN's Interest/Data exchange between applications and NFD.
-1
View File
@@ -1 +0,0 @@
release-notes/release-notes-22.02.rst
+4
View File
@@ -0,0 +1,4 @@
Release Notes
=============
.. include:: release-notes/release-notes-22.12.rst
@@ -0,0 +1,42 @@
NFD version 22.12
-----------------
Release date: December 31, 2022
Important changes and new features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- NFD now uses the C++17 standard to build
- 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 is required on all platforms
- Sphinx 4.0 or later is required to build the documentation
- CentOS Stream 9 is now officially supported; CentOS 8 has been dropped (:issue:`5181`)
- macOS 12 (Monterey) and 13 (Ventura) running on arm64 are now officially supported
(:issue:`5135`)
- The ASF, BestRoute, and Multicast strategies gained support for fine-grained configuration
of the retransmission suppression parameters (:issue:`4924`)
Improvements and bug fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^
- Prevent Ethernet faces from hanging NFD when a network interface goes down
- Refactor the ``EndpointId`` implementation using ``std::variant`` (:issue:`5041`)
- Better support for the new signed Interest format in management
- Extend and optimize the use of precompiled headers (:issue:`5212`)
- Stop using the ``gold`` linker on Linux; prefer instead linking with ``lld`` if installed
- Update waf build system to version 2.0.24
- Various documentation improvements
+13 -7
View File
@@ -1,13 +1,19 @@
NFD Versions All NFD Releases
++++++++++++ ================
.. toctree:: .. toctree::
:glob: :glob:
:hidden: :hidden:
:maxdepth: 1 :maxdepth: 1
:reversed: :reversed:
release-notes/* release-notes/*
* **NFD version 22.12**
(:doc:`Release Notes <release-notes/release-notes-22.12>`, `Documentation <https://named-data.net/doc/NFD/22.12/>`__)
`src (git) <https://github.com/named-data/NFD/releases/tag/NFD-22.12>`__,
`src (tarball) <https://named-data.net/downloads/nfd-22.12.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-22.12.tar.bz2.sha256>`__)
* **NFD version 22.02** * **NFD version 22.02**
(:doc:`Release Notes <release-notes/release-notes-22.02>`, `Documentation <https://named-data.net/doc/NFD/22.02/>`__) (:doc:`Release Notes <release-notes/release-notes-22.02>`, `Documentation <https://named-data.net/doc/NFD/22.02/>`__)
+2 -2
View File
@@ -26,7 +26,7 @@ NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
from waflib import Context, Logs, Utils from waflib import Context, Logs, Utils
import os, subprocess import os, subprocess
VERSION = '22.02' VERSION = '22.12'
APPNAME = 'nfd' APPNAME = 'nfd'
GIT_TAG_PREFIX = 'NFD-' GIT_TAG_PREFIX = 'NFD-'
@@ -98,7 +98,7 @@ def configure(conf):
conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG') conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG')
pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig') pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig')
conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'], conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.1', '--cflags', '--libs'],
uselib_store='NDN_CXX', pkg_config_path=pkg_config_path) uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)
if not conf.options.without_systemd: if not conf.options.without_systemd: