Prepare release 24.07
Refs: #5323
Change-Id: Ia42962bc937083a67b8be84bbcba09c76f1afaa1
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index ad3828e..f12feaa 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -37,6 +37,7 @@
set -x
if [[ $ID == macos ]]; then
+ export HOMEBREW_NO_ENV_HINTS=1
if [[ -n $GITHUB_ACTIONS ]]; then
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
fi
diff --git a/docs/doxygen.conf.in b/docs/doxygen.conf.in
index 43cc9fe..d723c0f 100644
--- a/docs/doxygen.conf.in
+++ b/docs/doxygen.conf.in
@@ -1171,15 +1171,6 @@
HTML_COLORSTYLE_GAMMA = 91
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to YES can help to show when doxygen was last run and thus if the
-# documentation is up to date.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP = NO
-
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
@@ -1747,14 +1738,6 @@
LATEX_BIB_STYLE = plain
-# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_TIMESTAMP = NO
-
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
@@ -2123,23 +2106,6 @@
DOT_NUM_THREADS = 0
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE = 10
-
# By default doxygen will tell dot to use the default font as specified with
# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
# the path where dot can find it using this tag.
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 374bf1a..e39ac9c 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -1,4 +1,4 @@
Release Notes
=============
-.. include:: release-notes/release-notes-22.12.rst
+.. include:: release-notes/release-notes-24.07.rst
diff --git a/docs/release-notes/release-notes-24.07.rst b/docs/release-notes/release-notes-24.07.rst
new file mode 100644
index 0000000..cccc160
--- /dev/null
+++ b/docs/release-notes/release-notes-24.07.rst
@@ -0,0 +1,63 @@
+NFD version 24.07
+-----------------
+
+*Release date: July 28, 2024*
+
+Important changes and new features
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- The build dependencies 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 is *required* on all platforms
+
+- Ubuntu 24.04 (Noble), Debian 12 (Bookworm), and macOS 14 (Sonoma) are now officially supported
+
+- Added an official Dockerfile to the repository. From this Dockerfile, the following images are
+ currently published to the GitHub container registry:
+
+ - `named-data/nfd <https://github.com/named-data/NFD/pkgs/container/nfd>`__
+ - `named-data/nfd-autoreg <https://github.com/named-data/NFD/pkgs/container/nfd-autoreg>`__
+ - `named-data/nfd-status-http-server <https://github.com/named-data/NFD/pkgs/container/nfd-status-http-server>`__
+
+ All images are available for *linux/amd64* and *linux/arm64* platforms.
+
+- The default Unix socket path changed to ``/run/nfd/nfd.sock`` on Linux and to
+ ``/var/run/nfd/nfd.sock`` on all other platforms (:issue:`5304`)
+
+- Introduced a new strategy trigger :nfd:`onInterestLoop <Strategy::onInterestLoop>` that is
+ invoked when a duplicate Interest is received. The default behavior (sending a Nack packet)
+ remains unchanged except for the Multicast strategy, which will now suppress the Nack
+ transmission in this case (:issue:`5278`)
+
+- Multiple updates to the ASF forwarding strategy to more closely adhere to the behavior
+ described in the published technical report (:issue:`5310`)
+
+- The ASF strategy gained support for Nack propagation (:issue:`5311`)
+
+- The default port number of ``nfd-status-http-server`` changed to 6380
+
+Improvements and bug fixes
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Several stability improvements in the face system, especially around error handling in
+ multicast faces and :nfd:`UnixStreamChannel` (:issue:`5030`, :issue:`5297`)
+
+- Refactor and improve logging in forwarding core and strategies (:issue:`5262`, :issue:`5267`)
+
+- Fix missing increment of ``nOutNacks`` counter when sending a Nack from ``onInterestLoop``
+
+- Optimize the removal of PIT in-records
+
+- Move RIB unit tests into ``unit-tests-daemon`` and eliminate the ``unit-tests-rib`` binary
+
+- Fix building the documentation with Python 3.12 (:issue:`5298`)
+
+- Reduce amount of debugging information produced in compiled binaries by default (:issue:`5279`)
+
+- Update waf build system to version 2.0.27
+
+- Various code cleanups, modernizations, and documentation improvements
diff --git a/docs/releases.rst b/docs/releases.rst
index 8afd0e1..e5b0d0c 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -9,17 +9,26 @@
release-notes/*
-* **NFD version 22.12**
- (:doc:`Release Notes <release-notes/release-notes-22.12>`, `Documentation <https://docs.named-data.net/NFD/22.12/>`__)
+* **NFD version 24.07**
+ \| :doc:`Release Notes <release-notes/release-notes-24.07>`
+ \| `GitHub <https://github.com/named-data/NFD/releases/tag/NFD-24.07>`__
+ \| `Source download <https://github.com/named-data/NFD/releases/download/NFD-24.07/nfd-24.07.tar.xz>`__
+ (`checksum <https://github.com/named-data/NFD/releases/download/NFD-24.07/nfd-24.07.tar.xz.sha256>`__)
+ \| `Documentation <https://docs.named-data.net/NFD/24.07/>`__
- `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.12**
+ \| :doc:`Release Notes <release-notes/release-notes-22.12>`
+ \| `GitHub <https://github.com/named-data/NFD/releases/tag/NFD-22.12>`__
+ \| `Source download <https://named-data.net/downloads/nfd-22.12.tar.bz2>`__
+ (`checksum <https://named-data.net/downloads/nfd-22.12.tar.bz2.sha256>`__)
+ \| `Documentation <https://docs.named-data.net/NFD/22.12/>`__
* **NFD version 22.02**
- (:doc:`Release Notes <release-notes/release-notes-22.02>`, `Documentation <https://docs.named-data.net/NFD/22.02/>`__)
-
- `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-22.02>`__,
- `src (tarball) <https://named-data.net/downloads/nfd-22.02.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-22.02.tar.bz2.sha256>`__)
+ \| :doc:`Release Notes <release-notes/release-notes-22.02>`
+ \| `GitHub <https://github.com/named-data/NFD/releases/tag/NFD-22.02>`__
+ \| `Source download <https://named-data.net/downloads/nfd-22.02.tar.bz2>`__
+ (`checksum <https://named-data.net/downloads/nfd-22.02.tar.bz2.sha256>`__)
+ \| `Documentation <https://docs.named-data.net/NFD/22.02/>`__
* **NFD version 0.7.1**
(:doc:`Release Notes <release-notes/release-notes-0.7.1>`, `Documentation <https://docs.named-data.net/NFD/0.7.1/>`__)
@@ -76,13 +85,13 @@
`src (tarball) <https://named-data.net/downloads/nfd-0.6.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.6.0.tar.bz2.sha256>`__)
* **NFD version 0.5.1**
- (:doc:`Release Notes <release-notes/release-notes-0.5.1>`, `Documentation <https://docs.named-data.net/NFD/0.5.1/>`__)
+ (:doc:`Release Notes <release-notes/release-notes-0.5.1>`)
`src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.5.1>`__,
`src (tarball) <https://named-data.net/downloads/nfd-0.5.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.5.1.tar.bz2.sha256>`__)
* **NFD version 0.5.0**
- (:doc:`Release Notes <release-notes/release-notes-0.5.0>`, `Documentation <https://docs.named-data.net/NFD/0.5.0/>`__)
+ (:doc:`Release Notes <release-notes/release-notes-0.5.0>`)
`src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.5.0>`__,
`src (tarball) <https://named-data.net/downloads/nfd-0.5.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.5.0.tar.bz2.sha256>`__)
diff --git a/wscript b/wscript
index daaaa96..45f8b22 100644
--- a/wscript
+++ b/wscript
@@ -27,7 +27,7 @@
import subprocess
from waflib import Context, Logs, Utils
-VERSION = '22.12'
+VERSION = '24.07'
APPNAME = 'nfd'
GIT_TAG_PREFIX = 'NFD-'
@@ -99,7 +99,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.1', '--cflags', '--libs'],
+ conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.9.0', '--cflags', '--libs'],
uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)
if not conf.options.without_systemd: