diff --git a/nlsr/debian/changelog b/nlsr/debian/changelog
index ae2e513..574e3b3 100644
--- a/nlsr/debian/changelog
+++ b/nlsr/debian/changelog
@@ -1,3 +1,10 @@
+nlsr (0.7.0-11-gfd1e9406-ppa1~DISTRO) DISTRO; urgency=low
+
+  * Version based on fd1e9406489606fea52b5e3e60d2b4cc66dab109
+    (https://github.com/named-data/NLSR)
+
+ -- Alex Afanasyev <aa@cs.fiu.edu>  Fri, 17 Nov 2023 19:43:19 +0000
+
 nlsr (0.6.0-15-ga3a63975-ppa2~DISTRO) DISTRO; urgency=low
 
   * Version based on a3a63975d13bcdf3a6851dcd8f9413049fb62c7d
diff --git a/nlsr/debian/control b/nlsr/debian/control
index bcc762f..dbc8661 100644
--- a/nlsr/debian/control
+++ b/nlsr/debian/control
@@ -6,7 +6,7 @@
  python3 (>= 3.6.0),
  pkg-config (>= 0.29),
  libboost-all-dev (>= 1.65.1),
- libndn-cxx-dev (>= 0.8.0),
+ libndn-cxx-dev (>= 0.8.1),
  libpsync-dev (>= 0.3.0),
  python3-sphinx (>= 1.6.0),
  git
diff --git a/nlsr/debian/patches/downgrade-sphinx.patch b/nlsr/debian/patches/downgrade-sphinx.patch
new file mode 100644
index 0000000..3e8d5c1
--- /dev/null
+++ b/nlsr/debian/patches/downgrade-sphinx.patch
@@ -0,0 +1,175 @@
+Index: nlsr_0.7.0-11-gfd1e9406/docs/conf.py
+===================================================================
+--- nlsr_0.7.0-11-gfd1e9406.orig/docs/conf.py
++++ nlsr_0.7.0-11-gfd1e9406/docs/conf.py
+@@ -1,22 +1,32 @@
++# -*- coding: utf-8 -*-
++#
+ # Configuration file for the Sphinx documentation builder.
+ #
+-# For the full list of built-in configuration values, see the documentation:
+-# https://www.sphinx-doc.org/en/master/usage/configuration.html
+-
+-import importlib.util
++# This file only contains a selection of the most common options. For a full
++# list see the documentation:
++# http://www.sphinx-doc.org/en/master/config
++
++# -- Path setup --------------------------------------------------------------
++
++# If extensions (or modules to document with autodoc) are in another directory,
++# add these directories to sys.path here. If the directory is relative to the
++# documentation root, use os.path.abspath to make it absolute, like shown here.
++#
++# import os
+ import sys
++# sys.path.insert(0, os.path.abspath('.'))
++
+ 
+ # -- Project information -----------------------------------------------------
+-# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+ 
+-project = 'Named Data Link State Routing Protocol (NLSR)'
+-copyright = 'Copyright © 2014-2023 Named Data Networking Project.'
+-author = 'Named Data Networking Project'
++project = u'Named Data Link State Routing Protocol (NLSR)'
++copyright = u'Copyright © 2014-2020 Named Data Networking Project.'
++author = u'Named Data Networking Project'
+ 
+-# The short X.Y version.
++# The short X.Y version
+ #version = ''
+ 
+-# The full version, including alpha/beta/rc tags.
++# The full version, including alpha/beta/rc tags
+ #release = ''
+ 
+ # There are two options for replacing |today|: either, you set today to some
+@@ -27,34 +37,49 @@ today_fmt = '%Y-%m-%d'
+ 
+ 
+ # -- General configuration ---------------------------------------------------
+-# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+ 
+-needs_sphinx = '4.0'
++# If your documentation needs a minimal Sphinx version, state it here.
++#
++needs_sphinx = '1.1'
++
++# Add any Sphinx extension module names here, as strings. They can be
++# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
++# ones.
+ extensions = [
+     'sphinx.ext.extlinks',
+     'sphinx.ext.todo',
+ ]
+ 
+-def addExtensionIfExists(extension: str):
++def addExtensionIfExists(extension):
+     try:
+-        if importlib.util.find_spec(extension) is None:
+-            raise ModuleNotFoundError(extension)
+-    except (ImportError, ValueError):
+-        sys.stderr.write(f'WARNING: Extension {extension!r} not found. '
+-                         'Some documentation may not build correctly.\n')
+-    else:
++        __import__(extension)
+         extensions.append(extension)
++    except ImportError:
++        sys.stderr.write("Extension '%s' not found. "
++                         "Some documentation may not build correctly.\n" % extension)
+ 
+ addExtensionIfExists('sphinxcontrib.doxylink')
+ 
++# The master toctree document.
++master_doc = 'index'
++
++# Add any paths that contain templates here, relative to this directory.
+ templates_path = ['_templates']
+-exclude_patterns = ['Thumbs.db', '.DS_Store']
++
++# List of patterns, relative to source directory, that match files and
++# directories to ignore when looking for source files.
++# This pattern also affects html_static_path and html_extra_path.
++exclude_patterns = []
+ 
+ 
+ # -- Options for HTML output -------------------------------------------------
+-# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+ 
++# The theme to use for HTML and HTML Help pages.  See the documentation for
++# a list of builtin themes.
++#
+ html_theme = 'named_data_theme'
++
++# Add any paths that contain custom themes here, relative to this directory.
+ html_theme_path = ['.']
+ 
+ # Add any paths that contain custom static files (such as style sheets) here,
+@@ -62,31 +87,56 @@ html_theme_path = ['.']
+ # so a file named "default.css" will overwrite the builtin "default.css".
+ html_static_path = ['_static']
+ 
+-html_copy_source = False
+-html_show_sourcelink = False
+ 
+-# Disable syntax highlighting of code blocks by default.
+-highlight_language = 'none'
++# -- Options for LaTeX output ------------------------------------------------
++
++latex_elements = {
++    # The paper size ('letterpaper' or 'a4paper').
++    #
++    # 'papersize': 'letterpaper',
++
++    # The font size ('10pt', '11pt' or '12pt').
++    #
++    # 'pointsize': '10pt',
++
++    # Additional stuff for the LaTeX preamble.
++    #
++    # 'preamble': '',
++
++    # Latex figure (float) alignment
++    #
++    # 'figure_align': 'htbp',
++}
++
++# Grouping the document tree into LaTeX files. List of tuples
++# (source start file, target name, title,
++#  author, documentclass [howto, manual, or own class]).
++latex_documents = [
++    ('index', 'nlsr-docs.tex', u'Named Data Link State Routing Protocol (NLSR)',
++     author, 'manual'),
++]
+ 
+ 
+ # -- Options for manual page output ------------------------------------------
+-# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-manual-page-output
+ 
+ # One entry per manual page. List of tuples
+ # (source start file, name, description, authors, manual section).
+ man_pages = [
+-    ('manpages/nlsr',      'nlsr',      'Named Data Link State Routing daemon', [], 1),
+-    ('manpages/nlsr.conf', 'nlsr.conf', 'Named Data Link State Routing daemon configuration file', [], 5),
+-    ('manpages/nlsrc',     'nlsrc',     'command-line utility to interact with and collect statistics from NLSR', [], 1),
++    ('manpages/nlsr',      'nlsr',      u'Named Data Link State Routing daemon', None, 1),
++    ('manpages/nlsr.conf', 'nlsr.conf', u'Named Data Link State Routing daemon configuration file', None, 5),
++    ('manpages/nlsrc',     'nlsrc',     u'command-line utility to interact with and collect statistics from NLSR', None, 1),
+ ]
+ 
++# If true, show URL addresses after external links.
++#man_show_urls = True
++
+ 
+-# -- Misc options ------------------------------------------------------------
++# -- Custom options ----------------------------------------------------------
+ 
+ doxylink = {
+     'nlsr': ('NLSR.tag', 'doxygen/'),
+ }
+ 
+ extlinks = {
+-    'issue': ('https://redmine.named-data.net/issues/%s', 'issue #%s'),
++    'issue': ('https://redmine.named-data.net/issues/%s', 'issue #'),
+ }
diff --git a/nlsr/debian/patches/series b/nlsr/debian/patches/series
new file mode 100644
index 0000000..661c3d7
--- /dev/null
+++ b/nlsr/debian/patches/series
@@ -0,0 +1 @@
+downgrade-sphinx.patch
