diff --git a/AUTHORS b/AUTHORS
index 166e8d8..9a11633 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -19,3 +19,4 @@
   * Yuanzhi Gao                 <billmaxwell@ucla.edu>
   * Mohammad Sabet              <mhasabet@gmail.com>
   * Xinyu Ma                    <bitmxy@gmail.com>
+  * Chavoosh Ghasemi            <chghasemi@cs.arizona.edu>
diff --git a/docs/source/RELEASE_NOTES.rst b/docs/source/RELEASE_NOTES.rst
index 5220d11..1b91c76 100644
--- a/docs/source/RELEASE_NOTES.rst
+++ b/docs/source/RELEASE_NOTES.rst
@@ -5,6 +5,51 @@
 
 All of the ndnSIM documentation is accessible from the `ndnSIM website <http://ndnsim.net>`__.
 
+Release 2.7
+-----------
+
+Release date: February 24, 2019
+
+Overview
+~~~~~~~~
+
+- The submodules of NFD and ndn-cxx have been upgraded to version 0.6.5.
+
+  `NFD 0.6.5 release notes <https://named-data.net/doc/NFD/0.6.5/RELEASE_NOTES.html>`__
+
+  `ndn-cxx 0.6.5 release notes <https://named-data.net/doc/ndn-cxx/0.6.5/RELEASE_NOTES.html>`__
+
+    .. 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.
+
+- Base NS-3 was rebased to version 3.29
+
+- Following changes in NFD and ndn-cxx codebases, the build requirements have been upgraded to gcc
+  >= 5.3 or clang >= 3.6, boost >= 1.58, openssl >= 1.0.2. This effectively drops support for all
+  versions of Ubuntu older than 16.04 that use distribution-provided compilers and packages.
+
+- The compilation now uses the C++14 standard.
+
+Improvements and bug fixes
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Update face metric based on simulated p2p link delay (:issue:`4733`)
+
+- Remove and replace the previously deprecated and removed in NS-3.29 ``QueueBase::MaxPackets``
+
+- Update installation instructions
+
+Deprecation
+~~~~~~~~~~~
+
+- ndnSIM 2.7 is the last release that supports the legacy content store implementation.  The future versions
+  will only include content store replacement/placement policies implemented using NFD routines.  Please
+  refer to the latest version of NFD Developer's Guide for more information.
+
+********************************************************************************
+
 Release 2.6
 -----------
 
@@ -41,6 +86,7 @@
 
 - Updates of the ndnSIM documentation.
 
+********************************************************************************
 
 Release 2.5
 -----------
@@ -72,6 +118,8 @@
 
 - Updates of the ndnSIM documentation.
 
+********************************************************************************
+
 Release 2.4
 -----------
 
@@ -116,6 +164,8 @@
   * Added page about community contributions to the simulator.
   * CS tracer documentation update.
 
+********************************************************************************
+
 Release 2.3
 -----------
 
@@ -192,6 +242,8 @@
 
   * Added explanation about the support of NDNLPv2 and its implications.
 
+********************************************************************************
+
 Release 2.2
 -----------
 
@@ -409,11 +461,8 @@
   * In :ndnsim:`ndn::Producer` application that caused a wrong dummy signature to be added
     to the constructed data packets (:issue:`2927`)
 
-
-
 ********************************************************************************
 
-
 Release 2.0
 -----------
 
diff --git a/docs/source/_templates/indexcontent.html b/docs/source/_templates/indexcontent.html
index 4120c16..6254b41 100644
--- a/docs/source/_templates/indexcontent.html
+++ b/docs/source/_templates/indexcontent.html
@@ -59,8 +59,9 @@
       <td width="50%" valign="top">
         <h2>ndnSIM Versions</h2>
         <div class="tile">
-          <p class="biglink"><a class="biglink" href="#">ndnSIM 2.6</a><br/>
+          <p class="biglink"><a class="biglink" href="#">ndnSIM 2.7</a><br/>
             <span class="linkdescr">latest version</span></p>
+          <p class="biglink"><a class="biglink" href="http://ndnsim.net/2.6/">ndnSIM 2.6</a><br/>
           <p class="biglink"><a class="biglink" href="http://ndnsim.net/2.5/">ndnSIM 2.5</a><br/>
           <p class="biglink"><a class="biglink" href="http://ndnsim.net/2.4/">ndnSIM 2.4</a><br/>
           <p class="biglink"><a class="biglink" href="http://ndnsim.net/2.3/">ndnSIM 2.3</a><br/>
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index aff58e1..5645b5a 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -147,7 +147,7 @@
 :ndnsim:`Consumer` shows everything what happens in :ndnsim:`Face` and :ndnsim:`Consumer`
 classes::
 
-    NS_LOG=ndn.Face:ndn.Consumer ./waf --run=ndn-simple
+    NS_LOG=ndn.Consumer ./waf --run=ndn-simple
 
 Refer to the source code and NS-3 documentation to see what logging interfaces are
 available and about details how enable one or more logging interfaces.
diff --git a/docs/source/meta/copying.rst b/docs/source/meta/copying.rst
index 786e039..be9b65d 100644
--- a/docs/source/meta/copying.rst
+++ b/docs/source/meta/copying.rst
@@ -10,17 +10,22 @@
 ndnSIM uses a number of third-party software and libraries, licensed under the following
 licenses:
 
-- Boost libraries licensed under conditions of `Boost Software License 1.0`_
+- The Boost libraries are licensed under the
+  `Boost Software License 1.0`_
 
-- CryptoPP library is licensed under conditions of `Boost Software License 1.0`_
+- any-lite by Martin Moene is licensed under the
+  `Boost Software License 1.0`_
 
-- SQLite is in `public domain <http://www.sqlite.org/copyright.html>`__
+- optional-lite by Martin Moene is licensed under the
+  `Boost Software License 1.0`_
 
-- waf build system is licensed under conditions of `BSD license
-  <https://github.com/named-data/ndn-cxx/blob/master/waf>`__
+- variant-lite by Martin Moene is licensed under the
+  `Boost Software License 1.0`_
 
-- ndn-cxx library licensed under conditions of `GNU LGPL 3.0+
-  <https://github.com/named-data/ndn-cxx/blob/master/COPYING.md>`__
+- SQLite is in the `public domain <https://www.sqlite.org/copyright.html>`__
+
+- The waf build system is licensed under the terms of the
+  `BSD license <https://github.com/named-data/ndn-cxx/blob/master/waf>`__
 
 - NDN Forwarding Daemon (NFD) licensed under conditions of `GNU GPL 3.0+
   <https://github.com/named-data/NFD/blob/master/COPYING.md>`__
