Prepare release 22.12
Refs: #5250
Change-Id: I6b9a3daab498cbffb78a108207e92bc2596be378
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index ade7244..b960b9a 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -7,14 +7,10 @@
NFD is built against a continuous integration system and has been tested on the
following platforms:
-- Ubuntu 18.04
-- Ubuntu 20.04
-- Ubuntu 22.04
+- Ubuntu 18.04 / 20.04 / 22.04
- Debian 11
- CentOS Stream 9
-- macOS 10.15
-- macOS 11
-- macOS 12
+- macOS 10.15 / 11 / 12 / 13
NFD is known to work on the following platforms, although they are not officially
supported:
@@ -76,7 +72,7 @@
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
-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
@@ -283,12 +279,11 @@
Sample applications:
+ `Simple examples using the ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/examples.html>`__
- + `Introductory examples of NDN-CCL
- <https://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Step-By-Step_-_Common_Client_Libraries>`__
+ + `Simple examples using the python-ndn library <https://python-ndn.readthedocs.io/en/latest/src/examples/basic_app.html>`__
Real applications and libraries:
+ `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>`__
- + `ChronoSync - Sync library for multi-user real-time applications <https://github.com/named-data/ChronoSync>`__
- + `PSync - Partial and full synchronization library <https://github.com/named-data/PSync>`__
+ + `ndn-traffic-generator - Simple traffic generator for NDN <https://github.com/named-data/ndn-traffic-generator>`__
+ + `ndn-svs - State Vector Sync library <https://github.com/named-data/ndn-svs>`__
+ + `PSync - Partial and full Sync library <https://github.com/named-data/PSync>`__
diff --git a/docs/RELEASE_NOTES.rst b/docs/RELEASE_NOTES.rst
deleted file mode 100644
index 3a9709d..0000000
--- a/docs/RELEASE_NOTES.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-NFD Release Notes
-=================
-
-.. include:: release-notes-latest.rst
diff --git a/docs/index.rst b/docs/index.rst
index e54fc95..c6e19a4 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,13 +1,6 @@
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::
:hidden:
:maxdepth: 3
@@ -21,9 +14,16 @@
:hidden:
:maxdepth: 1
- RELEASE_NOTES
+ release-notes
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`
A brief overview of NFD and its major modules.
@@ -37,31 +37,35 @@
Suggestions for configuring and running non-standard NFD setups.
* :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
- suggestions and hints for anyone wanting to modify or extend NFD.
+ A comprehensive guide to the design and implementation of NFD. The developer's guide
+ 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>`__
(guide for newcomers to the NDN community of software)
* `NFD Wiki <https://redmine.named-data.net/projects/nfd/wiki>`__
- The NFD Wiki contains detailed protocol specifications and
- information for building on unsupported platforms.
+ The NFD Wiki contains detailed protocol specifications and information for building
+ on unsupported platforms.
- + `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>`__
+ + `NFD management protocol <https://redmine.named-data.net/projects/nfd/wiki/Management>`__
+ + `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
-------
diff --git a/docs/manpages.rst b/docs/manpages.rst
index b02f281..3804626 100644
--- a/docs/manpages.rst
+++ b/docs/manpages.rst
@@ -1,9 +1,9 @@
-.. _Manpages:
-
-Manpages
-========
+Man pages
+=========
.. toctree::
+ :maxdepth: 1
+
manpages/nfd
manpages/nfdc
manpages/nfdc-status
@@ -20,4 +20,3 @@
manpages/ndn-autoconfig-server
local-prefix-discovery
manpages/nfd-autoreg
- :maxdepth: 1
diff --git a/docs/overview.rst b/docs/overview.rst
index cff18ce..e45286a 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -24,7 +24,7 @@
that developers can conduct by trying out different data structures and different
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
-`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
NFD.
@@ -69,7 +69,7 @@
- Management
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
is done via NDN's Interest/Data exchange between applications and NFD.
diff --git a/docs/release-notes-latest.rst b/docs/release-notes-latest.rst
deleted file mode 120000
index a24bd0a..0000000
--- a/docs/release-notes-latest.rst
+++ /dev/null
@@ -1 +0,0 @@
-release-notes/release-notes-22.02.rst
\ No newline at end of file
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
new file mode 100644
index 0000000..374bf1a
--- /dev/null
+++ b/docs/release-notes.rst
@@ -0,0 +1,4 @@
+Release Notes
+=============
+
+.. include:: release-notes/release-notes-22.12.rst
diff --git a/docs/release-notes/release-notes-22.12.rst b/docs/release-notes/release-notes-22.12.rst
new file mode 100644
index 0000000..bfa3e02
--- /dev/null
+++ b/docs/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
diff --git a/docs/releases.rst b/docs/releases.rst
index bc7c083..067e78a 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -1,13 +1,19 @@
-NFD Versions
-++++++++++++
+All NFD Releases
+================
.. toctree::
- :glob:
- :hidden:
- :maxdepth: 1
- :reversed:
+ :glob:
+ :hidden:
+ :maxdepth: 1
+ :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**
(:doc:`Release Notes <release-notes/release-notes-22.02>`, `Documentation <https://named-data.net/doc/NFD/22.02/>`__)