diff --git a/docs/source/RELEASE_NOTES.rst b/docs/source/RELEASE_NOTES.rst
index babf221..d156da4 100644
--- a/docs/source/RELEASE_NOTES.rst
+++ b/docs/source/RELEASE_NOTES.rst
@@ -5,6 +5,89 @@
 
 All of the ndnSIM documentation is accessible from the `ndnSIM website <http://ndnsim.net>`__.
 
+Release 2.2 (Changes since release 2.1)
+---------------------------------------
+
+Release date: November 11, 2016
+
+Overview
+~~~~~~~~
+
+- The submodules of NFD and ndn-cxx have been both upgraded to version 0.4.1
+  (:issue:`3560`).
+
+  Features of NFD:
+
+    * Face system is refactored.
+    * Data Retrieval using full names is fixed.
+    * Allow setting CS capacity to 0.
+    * LinkService provides an "adaptation" layer to
+      translate between NDN packets and data blocks communicated through Transport.
+    * Face provides combines Transport and LinkServices, providing high-level
+      interface to work with Interest/Data/Nack packets inside NFD.
+    * Networking NACK in pipelines and best-route strategy.
+    * Refactored implementation of NFD management.
+    * Interest forwarding processes Link included in interest packets.
+
+  Features of ndn-cxx:
+
+    * LocalControlHeader for special signaling between application and NFD has
+      been replaced with NDNLPv2 signaling.
+    * NDNLPv2 Network NACK support in Face abstraction.
+    * New API in Face class to remove all pending Interests.
+
+  .. note::
+     In order to retrieve the marked versions of ndn-cxx and NFD, use
+     ``--recursive`` option to the git clone command or run ``git
+     submodule update --init`` after clone, pull, or merge.
+
+- Replace NetDeviceFace with NetDeviceFaceLinkService and AppFace with
+  AppFaceModel to match NFD's v0.4+ Face model (:issue:`3560`).
+
+  ndnSIM (for now) intentionally uses LinkService instead of Transport for
+  optimization purposes and in order to preserve ns3::Packet Tags. This
+  may be fixed in the future when there is a different mechanism to
+  propagate ns3 Tags.
+
+  .. note::
+     This version of dnSIM does not include support for NDNLPv2 and, thus, cannot
+     yet be used to simulate network-level NACKs across the simulated nodes.
+     This will be addressed in the next release of ndnSIM.
+
+- ndnSIM no longer officially support Ubuntu Linux 12.04, as it now requires
+  a more modern compiler version and dependent libraries.
+
+New features
+~~~~~~~~~~~~
+
+- The NetDevice address is now represented as a LocalUri instance for
+  NetDevice-based Faces (:issue:`2665`).
+
+- Enable configurability of NFD's managers (:issue:`3328`).
+
+  The managers of NFD can be enabled/disabled as specified in a simulation
+  scenario.
+
+Improvements and bug fixes
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Bugfix in RandomPolicy for the "old-style" ContentStore implementation.
+
+- Updates of the `ndnSIM 2 Technical Report <https://named-data.net/publications/techreports/ndn-0028-2-ndnsim-v2/>`__
+
+  Technical Report became up-to-date with the latest version of ndnSIM.
+  Please see report's change-log for more detailed information.
+
+- Updates of the ndnSIM documentation (:issue:`3835`)
+
+  * Updated out-dated statements about NFD's CS implementation (:issue:`3827`).
+  * Added explanation about the limited support of NDNLPv2 and its implications.
+  * Fixed description of the ConsumerBatches application.
+  * Added homebrew instructions for dependency installation on OS X.
+  * Added specification of ndn::CsTracer output format.
+
+********************************************************************************
+
 Release 2.1 (Changes since release 2.0)
 ---------------------------------------
 
@@ -37,7 +120,7 @@
   ndnSIM codebase adjusted to reflect API changes (:issue:`3122`)
 
 - NFD and ndn-cxx has been upgraded to version 0.3.4 (:issue:`3125`)
-  
+
 New features
 ~~~~~~~~~~~~
 
diff --git a/docs/source/_templates/indexcontent.html b/docs/source/_templates/indexcontent.html
index 0a9cfbb..1595e5d 100644
--- a/docs/source/_templates/indexcontent.html
+++ b/docs/source/_templates/indexcontent.html
@@ -56,8 +56,9 @@
       <td width="50%" valign="top">
         <h2>ndnSIM Versions</h2>
         <div class="tile">
-          <p class="biglink"><a class="biglink" href="#">ndnSIM 2.1</a><br/>
+          <p class="biglink"><a class="biglink" href="#">ndnSIM 2.2</a><br/>
             <span class="linkdescr">latest version</span></p>
+          <p class="biglink"><a class="biglink" href="http://ndnsim.net/2.1/">ndnSIM 2.1</a><br/>
           <p class="biglink"><a class="biglink" href="http://ndnsim.net/2.0/">ndnSIM 2.0</a><br/>
           <p class="biglink"><a class="biglink" href="http://ndnsim.net/1.0/">ndnSIM 1.0</a><br/>
         </div>
@@ -72,7 +73,7 @@
           <p>If you are referring to ndnSIM in a published work, please cite the following papers, not just the ndnSIM website. Thank you!
           <ul>
             <li>
-              S. Mastorakis, A. Afanasyev, I. Moiseenko, and L. Zhang, &#8220;ndnSIM 2.0: A new version of the NDN simulator for NS-3,&#8221; NDN, Technical Report NDN-0028, 2015 (<a class="reference external" href="http://named-data.net/techreport/ndn-0028-1-ndnsim-v2.pdf">PDF</a>) (<a class="reference external" href="http://lasr.cs.ucla.edu/afanasyev/bibwiki/bibtex/399">BibTex</a>)
+              S. Mastorakis, A. Afanasyev, I. Moiseenko, and L. Zhang, &#8220;ndnSIM 2.0: A new version of the NDN simulator for NS-3,&#8221; NDN, Technical Report NDN-0028, Revision 2, 2016 (<a class="reference external" href="http://named-data.net/techreport/ndn-0028-2-ndnsim-v2.pdf">PDF</a>) (<a class="reference external" href="http://lasr.cs.ucla.edu/afanasyev/bibwiki/bibtex/399">BibTex</a>)
             </li>
             <li>
             A. Afanasyev, I. Moiseenko, and L. Zhang, &#8220;ndnSIM: NDN simulator for NS-3,&#8221; NDN, Technical Report NDN-0005, 2012 (<a class="reference external" href="http://named-data.net/wp-content/uploads/TRndnsim.pdf">PDF</a>) (<a class="reference external" href="http://lasr.cs.ucla.edu/afanasyev/bibwiki/bibtex/367">BibTex</a>)
diff --git a/docs/source/applications.rst b/docs/source/applications.rst
index 8a316bf..8bb508d 100644
--- a/docs/source/applications.rst
+++ b/docs/source/applications.rst
@@ -178,8 +178,8 @@
 Custom applications
 +++++++++++++++++++
 
-Applications interact with the core of the system using :ndnsim:`AppFace` realization of Face abstraction.
-To simplify implementation of specific NDN application, ndnSIM provides a base :ndnsim:`App` class that takes care of creating :ndnsim:`AppFace` and registering it inside the NDN protocol stack, as well as provides default processing for incoming Interest and Data packets.
+Applications interact with the core of the system using :ndnsim:`AppLinkService` realization of link service abstraction.
+To simplify implementation of specific NDN application, ndnSIM provides a base :ndnsim:`App` class that takes care of creating :ndnsim:`AppLinkService` and registering it inside the NDN protocol stack, as well as provides default processing for incoming Interest and Data packets.
 
 .. Base App class
 .. ^^^^^^^^^^^^^^^^^^
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index f976b8d..27ca8df 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -97,8 +97,8 @@
 | Folder          | Description                                                         |
 +=================+=====================================================================+
 | ``model/``      | implementation of NDN base: :ndnsim:`L3Protocol`, faces             |
-|                 | (:ndnsim:`Face`, :ndnsim:`NetDeviceFace`,                           |
-|                 | :ndnsim:`AppFace`),                                                 |
+|                 | (:ndnsim:`Face`, :ndnsim:`NetDeviceLinkService`,                    |
+|                 | :ndnsim:`AppLinkService`),                                          |
 |                 | etc.                                                                |
 +-----------------+---------------------------------------------------------------------+
 | ``NFD/``        | submodule of `NDN Forwarding Daemon (NFD)`_ source code with few    |
