diff --git a/docs/FAQ.rst b/docs/FAQ.rst
index 77a5498..4415ef1 100644
--- a/docs/FAQ.rst
+++ b/docs/FAQ.rst
@@ -25,47 +25,6 @@
 
         ./waf configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man
 
-How to run NFD on Raspberry Pi?
--------------------------------
-
-To run NFD on the Raspberry Pi, you need to either enable IPv6 support
-in Raspberry Pi or disable IPv6 support in NFD.
-
-To enable IPv6 in Raspberry Pi:
-
-::
-
-    sudo modprobe ipv6
-
-To disable IPv6 in NFD, replace ``enable_v6 yes`` with ``enable_v6 no``
-in ``tcp`` and ``udp`` sections of ``/usr/local/etc/ndn/nfd.conf``:
-
-::
-
-    ...
-    tcp
-    {
-      listen yes
-      port 6363
-      enable_v4 yes
-      enable_v6 no
-    }
-
-    udp
-    {
-      port 6363
-      enable_v4 yes
-      enable_v6 no
-      idle_timeout 600
-      keep_alive_interval 25
-
-      mcast yes
-      mcast_port 56363
-      mcast_group 224.0.23.170
-    }
-    ...
-
-
 How to run NFD as non-root user?
 --------------------------------
 
@@ -95,7 +54,6 @@
     root). However, reducing privileges may limit any damaged caused by well intentioned,
     but buggy, code.
 
-
 How to enable Ethernet Face Support?
 ++++++++++++++++++++++++++++++++++++
 
@@ -147,19 +105,18 @@
 How to configure NFD security?
 ------------------------------
 
-.. note:: Sample configuration file of NFD allow any user to manage faces, FIB, RIB, and
-    StrategyChoice.  The following description can be used to restrict certain operations
-    to certain users.
+.. note:: The sample configuration file of NFD allow any user to manage faces, FIB, RIB, and
+    StrategyChoice of the local NFD.  The following description can be used to restrict certain
+    operations to certain users.
 
-    More extensive documentation about NFD's security and options to configure trust model
-    for NFD is currently in preparation.
+    More extensive documentation about NFD's security and options to configure trust model for
+    NFD is currently in preparation.
 
-Many NFD management protocols require signed commands to be processed
-(e.g. FIB modification, Face creation/destructions, etc.). You will need
-an NDN certificate to use any application that issues signed commands.
+Many NFD management protocols use commands Interests (e.g., FIB modification, Face
+creation/destructions, etc.), which require an NDN certificate (either self-signed for local
+trust or delegated from a trusted authority).
 
-If you do not already have NDN certificate, you can generate one with
-the following commands:
+If you do not already have NDN certificate, you can generate one with the following commands:
 
 **Generate and install a self-signed identity certificate**:
 
@@ -167,18 +124,15 @@
 
     ndnsec-keygen /`whoami` | ndnsec-install-cert -
 
-Note that the argument to ndnsec-key will be the identity name of the
-new key (in this case, ``/your-username``). Identity names are
-hierarchical NDN names and may have multiple components (e.g.
-``/ndn/ucla/edu/alice``). You may create additional keys and identities
-as you see fit.
+Note that the argument to ndnsec-key will be the identity name of the new key (in this case,
+``/your-username``). Identity names are hierarchical NDN names and may have multiple components
+(e.g.  ``/ndn/ucla/edu/alice``). You may create additional keys and identities as you see fit.
 
 **Dump the NDN certificate to a file**:
 
-The following commands assume that you have not modified ``PREFIX`` or
-``SYSCONFDIR`` If you have, please substitute ``/usr/local/etc`` for the
-appropriate value (the overriden ``SYSCONFDIR`` or ``PREFIX/etc`` if you
-changed ``PREFIX``).
+The following commands assume that you have not modified ``PREFIX`` or ``SYSCONFDIR`` If you
+have, please substitute ``/usr/local/etc`` for the appropriate value (the overriden
+``SYSCONFDIR`` or ``PREFIX/etc`` if you changed ``PREFIX``).
 
 ::
 
@@ -186,36 +140,9 @@
     ndnsec-cert-dump -i /`whoami` > default.ndncert
     sudo mv default.ndncert /usr/local/etc/ndn/keys/default.ndncert
 
-.. _How to start using NDN MacPorts repository on OSX:
-
-How to start using NDN MacPorts repository on OSX?
---------------------------------------------------
-
-Please see :ref:`Install NFD Using the NDN MacPorts Repository on OS X and macOS`.
-
 .. _How to start using NDN PPA repository on Ubuntu Linux:
 
 How to start using NDN PPA repository on Ubuntu Linux?
 ------------------------------------------------------
 
 Please see :ref:`Install NFD Using the NDN PPA Repository on Ubuntu Linux`.
-
-.. _How to start using NDN Overlay on Gentoo Linux:
-
-How to start using NDN Overlay on Gentoo Linux?
------------------------------------------------
-
-If you want to install NFD and other packages using Portage on Gentoo Linux, you can start
-using NDN Overlay.
-
-Simply checkout `NDN Overlay <https://github.com/Pesa/ndn-overlay>`_ repository to some
-location add the checkout path to ``PORTDIR_OVERLAY`` in ``/etc/portage/make.conf``:
-
-::
-
-    cd /some/path
-    git clone https://github.com/Pesa/ndn-overlay.git
-
-    # and then add /some/path/ndn-overlay to PORTDIR_OVERLAY in /etc/portage/make.conf
-
-Afterwards, you will be able to install ``nfd`` using standard mechanisms.
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index b83c3a7..8d4f08b 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -5,67 +5,18 @@
 ----------------------------
 
 We provide NFD binaries for the supported platforms, which are the preferred installation
-method. In addition to simplifying installation, the binary release also includes
-automatic initial configuration and platform-specific tools to automatically start NFD and
-related daemons.  In particular, on OS X and macOS NFD is controlled using `launchd
-<https://github.com/named-data/NFD/tree/master/contrib/osx-launchd>`__ and on Ubuntu using
-`upstart <https://github.com/named-data/NFD/tree/master/contrib/upstart>`__ mechanisms.
-In both cases, `nfd-start` and `nfd-stop` scripts are convenience wrappers for launchd and
-upstart.
+method. In addition to simplifying installation, the binary release also includes automatic
+initial configuration and platform-specific tools to automatically start NFD and related
+daemons.  In particular, on macOS the binary release of NFD comes as part of `NDN Control
+Center <https://named-data.net/codebase/applications/ndn-control-center/>`__ and provides a
+convenient way to configure and launch NFD daemon.  :ref:`PPA packages for Ubuntu <Install NFD
+Using the NDN PPA Repository on Ubuntu Linux>` include ``upstart`` and ``systemd``
+configuration to automatically start daemon after boot.
 
-On OS X and macOS, NFD can be installed with MacPorts.  Refer to :ref:`Install NFD Using the NDN
-MacPorts Repository on OS X and macOS` for more details.
-
-On Ubuntu 14.04 and 16.04, NFD can be installed from NDN PPA repository.  Refer to
-:ref:`Install NFD Using the NDN PPA Repository on Ubuntu Linux`.
-
-Future releases could include support for other platforms.  Please send us feedback on the
-platforms you're using, so we can prioritize our goals.  We would also appreciate help
-packaging the current NFD release for other platforms.
-
-
-.. _Install NFD Using the NDN MacPorts Repository on OS X and macOS:
-
-Install NFD Using the NDN MacPorts Repository on OS X and macOS
----------------------------------------------------------------
-
-OS X and macOS users have the opportunity to seamlessly install and run NFD as well as other
-related applications via `MacPorts <https://www.macports.org/>`_.  If you are not using MacPorts
-yet, go to the `MacPorts website <https://www.macports.org/install.php>`_ and install the
-MacPorts package.
-
-NFD and related ports are not part of the official MacPorts repository. In order to use
-these ports, you will need to add the NDN MacPorts repository to your local configuration.
-In particular, you will need to modify the list of source URLs for MacPorts.  For example,
-if your MacPorts are installed in ``/opt/local``, add the following line to
-`/opt/local/etc/macports/sources.conf` before or after the default port repository:
-
-::
-
-    rsync://macports.named-data.net/macports/
-
-After this step, you can use ``sudo port selfupdate`` to fetch updated port definitions.
-
-The following command will install NFD using MacPorts:
-
-::
-
-    sudo port install nfd
-
-.. note::
-
-    You have to have XCode installed on your machine. This can be installed from the
-    AppStore (free) on OS X 10.7 or later. Older editions of OS X can download an
-    appropriate version of XCode from http://developer.apple.com.
-
-
-One advantage of using MacPorts is that you can easily upgrade NFD and other packages to
-the latest version.  The following commands will do this job:
-
-::
-
-    sudo port selfupdate
-    sudo port upgrade nfd
+Besides officially supported platforms, NFD is known to work on: Fedora 20+, CentOS 6+, Gentoo
+Linux, Raspberry Pi, OpenWRT, FreeBSD 10+, and several `other platforms
+<https://redmine.named-data.net/projects/nfd/wiki/Wiki#Installation-experiences-for-selected-platforms>`__.
+We would also appreciate feedback and help packaging NDN releases for other platforms.
 
 .. _Install NFD Using the NDN PPA Repository on Ubuntu Linux:
 
@@ -76,8 +27,8 @@
 packages from named-data repository.  First, you will need to add ``named-data/ppa``
 repository to binary package sources and update list of available packages.
 
-Preliminary steps if you haven't used PPA packages before
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Preliminary steps if you have not used PPA packages before
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 To simplify adding new PPA repositories, Ubuntu provides ``add-apt-repository`` tool,
 which is not installed by default on some systems.
@@ -120,7 +71,7 @@
 
 The first step is to obtain the source code for ``NFD`` and, its main dependency, the
 ``ndn-cxx`` library.  If you are not planning to work with the bleeding edge code, make
-sure you checkout the correct release tag (e.g., ``*-0.2.0``) for both repositories:
+sure you checkout the correct release tag (e.g., ``*-0.6.0``) for both repositories:
 
 ::
 
@@ -130,67 +81,49 @@
     # Download NFD
     git clone --recursive https://github.com/named-data/NFD
 
+.. note::
+   While we strive to ensure that the latest version (master branch) of NFD and ndn-cxx
+   always properly compiles and works, sometimes there could be problems.  In these cases, use
+   the latest released version.
+
 Prerequisites
 ~~~~~~~~~~~~~
 
--  Install the `ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/INSTALL.html>`_
-   and its requirements
+Install the `ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/INSTALL.html>`__ and its requirements
 
--  ``pkg-config``
-
-   On OS X / macOS with MacPorts:
+-  On macOS with Homebrew:
 
    ::
 
-       sudo port install pkgconfig
+      brew install boost openssl pkg-config
 
-   On Ubuntu:
+- On Ubuntu:
 
    ::
 
-       sudo apt-get install pkg-config
-
--  ``libpcap``
-
-   Comes with the base system on OS X / macOS.
-
-   On Ubuntu:
-
-   ::
-
-       sudo apt-get install libpcap-dev
+       sudo apt-get install build-essential pkg-config libboost-all-dev \
+                            libsqlite3-dev libssl-dev libpcap-dev
 
 To build manpages and API documentation:
 
--  ``doxygen``
--  ``graphviz``
--  ``python-sphinx``
-
-   On OS X / macOS with MacPorts:
+- On macOS with Homebrew:
 
    ::
 
-       sudo port install doxygen graphviz py27-sphinx sphinx_select
-       sudo port select sphinx py27-sphinx
+       brew install doxygen graphviz
+       sudo easy_install pip
+       sudo pip Sphinx
 
-   On Ubuntu:
+- On Ubuntu:
 
    ::
 
        sudo apt-get install doxygen graphviz python-sphinx
 
-
-Besides officially supported platforms, NFD is known to work on: Fedora 20, CentOS 6/7, Gentoo Linux,
-Raspberry Pi, OpenWRT, FreeBSD 10.0, and several other platforms.  We are soliciting help
-with documenting common problems / pitfalls in installing/using NFD on different platforms
-on `NFD Wiki
-<https://redmine.named-data.net/projects/nfd/wiki/Wiki#Installation-experiences-for-selected-platforms>`__.
-
-
 Build
 ~~~~~
 
-The following basic commands should be used to build NFD on Ubuntu:
+The following basic commands should be used to build NFD on Ubuntu and macOS with Homebrew:
 
 ::
 
@@ -198,7 +131,7 @@
     ./waf
     sudo ./waf install
 
-If you have installed `ndn-cxx` library and/or other dependencies into a non-standard paths, you
+If you have installed ``ndn-cxx`` library and/or other dependencies into a non-standard path, you
 may need to modify ``PKG_CONFIG_PATH`` environment variable before running ``./waf configure``.
 For example,
 
@@ -209,7 +142,6 @@
     ./waf
     sudo ./waf install
 
-
 Refer to ``./waf --help`` for more options that can be used during ``configure`` stage and
 how to properly configure and run NFD.
 
@@ -234,11 +166,14 @@
     ./waf
     sudo ./waf install
 
+.. note::
+   For Ubuntu PPA packages debug symbols are available in ``*-dbg`` packages.
+
 Customize Compiler
 ~~~~~~~~~~~~~~~~~~
 
 To choose a custom C++ compiler for building NFD, set the ``CXX`` environment variable
-to point to the compiler binary. For example, when using the clang compiler on a Linux
+to point to the compiler binary. For example, to select the clang compiler on a Linux
 system, use the following:
 
 ::
@@ -271,7 +206,6 @@
 
 For more details, refer to ``./waf --help``.
 
-
 Initial configuration
 ---------------------
 
@@ -297,7 +231,7 @@
 particular, one can authorize only specific public keys to create new Faces or change the
 forwarding strategy for specific namespaces. For more information about how to generate
 private/public key pair, generate self-signed certificate, and use this self-signed
-certificate to authorize NFD management commands refer to :ref:`How to configure NFD
+certificate to authorize NFD management commands, refer to :ref:`How to configure NFD
 security` FAQ question.
 
 In the sample configuration file, all authorizations are disabled, effectively allowing
@@ -310,8 +244,8 @@
 Starting
 ~~~~~~~~
 
-If you have installed NFD from source code, the recommended way of starting NFD is to use the
-`nfd-start` script:
+If you have installed NFD from source code, it is recommended to start NFD with the
+``nfd-start`` script:
 
 ::
 
@@ -323,7 +257,8 @@
 Later, you can stop NFD with ``nfd-stop`` or by simply killing the ``nfd`` process.
 
 If you have installed NFD using a package manager, you can start and stop NFD service using the
-operating system's service manager (such as Upstart, systemd, or launchd).
+operating system's service manager (such as Upstart, systemd, or launchd) or using
+"Automatically start NFD" option in NDN Control Center app.
 
 Connecting to remote NFDs
 ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -353,14 +288,11 @@
 
     route-add-accepted prefix=/ndn nexthop=308 origin=static cost=0 flags=child-inherit expires=never
 
-The ``/ndn`` means that NFD will forward all Interests that start with ``/ndn`` through
-the face to the other host.  If you only want to forward Interests with a certain prefix,
-use it instead of ``/ndn``.  This only forwards Interests to the other host, but there is
-no "back route" for the other host to forward Interests to you.  For that, you must go to
-the other host and use ``nfdc`` to add the route.
-
-The "back route" can also be automatically configured with ``nfd-autoreg``. For more
-information refer to :doc:`manpages/nfd-autoreg`.
+The ``/ndn`` means that NFD will forward all Interests that start with ``/ndn`` through the
+face to the other host.  If you only want to forward Interests with a certain prefix, use it
+instead of ``/ndn``.  This only forwards Interests to the other host, but there is no "back
+route" for the other host to forward Interests to you.  For that, you can rely on automatic
+prefix propagation feature of NFD or go to the other host and use ``nfdc`` to add the route.
 
 Playing with NFD
 ----------------
diff --git a/docs/release-notes-latest.rst b/docs/release-notes-latest.rst
index e77ea53..cbbc128 120000
--- a/docs/release-notes-latest.rst
+++ b/docs/release-notes-latest.rst
@@ -1 +1 @@
-release-notes/release-notes-0.5.1.rst
\ No newline at end of file
+release-notes/release-notes-0.6.0.rst
\ No newline at end of file
diff --git a/docs/release-notes/release-notes-0.6.0.rst b/docs/release-notes/release-notes-0.6.0.rst
new file mode 100644
index 0000000..1c33eea
--- /dev/null
+++ b/docs/release-notes/release-notes-0.6.0.rst
@@ -0,0 +1,124 @@
+NFD version 0.6.0
+-----------------
+
+Release date: October 16, 2017
+
+Changes since version 0.5.1:
+
+New features
+^^^^^^^^^^^^
+
+- Generic prefix readvertise capability with specific support of readvertise-to-NLSR
+  (:issue:`3818`)
+
+- Unicast Ethernet faces, including close-on-idle, persistency change,
+  fragmentation and reassembly features (:issue:`4011`, :issue:`4012`)
+
+- Capability to create permanent TCP faces (:issue:`3167`)
+
+- Configuration option to make UDP multicast and Ethernet multicast faces "ad hoc" (:issue:`4018`,
+  :issue:`3967`)
+
+- Replace ``Link`` with ``ForwardingHint`` as part of Interest processing (:issue:`4055`)
+
+- ``ForwardingHint`` stripped when Interest reaches producer region (:issue:`3893`)
+
+- New capabilities in multicast strategy:
+
+  * Nack support (:issue:`3176`)
+  * Consumer retransmission (:issue:`2062`)
+  * Per-upstream exponential suppression of retransmissions (:issue:`4066`)
+
+- Wildcard matching on interface names for whitelist/blacklist (:issue:`4009`)
+
+- Optional best-effort link-layer reliability feature in NDNLPv2 (:issue:`3931`)
+
+- Support for ``LpReliability`` flag in faces/create and faces/update (:issue:`4003`)
+
+- Advisory limit of ``NameTree`` depth (:issue:`4262`)
+
+- `Contributing guide <https://github.com/named-data/NFD/>`__ and `code of conduct
+  <https://github.com/named-data/NFD/>`__ (:issue:`3898`)
+
+Updates
+^^^^^^^
+
+- Allow forwarding of Interest/Data to ad hoc face regardless if the Interest/Data came from
+  the same face (:issue:`3968`)
+
+- Interpret omitted ``FreshnessPeriod`` as "always stale" (:issue:`3944`)
+
+- Duplicate nonce from same face is no longer considered "loop" (:issue:`3888`)
+
+- Refactor :doc:`nfdc command-line tool <../manpages/nfdc>` (:issue:`3864`, :issue:`3866`)
+
+- Accept ``LocalUri`` in ``ProtocolFactory`` and ``FaceManager`` (:issue:`4016`)
+
+- Abstract ``Nack`` processing out of ``BestRouteStrategy2`` (:issue:`3176`)
+
+- Rework ``FacePersistency`` handling in faces/create and faces/update (:issue:`3232`)
+
+  * Enable changing persistency in faces/update command
+  * Reject faces/create request if the face already exists
+
+- RIB updates to follow API changes in ndn-cxx library (:issue:`3903`)
+
+- Switch to V2 security framework (:issue:`4089`)
+
+- Use ``NetworkMonitor``, ``NetworkInterface``, ``lp::isLessSevere`` from ndn-cxx
+  (:issue:`4021`, :issue:`4228`)
+
+- Move ``Channel`` and subclasses into ``nfd::face`` namespace
+
+- Improve consistency of logging in channels (:issue:`2561`)
+
+- Change ``ndn-autoconfig`` tool to register ``/`` prefix instead of ``/ndn`` (:issue:`4201`)
+
+- Documentation improvements
+
+Bugfixes
+^^^^^^^^
+
+- In ASF strategy add check for FaceInfo existence before using it (:issue:`3968`)
+
+- Avoid setting TransportState to FAILED if connection is closed cleanly (:issue:`4099`)
+
+- Fix regression ``ndn-autoconfig`` continue proceeding with existing face (:issue:`4008`)
+
+- Decode ``CachePolicy`` without requiring ``allowLocalFields`` (:issue:`3966`)
+
+- Fix support for link-local IPv6 addresses (:issue:`1428`)
+
+- Fix potential misaligned memory accesses (:issue:`4191`)
+
+Deletions
+^^^^^^^^^
+
+- Deprecated code, including ``faces/enable-local-control`` and ``faces/disable-local-control``
+  management commands (:issue:`3988`)
+
+- ``NetworkInterfaceInfo`` class, replaced by ``ndn::net::NetworkInterface`` from ndn-cxx
+  (:issue:`4021`)
+
+- Legacy nfdc and nfd-status invocations
+
+  The following legacy nfdc sub-commands are deleted, use the corresponding ``nfdc face ...``,
+  ``nfdc route ...``, ``nfdc strategy ...`` commands:
+
+  * ``register``
+  * ``unregister``
+  * ``create``
+  * ``destroy``
+  * ``set-strategy``
+  * ``unset-strategy``
+  * ``add-nexthop``
+  * ``remove nexthop``
+
+- ``nfd-status`` no longer accepts command line arguments (:issue:`4198`).  Individual datasets
+  can be requested using ``nfdc channel list``, ``nfdc face list``, ``nfdc fib list``, ``nfdc
+  route list``, and ``nfdc strategy list`` commands.
+
+- ``nfdId`` from ``nfdc status`` output (:issue:`4089`)
+
+- Prohibited endpoint set, making it possible to create faces that connect NFD to itself
+  (:issue:`4189`)
diff --git a/docs/releases.rst b/docs/releases.rst
index 49d8fe2..4fb2512 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -5,6 +5,7 @@
    :hidden:
    :maxdepth: 1
 
+   release-notes/release-notes-0.6.0
    release-notes/release-notes-0.5.1
    release-notes/release-notes-0.5.0
    release-notes/release-notes-0.4.1
@@ -17,6 +18,12 @@
    release-notes/release-notes-0.2.0
    release-notes/release-notes-0.1.0
 
+* **NFD version 0.6.0**
+  (:doc:`Release Notes <release-notes/release-notes-0.6.0>`, `Documentation <https://named-data.net/doc/NFD/0.6.0/>`__)
+
+  `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.6.0>`__,
+  `src (tarball) <https://named-data.net/downloads/nfd-0.6.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.6.0.tar.bz2.sha256>`__)
+
 * **NFD version 0.5.1**
   (:doc:`Release Notes <release-notes/release-notes-0.5.1>`, `Documentation <https://named-data.net/doc/NFD/0.5.1/>`__)
 
diff --git a/wscript b/wscript
index 873b3c4..ffa6052 100644
--- a/wscript
+++ b/wscript
@@ -24,7 +24,7 @@
 NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
 """
 
-VERSION = "0.5.1"
+VERSION = "0.6.0"
 APPNAME = "nfd"
 BUGREPORT = "https://redmine.named-data.net/projects/nfd"
 URL = "https://named-data.net/doc/NFD/"
