Prepare release 0.6.0

Change-Id: I0a80e05ddf5e3b98544bf56575e13efae22ccb5b
Refs: #4275
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/"