docs: Prepare version 0.4.0 release notes

Split the long release notes similar to NFD

Change-Id: If5ce5247bf74a4e402a33d92a35a686e7193dea1
diff --git a/docs/RELEASE-NOTES.rst b/docs/RELEASE-NOTES.rst
index ba62392..2a63dae 100644
--- a/docs/RELEASE-NOTES.rst
+++ b/docs/RELEASE-NOTES.rst
@@ -1,242 +1,4 @@
-Release Notes
-=============
+NLSR Release Notes
+==================
 
-NLSR version 0.3.2 (changes since version 0.3.1)
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release date: March 15, 2017
-
-**Changes**
-
-- NLSR constructor now accept a KeyChain argument. (:issue:`3742`)
-
-- Fix security rule for /localhop LSA prefix (:issue:`3899`)
-
-- Use ndn::nfd::ROUTE_ORIGIN_NLSR instead of a magic number. (:issue:`3903`)
-
-- Handle "Face Already Exists" error (error code 409) in NFD. (:issue:`3976`)
-
-- Enable NLSR to register localhost prefix with dispatcher before top-level prefix. (:issue:`3938`)
-
-- Don't use ndn aliases provided by ndn-cxx/common.hpp. (:issue:`3983`)
-
-- Remove use of deprecated code. (:issue:`3988`)
-
-NLSR version 0.3.1 (changes since version 0.3.0)
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release date: January 22, 2017
-
-**Changes**
-
-- **breaking change** Sync uses /localhop component in prefix to reduce duplicate NACKs (:issue:`3627`)
-
-- **breaking change** LSA uses /localhop component in prefix to reduce duplicate NACKs (:issue:`3899`)
-
-**Code Changes**:
-
-- Fib and FaceMap use std::map instead of std::list (:issue:`2781`)
-
-- NamePrefixTableEntries store RoutingTableEntries using a pointer (:issue:`2863`)
-
-- Namespace closing comments are now consistent with ndn-cxx guidelines (:issue:`3735`)
-
-- Update copyright date across all files (:issue:`3736`, `3909`, `3923`)
-
-- Improve formatting of FaceMap and FaceMapEntry (:issue:`3737`)
-
-- Sort NextHops on NexthopList insertion (:issue:`2721`)
-
-**Bug fixes**:
-
-- HR now recalculates paths after status change of a neighbor (:issue:`3874`)
-
-- NLSR no longer sets strategies multiple times (:issue:`3743`)
-
-- NLSR should enable use of ndn-cxx dispatcher (:issue:`3930`)
-
-- Fix typos in the sample configuration file (:issue:`3113`)
-
-NLSR version 0.3.0 (changes since version 0.2.2)
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release date:  August 1, 2016
-
-**Code changes**:
-
-- Updated validation checker for LSA rule in the configuration file (:issue:`2965`)
-
-- Do not advertise Adjacency LSAs when hyperbolic routing is enabled (:issue:`2402`)
-
-- Do not distribute coordinate LSAs when using link-state routing. (:issue:`3661`)
-
-- LSAs should be segmented before they are published (:issue:`2965`)
-
-- Don't use DummyClientFace::sentDatas (:issue:`3383`)
-
-- Remove disabled security files (:issue:`2960`)
-
-- Lsa type should be argument for base class LSA constructor (:issue:`2788`)
-
-- Use ndn-cxx/DummyClientFace (:issue:`2637`)
-
-**Bug fixes**:
-
-- Unit tests cases are installed with `./waf install` (:issue:`3359`)
-
-
-NLSR version 0.2.2 (changes since version 0.2.1)
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release date: January 5, 2016
-
-**Code changes**:
-
-- Adapt code to changes in NFD/ndn-cxx version 0.4.0 release
-
-NLSR version 0.2.1 (changes since version 0.2.0)
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release date: June 30, 2015
-
-**Code changes**:
-
-- Using a configuration file without ``prefix-update-validator`` disables runtime advertise/withdraw instead of exiting (:issue:`2814`)
-
-**Bug fixes**:
-
-- Prevent incomplete removal of NPT entry (:issue:`2785`)
-
-- Correct bidirectional links with differing costs (:issue:`2801`)
-
-- Fix non-incrementing Adjacency number in AdjLsa::writeLog (:issue:`2594`)
-
-- Remove FaceDestroyEvent test's reliance on nlsrSeqNo.txt (:issue:`2881`)
-
-- Test ACTIVE/INACTIVE Adjacencies in LSA construction (:issue:`2735`)
-
-NLSR version 0.2.0 (changes since version 0.1.0)
-++++++++++++++++++++++++++++++++++++++++++++++++
-
-Release date: April 30, 2015
-
-**Build**:
-
-- The code now requires C++11. The minimum supported gcc version is 4.6, as earlier versions do not have proper support for C++11 features. (:issue:`1930`)
-
-- Require OpenSSL (:issue:`2375`)
-
-**New features**:
-
-- Add nlsrc command-line tool (:issue:`1834`)
-
-- Advertise/Withdraw name prefixes at runtime (:issue:`1834`)
-
-- Assign zero cost to hyperbolic direct neighbors (:issue:`1975`)
-
-- Only hyperbolic costs are adjusted before registering (:issue:`1974`)
-
-- Add ability to specify different logging levels (:issue:`1935`)
-
-- Add LSDB dataset publishers (:issue:`2280`)
-
-- Add LSDB dataset tlv abstractions (:issue:`2280`)
-
-- Allow zero cost neighbors for hyperbolic routing table calculation (:issue:`1982`)
-
-- Faces are now created with canonical Face URI (:issue:`1911`)
-
-- Add configurable router event intervals (:issue:`2071`)
-
-- Add router-dead-interval configuration setting (:issue:`1878`)
-
-- Add log formatting specified by log4cxx configuration file (:issue:`1950`)
-
-- Face URIs in configuration file are checked for validity on load (:issue:`2070`)
-
-- Configuration variables with default values are now optional (:issue:`1949`)
-
-- Recalculate routing table after face destroy event (:issue:`2635`)
-
-- Add Travis-CI build script
-
-**Code changes**:
-
-- Change adjacency status from uint32_t to enum (:issue:`1946`)
-
-- Remove scheduler from NLSR class (:issue:`1981`)
-
-- Change hyperbolic cost adjustment factor from 100 to 1000 (:issue:`1974`)
-
-- Remove use of outdated namespace ``ndn::Tlv`` (:issue:`2079`)
-
-- Remove use of deprecated ``ndn::nfd::Controller(Face&)`` constructor (:issue:`2133`)
-
-- Routing update publishing is abstracted to SyncLogicHandler (:issue:`2289`)
-
-- Make ConfParameter variable types consistent with min and max values (:issue:`2084`)
-
-- Replace LSA string literals with constants (:issue:`2310`)
-
-- Subscribe to FaceMonitor notifications using connect (:issue:`2350`)
-
-- Log exceptions thrown in event loop
-
-- Change ``ndn::ptr_lib::shared_ptr`` to ``std::shared_ptr`` (:issue:`2110`)
-
-- Avoid deprecated ``ndn::Name::set`` method (:issue:`2505`)
-
-- Update waf to version 1.8.8-dev
-
-- Add sorting tiebreaker to NexthopList (:issue:`2715`)
-
-- Update Jenkins-CI build scripts
-
-**Bug fixes**:
-
-- Fix python3 build error (:issue:`1956`)
-
-- Fix typos in nlsr.conf security section (:issue:`1985`)
-
-- Stop SyncLogicHandler from fetching a router’s own LSAs (:issue:`2005`)
-
-- Fix Name LSA comparison which could cause incorrect advertised names to be removed (:issue:`2029`)
-
-- Fix issue where more faces than max-faces-per-prefix could be applied to a prefix (:issue:`2018`)
-
-- Stop LSDB from retrieving and out of date LSA when a new one is detected (:issue:`1987`)
-
-- Correct mistakes in documentation
-
-- Correct bitmask used to copy Name LSA sequence number (:issue:`2323`)
-
-NLSR version 0.1.0 (initial release)
-++++++++++++++++++++++++++++++++++++
-
-Release date: August 25, 2014
-
-The main design goal of NLSR is to provide a routing protocol to populate `NFD's
-<http://named-data.net/doc/NFD/current/>`_ RIB.  NLSR calculates the routing table using
-link-state or hyperbolic routing and produces multiple faces for each reachable name
-prefix in a single authoritative domain.
-
-**Included features**:
-
-- Advertise availability of content through the configured router
-
-- Use `ChronoSync <https://github.com/named-data/ChronoSync>`_ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs
-
-- Produce a list of ranked forwarding options for each name prefix to facilitate NDN's adaptive forwarding strategies
-
-- Configure maximum number of faces per prefix in NFD’s RIB
-
-- Set up NFD tunnels to neighbors automatically and maintain the tunnels to neighbors
-
-- Provide two routing protocols:
-
-  + Link State routing: calculate route cost based on link costs
-  + Hyperbolic routing: calculate route cost based on hyperbolic coordinates
-
-- Use a hierarchical trust model for routing within a single administrative domain
-
-- Keep NFD’s RIB updated on failure and recovery
+.. include:: release-notes-latest.rst
\ No newline at end of file