diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index 4156a5e..aa43bd6 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -24,7 +24,7 @@
 -  Fedora >= 24
 -  Gentoo Linux
 -  Raspbian >= 2017-08-16
--  FreeBSD 11.2
+-  FreeBSD >= 11.3
 
 Prerequisites
 -------------
@@ -33,20 +33,31 @@
 ~~~~~~~~~
 
 -  GCC >= 5.3, or clang >= 3.6
--  ``python2`` >= 2.7, or ``python3`` >= 3.4
--  Boost libraries >= 1.58
+-  Python >= 3.5
 -  ``pkg-config``
--  SQLite 3.x
+-  Boost >= 1.58
 -  OpenSSL >= 1.0.2
--  Apple Security framework (on macOS only)
+-  SQLite 3.x
 
-Following are the detailed steps for each platform to install the compiler, all necessary
-development tools and libraries, and ndn-cxx prerequisites.
+Following are the detailed steps for each platform to install the compiler and all necessary
+development tools and libraries that are required to build ndn-cxx from source.
+
+- Ubuntu
+
+    In a terminal, enter::
+
+        sudo apt install build-essential pkg-config python3-minimal libboost-all-dev libssl-dev libsqlite3-dev
+
+- Fedora
+
+    In a terminal, enter::
+
+        sudo yum install gcc-g++ boost-devel openssl-devel sqlite-devel
 
 - macOS
 
-    * Install Xcode from the App Store, or at least the Command Line Tools
-      (``xcode-select --install``)
+    * Install either Xcode (from the App Store) or the Command Line Tools
+      (with ``xcode-select --install``)
 
     * If using Homebrew (recommended), enter the following in a terminal::
 
@@ -57,23 +68,11 @@
         If a major OS upgrade is performed after installing the dependencies
         with Homebrew, remember to reinstall all packages.
 
-- Ubuntu
-
-    In a terminal, enter::
-
-        sudo apt install build-essential libboost-all-dev libssl-dev libsqlite3-dev pkg-config python-minimal
-
-- Fedora
-
-    In a terminal, enter::
-
-        sudo yum install gcc-g++ sqlite-devel boost-devel openssl-devel
-
 - FreeBSD
 
     In a terminal, enter::
 
-        sudo pkg install python pkgconf sqlite3 boost-libs
+        sudo pkg install pkgconf python3 boost-libs openssl sqlite3
 
 Optional:
 ~~~~~~~~~
@@ -83,15 +82,10 @@
 
 -  ``doxygen``
 -  ``graphviz``
--  ``python-sphinx``
+-  ``sphinx``
 -  ``sphinxcontrib-doxylink``
 
-The following lists steps for common platforms to install these prerequisites:
-
-- On macOS with Homebrew and pip::
-
-    brew install doxygen graphviz
-    sudo pip install sphinx sphinxcontrib-doxylink
+The following lists the steps to install these prerequisites on various common platforms.
 
 - On Ubuntu::
 
@@ -103,9 +97,14 @@
     sudo yum install doxygen graphviz python-sphinx
     sudo pip install sphinxcontrib-doxylink
 
+- On macOS::
+
+    brew install doxygen graphviz
+    sudo pip install sphinx sphinxcontrib-doxylink
+
 - On FreeBSD::
 
-    sudo pkg install doxygen graphviz py27-sphinx
+    sudo pkg install doxygen graphviz py37-sphinx
 
 
 .. _build:
diff --git a/docs/conf.py b/docs/conf.py
index 7e73680..2e3a1df 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -58,12 +58,7 @@
         sys.stderr.write("Extension '%s' not found. "
                          "Some documentation may not build correctly.\n" % extension)
 
-if sys.version_info[0] >= 3:
-    addExtensionIfExists('sphinxcontrib.doxylink')
-
-# sphinxcontrib.googleanalytics is currently not working with the latest version of Sphinx
-# if os.getenv('GOOGLE_ANALYTICS', None):
-#     addExtensionIfExists('sphinxcontrib.googleanalytics')
+addExtensionIfExists('sphinxcontrib.doxylink')
 
 # The master toctree document.
 master_doc = 'index'
@@ -157,7 +152,3 @@
 extlinks = {
     'issue': ('https://redmine.named-data.net/issues/%s', 'issue #'),
 }
-
-if os.getenv('GOOGLE_ANALYTICS', None):
-    googleanalytics_id = os.environ['GOOGLE_ANALYTICS']
-    googleanalytics_enabled = True
diff --git a/docs/release-notes/release-notes-0.2.0.rst b/docs/release-notes/release-notes-0.2.0.rst
index 0a8c10f..26ab722 100644
--- a/docs/release-notes/release-notes-0.2.0.rst
+++ b/docs/release-notes/release-notes-0.2.0.rst
@@ -10,16 +10,16 @@
 
 - **Base**
 
-  + The license under which the library is released is changed to **Lesser GNU Public
-    License version 3.0**.
+  + The license under which the library is released is changed to the **GNU Lesser
+    General Public License version 3.0**
 
   + New ways to use incoming Interest dispatching:
 
     * New :ndn-cxx:`InterestFilter` abstraction that supports filtering based on name
       prefixes and regular expressions.
 
-    * Separated :ndn-cxx:`Face::registerPrefix()` and :ndn-cxx:`Face::setInterestFilter()`
-      methods allow distinct operations of registering with the local NDN forwarder and setting
+    * Separate ``Face::registerPrefix()`` and ``Face::setInterestFilter()`` methods
+      allow distinct operations of registering with the local NDN forwarder and setting
       up application-specific ``OnInterest`` call dispatch using InterestFilters.
 
   + Add support for new `NDN naming conventions
@@ -41,22 +41,21 @@
 
 - **Wire encoding**
 
-  + :ndn-cxx:`Data::getFullName() <getFullName()>` method to get :ndn-cxx:`Data` packet
-    name with implicit digest
+  + ``Data::getFullName()`` method to get the Data packet name including the implicit digest
 
-  + New :ndn-cxx:`Name::getSuccessor()` method to get name successor (:issue:`1677`)
+  + ``Name::getSuccessor()`` method to get name successor (:issue:`1677`)
 
   + New in-wire refreshing of Interest's nonce (:issue:`1758`)
 
 - **Management**
 
-  + Support for :ndn-cxx:`ChannelStatus`, :ndn-cxx:`StrategyChoice` datasets
+  + Support for :ndn-cxx:`ChannelStatus` and :ndn-cxx:`StrategyChoice` datasets
 
   + Defining new common Route Origins for NFD RIB management protocol (:issue:`1719`)
 
-  + New RibEntry and Route data structures for RIB management protocol (:issue:`1764`)
+  + New ``RibEntry`` and ``Route`` data structures for RIB management protocol (:issue:`1764`)
 
-  + Add support for RIB flags for setInterestFilter and registerPrefix (:issue:`1842`)
+  + Add support for RIB flags in ``setInterestFilter()`` and ``registerPrefix()`` (:issue:`1842`)
 
 - **Miscellaneous tools**
 
@@ -71,7 +70,7 @@
 
 - **Build**
 
-  + enabled support of precompiled headers for clang and gcc compilers to speed up compilation
+  + Enabled support of precompiled headers for clang and gcc compilers to speed up compilation
 
 Updates and bug fixes:
 ^^^^^^^^^^^^^^^^^^^^^^
@@ -84,13 +83,13 @@
     :ndn-cxx:`Face::put` methods (:issue:`1774`)
 
   + Cleaning up transport state on communication failure, so Face can try to reconnect
-    in the future.
+    in the future
 
-  + Fix bug with Face::removePendingInterest (:issue:`1917`)
+  + Fix bug in ``Face::removePendingInterest`` (:issue:`1917`)
 
 - **Wire encoding**
 
-  + Nonce field is now encoded as 4-byte uint8_t value, as defined by NDN-TLV spec.
+  + The Nonce field is now encoded as a 4-byte value, as defined by NDN-TLV spec
 
   + Optimized Data packet signing
 
@@ -104,27 +103,27 @@
 
 - **Management**
 
-  + Add link-layer byte counts in FaceStatus data structure (:issue:`1765`)
+  + Add link-layer byte counts in ``FaceStatus`` data structure (:issue:`1765`)
 
 - **Security**
 
   + Allow user to explicitly specify the cert name prefix before 'KEY' component in
     ``ndnsec-certgen``
 
-  + ``SignatureSha256`` has been renamed to :ndn-cxx:`DigestSha256` to conform with
-    `NDN-TLV specification <http://named-data.net/doc/ndn-tlv/>`_.
+  + ``SignatureSha256`` has been renamed to :ndn-cxx:`DigestSha256` to conform to
+    `NDN-TLV specification <http://named-data.net/doc/ndn-tlv/>`_
 
-  + Add checking of ``Timestamp`` and ``Nonce`` fields in signed Interest within
+  + Add checking of Timestamp and Nonce fields in signed Interest within
     :ndn-cxx:`ValidatorConfig`
 
-  + Allow validator customization using hooks:
+  + Allow validator customization using hooks.
 
     Sub-classes of :ndn-cxx:`Validator` class can use the following hooks to fine-tune the
     validation process:
 
-      * ``preCertificateValidation`` to process received certificate before validation.
+      * ``preCertificateValidation`` to process received certificate before validation
       * ``onTimeout`` to process interest timeout
-      * ``afterCheckPolicy`` to process validation requests.
+      * ``afterCheckPolicy`` to process validation requests
 
   + Fix memory issues in ``SecPublicInfoSqlite3``
 
@@ -164,7 +163,7 @@
 Removed:
 ^^^^^^^^
 
-- support of ndnd-tlv (only NFD management protocol is supported now)
+- Support for ndnd-tlv (only NFD management protocol is supported now)
 
 - ``SecPublicInfoMemory`` and ``SecTpmMemory`` classes that were no longer used
 
diff --git a/docs/release-notes/release-notes-0.6.1.rst b/docs/release-notes/release-notes-0.6.1.rst
index 2770915..c1f5a4f 100644
--- a/docs/release-notes/release-notes-0.6.1.rst
+++ b/docs/release-notes/release-notes-0.6.1.rst
@@ -13,50 +13,40 @@
 - New signal in :ndn-cxx:`SegmentFetcher` to notify retrieval of Data segments
   (:issue:`4438`)
 
-- Initial support for the Content Store management protocol
-  (:issue:`4050`)
+- Initial support for the Content Store management protocol (:issue:`4050`)
 
 - Literal operators for ``time::duration`` types, such as ``1_s``, ``42_ms``, ``30_days``
   (:issue:`4468`)
 
 - Support for BLAKE2 hash function (requires OpenSSL >= 1.1.0)
 
-- A ``escape()`` helper function complementing the existing ``unescape()`` (:issue:`4484`)
+- An ``escape()`` helper function complementing the existing ``unescape()`` (:issue:`4484`)
 
 Improvements and bug fixes
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 - ``ndnsec key-gen`` command line now allows customization of key ID (:issue:`4294`)
 
-- Fixed encoding of ``'~'`` and ``'+'`` in :ndn-cxx:`Component::toUri()`
-  (:issue:`4484`)
+- Fixed encoding of ``'~'`` and ``'+'`` in ``name::Component::toUri()`` (:issue:`4484`)
 
-- Fixed handling of large dates when converting to/from string
-  (:issue:`4478`, :issue:`3915`)
+- Fixed handling of large dates when converting to/from string (:issue:`4478`, :issue:`3915`)
 
-- Fixed error handling in :ndn-cxx:`KeyChain::importSafeBag()`
-  (:issue:`4359`)
+- Fixed error handling in ``KeyChain::importSafeBag()`` (:issue:`4359`)
 
-- Fixed parsing of IPv6 addresses with scope-id
-  (:issue:`4474`)
+- Fixed parsing of IPv6 addresses with scope-id (:issue:`4474`)
 
-- :ndn-cxx:`io::load()` now handles empty files properly
-  (:issue:`4434`)
+- ``io::load()`` now handles empty files properly (:issue:`4434`)
 
-- Switched to using `boost::asio::basic_waitable_timer`
-  (:issue:`4431`)
+- Switched to using ``boost::asio::basic_waitable_timer`` (:issue:`4431`)
 
-- Allow linking multiple :ndn-cxx:`DummyClientFace` instances together to emulate a broadcast medium
-  (:issue:`3913`)
+- Allow linking multiple :ndn-cxx:`DummyClientFace` instances together to emulate a broadcast
+  medium (:issue:`3913`)
 
-- Fixed build when ``std::to_string`` is not available
-  (:issue:`4393`)
+- Fixed build when ``std::to_string`` is not available (:issue:`4393`)
 
-- Avoid undefined behavior when casting to :ndn-cxx:`tlv::SignatureTypeValue`
-  (:issue:`4370`)
+- Avoid undefined behavior when casting to :ndn-cxx:`tlv::SignatureTypeValue` (:issue:`4370`)
 
-- Fixed compilation with Boost 1.66.0
-  (:issue:`4422`)
+- Fixed compilation with Boost 1.66.0 (:issue:`4422`)
 
 - Various documentation updates
   (:issue:`3918`, :issue: `4184`, :issue: `4275`)
@@ -64,6 +54,4 @@
 Removed
 ^^^^^^^
 
-- Removed obsolete TLV-TYPE constants
-  (:issue:`4055`, :issue:`3098`, :issue: `3755`)
-
+- Removed obsolete TLV-TYPE constants (:issue:`4055`, :issue:`3098`, :issue: `3755`)
