diff --git a/AUTHORS.md b/AUTHORS.rst
similarity index 80%
rename from AUTHORS.md
rename to AUTHORS.rst
index 4b7ca13..2bd28bb 100644
--- a/AUTHORS.md
+++ b/AUTHORS.rst
@@ -1,4 +1,5 @@
-# Mini-NDN Authors
+Mini-NDN Authors
+=================
 
 The following lists maintainers, primary developers, and all much-appreciated contributors to Mini-NDN in alphabetic order.
 The specific contributions of individual authors can be obtained from the git history of the [official Mini-NDN repository](https://github.com/named-data/mini-ndn).
@@ -8,22 +9,29 @@
 * Muktadir R. Chowdhury <https://github.com/alvyC>
 * Damian Coomes <https://github.com/dmcoomes>
 * ***(Maintainer)*** Saurab Dulal <https://dulalsaurab.github.io>
+* Laqin Fan <https://github.com/laqinfan>
 * ***(Former Maintainer)*** Ashlesh Gawande <https://www.linkedin.com/in/agawande>
 * Nicholas Gordon <https://github.com/gorgonical>
-* ***(Maintainer)*** Alexander Lane <https://github.com/zephyrmoth>
+* Giovanni Grieco <https://github.com/GiovanniGrieco>
+* ***(Maintainer)*** Alexander Lane <https://github.com/awlane>
 * Vince Lehman <http://vslehman.com>
 * Philipp Moll <https://github.com/phylib>
 * Eric Newberry <https://ericnewberry.com>
 * Junxiao Shi <https://cs.arizona.edu/~shijunxiao>
 * Jeff Thompson <https://remap.ucla.edu/jeff-thompson>
 * Yucheng Zhang <https://peterskycloud.wixsite.com/yzportfolio>
+* Italo Valcy S Brito <https://github.com/italovalcy>
 
-## Technical Advisors
+
+Technical Advisors
+-------------------
 
 * Lan Wang <http://www.cs.memphis.edu/~lanwang>
 * Beichuan Zhang <http://cs.arizona.edu/~bzhang>
 
-## The Mini-CCNx team
+
+The Mini-CCNx team
+-------------------
 
 * Carlos Cabral <https://github.com/carlosmscabral>
 * Caio de Moraes Elias <https://github.com/ocaio>
diff --git a/docs/authors.rst b/docs/authors.rst
new file mode 100644
index 0000000..94292d0
--- /dev/null
+++ b/docs/authors.rst
@@ -0,0 +1 @@
+.. include:: ../AUTHORS.rst
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
index 54591c1..45fb6f2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -53,4 +53,9 @@
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
\ No newline at end of file
+html_static_path = ['_static']
+
+# Need to specify the line below if custom conf.py
+# https://github.com/readthedocs/readthedocs.org/issues/2569
+# https://stackoverflow.com/questions/56336234/build-fail-sphinx-error-contents-rst-not-found
+master_doc = 'index'
diff --git a/docs/experiment.rst b/docs/experiment.rst
index 58cc303..af95117 100644
--- a/docs/experiment.rst
+++ b/docs/experiment.rst
@@ -128,6 +128,10 @@
 in the ``minindn/apps`` folder. Or users may choose to directly run their application on nodes
 such as ndnpingserver is run in ``minindn/helpers/experiment.py``.
 
+**Note:** A certain log-level can be set-up for all the NFD or NLSR nodes at once by passing it as an argument during the startup.
+
+``nfds = AppManager(self.ndn, self.ndn.net.hosts, Nfd, logLevel='DEBUG')`` (same for NLSR)
+
 Execution
 ---------
 
@@ -233,3 +237,25 @@
 ``/tmp/minindn/<node-name>/security`` Note that no NLSR publishes the root
 certificate, Mini-NDN installs root.cert in security folder for each
 NLSR.
+
+Routing Options
+----------------
+
+Link State Routing (NLSR)
+_________________________
+By default, Mini-NDN uses `NLSR <https://github.com/named-data/NLSR>`__ for route management i.e route computation, route installation and so on. Additionally, the command line utility ``nlsrc`` can be used to advertise and withdraw prefixes and route status.
+
+
+NDN Routing Helper
+____________________
+Computes link-state or hyperbolic route/s from a given minindn topology and installs them in the FIB. The major benefit of the routing helper is to eliminate the overhead of NLSR when using larger topology. See ``examples/static_routing_experiment.py`` on how to use the helper class.
+
+**IMPORTANT:** NLSR and NDN Routing Helper are mutually exclusive, meaning you can only use one at a time, not both.
+
+**Note:** The current version of ``ndn_routing_helper`` is still in the experimental phase. It doesn't support node or link failure and runtime prefix advertisement/withdrawal. If you find any bug please report `here <https://redmine.named-data.net/projects/mini-ndn>`__ or contact the :doc:`authors <authors>`.
+
+IP Routing Helper
+____________________
+
+The routing helper allows to run IP-based evaluations with Mini-NDN. It configures static IP routes to all nodes, which means that all nodes can reach all other nodes in the network
+reachable, even when relaying is required. Please see ``examples/ip_rounting_experiment.py`` for a simple example.
diff --git a/docs/index.rst b/docs/index.rst
index d7d8f01..afc5d11 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -27,3 +27,4 @@
 * `Mininet Documentation <http://mininet.org/>`_
 * `Mini-NDN redmine <https://redmine.named-data.net/projects/mini-ndn>`_
 * `Mailing list <http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn>`_
+* :doc:`Mini-NDN Team <authors>`
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 79cbb0f..67c5fc4 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -1,6 +1,62 @@
 Release Notes
 =============
 
+Mini-NDN version 0.5.0 (Major changes since version 0.4.0)
+----------------------------------------------------------
+
+**Breaking Changes**:
+
+-  `Mini-NDN re-design <https://redmine.named-data.net/issues/5062>`__: simple and robust design with better quality, control, and more consistency with Mininet
+
+**New features**:
+
+-  Add a script to generate up-to-date NDN testbed topologies for Mini-NDN
+
+-  Add Mini-NDN utility application for PCAP logging
+
+-  Add NDN routing helper to compute centralized LS and HR routes
+
+-  Add routing helper to allow IP communication in experiments
+
+-  Add startup experiments for NLSR and current testbed topology
+
+-  Move the NDNPing wrapper method to a helper class
+
+-  Create a helper class to provide a wrapper around ``nfdc``
+
+**Improvements and Bug Fixes**:
+
+-  Change workDir and resultDir to be class attribute
+
+-  Quiet apt install for Vagrant
+
+-  Fix route computation bug in ``ndn_routing_helper``
+
+-  Fix overwriting of existing prefixes in ``ndn_routing_helper``
+
+-  Move log files to resultDir after evaluation finishes
+
+-  Check for duplicate HR coordinates in the topology file
+
+-  Check PSync integration and add a tests case for it
+
+-  Bug fixes in nfdc and experiments
+
+-  Added functionality to check Mini-NDN dependencies
+
+-  Parser fix to avoid an infinite loop
+
+-  Allow use of NFD and NLSR PPA with Mini-NDN
+
+-  Remove arbitrary arguments in favor of parsing arguments from experiment files
+
+-  Auto-complete command-line arguments
+
+-  Add option to set CS size
+
+-  Adjust to use ndn-cxx logging
+
+
 Mini-NDN version 0.4.0 (changes since version 0.3.0)
 ----------------------------------------------------
 
diff --git a/examples/ip_rounting_experiment.py b/examples/ip_rounting_experiment.py
index 8237b9b..7f3829f 100644
--- a/examples/ip_rounting_experiment.py
+++ b/examples/ip_rounting_experiment.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/examples/mnndn.py b/examples/mnndn.py
index d989633..d56c35f 100644
--- a/examples/mnndn.py
+++ b/examples/mnndn.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/examples/static_routing_experiment.py b/examples/static_routing_experiment.py
index a5d9b04..e683bc9 100644
--- a/examples/static_routing_experiment.py
+++ b/examples/static_routing_experiment.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/minindn/helpers/experiment.py b/minindn/helpers/experiment.py
index 226684e..a29272a 100644
--- a/minindn/helpers/experiment.py
+++ b/minindn/helpers/experiment.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/minindn/helpers/ndnpingclient.py b/minindn/helpers/ndnpingclient.py
index 8220a2d..37b63db 100644
--- a/minindn/helpers/ndnpingclient.py
+++ b/minindn/helpers/ndnpingclient.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/minindn/helpers/nfdc.py b/minindn/helpers/nfdc.py
index 4a9ebf2..16dabb8 100644
--- a/minindn/helpers/nfdc.py
+++ b/minindn/helpers/nfdc.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/minindn/helpers/process_monitor.py b/minindn/helpers/process_monitor.py
index 4fa3738..a202965 100644
--- a/minindn/helpers/process_monitor.py
+++ b/minindn/helpers/process_monitor.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
diff --git a/minindn/minindn.py b/minindn/minindn.py
index aa879cb..7b9c658 100644
--- a/minindn/minindn.py
+++ b/minindn/minindn.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
@@ -26,7 +26,7 @@
 import time
 import os
 import configparser
-from subprocess import call, check_output
+from subprocess import call, Popen, PIPE
 import shutil
 import glob
 
@@ -98,11 +98,13 @@
             self.ethernetPairConnectivity()
 
         try:
-            Minindn.ndnSecurityDisabled = '/dummy/KEY/-%9C%28r%B8%AA%3B%60' in \
-                                          check_output('ndnsec-get-default -k'.split()). \
-                                              decode('utf-8').split('\n')
-            if Minindn.ndnSecurityDisabled:
-                info('Dummy key chain patch is installed in ndn-cxx. Security will be disabled.\n')
+            process = Popen(['ndnsec-get-default', '-k'], stdout=PIPE, stderr=PIPE)
+            output, error = process.communicate()
+            if process.returncode == 0:
+              Minindn.ndnSecurityDisabled = '/dummy/KEY/-%9C%28r%B8%AA%3B%60' in output
+              info('Dummy key chain patch is installed in ndn-cxx. Security will be disabled.\n')
+            else:
+              debug(error)
         except:
             pass
 
diff --git a/minindn/util.py b/minindn/util.py
index dd46557..8584ffc 100644
--- a/minindn/util.py
+++ b/minindn/util.py
@@ -1,6 +1,6 @@
 # -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 #
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
 #                          Arizona Board of Regents,
 #                          Regents of the University of California.
 #
