Prepare release 22.12

Refs: #5250
Change-Id: I6b9a3daab498cbffb78a108207e92bc2596be378
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8035fc9..bd4e6c2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -55,7 +55,7 @@
           - os: macos-12
             xcode: '13.4'
           - os: macos-12
-            xcode: '14.1'
+            xcode: '14.2'
     steps:
       - name: Set up Xcode
         uses: maxim-lobanov/setup-xcode@v1
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index a45615b..e29f468 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -22,7 +22,7 @@
 
 if [[ $ID == macos ]]; then
     if [[ -n $GITHUB_ACTIONS ]]; then
-        export HOMEBREW_NO_INSTALL_UPGRADE=1
+        export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
     fi
     brew update
     brew install --formula "${FORMULAE[@]}"
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 4debb4e..3a7bf66 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -145,9 +145,9 @@
         flags = super(GccBasicFlags, self).getDebugFlags(conf)
         flags['CXXFLAGS'] += ['-Og',
                               '-g3',
-                              '-pedantic',
                               '-Wall',
                               '-Wextra',
+                              '-Wpedantic',
                               '-Werror',
                               '-Wcatch-value=2',
                               '-Wextra-semi',
@@ -163,9 +163,9 @@
         flags = super(GccBasicFlags, self).getOptimizedFlags(conf)
         flags['CXXFLAGS'] += ['-O2',
                               '-g',
-                              '-pedantic',
                               '-Wall',
                               '-Wextra',
+                              '-Wpedantic',
                               '-Wcatch-value=2',
                               '-Wextra-semi',
                               '-Wnon-virtual-dtor',
diff --git a/AUTHORS.md b/AUTHORS.md
index 9a3b409..9eb63b3 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -1,12 +1,12 @@
 # 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).
-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>
 * ***(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>
 * Muktadir R Chowdhury <https://github.com/alvyC>
 * Tai-Lin Chu <https://www.linkedin.com/pub/tai-lin-chu/55/5b2/669>
@@ -31,7 +31,7 @@
 * Eric Newberry <https://ericnewberry.com>
 * Ju Pan <https://cs-jupan.com>
 * 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>
 * Md Ashiqur Rahman <https://ashiqrahman.com>
 * Matteo Sammarco <https://www.linkedin.com/in/matteo-sammarco-9b544530>
@@ -55,7 +55,7 @@
 
 * Patrick Crowley <https://www.arl.wustl.edu/~pcrowley>
 * 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>
 * Lan Wang <http://www.cs.memphis.edu/~lanwang>
 * Beichuan Zhang <https://cs.arizona.edu/~bzhang>
diff --git a/COPYING.md b/COPYING.md
index 2d8dce9..d01ca33 100644
--- a/COPYING.md
+++ b/COPYING.md
@@ -21,11 +21,10 @@
 - The waf build system is licensed under the terms of the
   [BSD license](https://github.com/named-data/NFD/blob/master/waf)
 
-
 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
 
diff --git a/README.md b/README.md
index 910d3f2..beadc13 100644
--- a/README.md
+++ b/README.md
@@ -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
 
+</div>
+
 [![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)
 ![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
deleted file mode 120000
index ab3c752..0000000
--- a/RELEASE_NOTES.rst
+++ /dev/null
@@ -1 +0,0 @@
-docs/release-notes-latest.rst
\ No newline at end of file
diff --git a/core/version.hpp.in b/core/version.hpp.in
index c9d8a4d..9285f2b 100644
--- a/core/version.hpp.in
+++ b/core/version.hpp.in
@@ -26,8 +26,9 @@
 #ifndef 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
-// https://semver.org/spec/v2.0.0.html
+// The NFD version follows the approach of Calendar Versioning (https://calver.org/)
+// 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.
 
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/>`__)
diff --git a/wscript b/wscript
index 61aa0ac..333c959 100644
--- a/wscript
+++ b/wscript
@@ -26,7 +26,7 @@
 from waflib import Context, Logs, Utils
 import os, subprocess
 
-VERSION = '22.02'
+VERSION = '22.12'
 APPNAME = 'nfd'
 GIT_TAG_PREFIX = 'NFD-'
 
@@ -98,7 +98,7 @@
     conf.find_program(['pkgconf', 'pkg-config'], var='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)
 
     if not conf.options.without_systemd: