diff --git a/docs/RELEASE_NOTES.rst b/docs/RELEASE_NOTES.rst
new file mode 100644
index 0000000..1f3f282
--- /dev/null
+++ b/docs/RELEASE_NOTES.rst
@@ -0,0 +1,144 @@
+.. _NFD v0.1.0 Release Notes:
+
+NFD v0.1.0 Release Notes
+========================
+
+Major Modules of NFD
+--------------------
+
+NFD has the following major modules:
+
+- Core
+    Provides various common services shared between different NFD modules. These include
+    hash computation routines, DNS resolver, config file, face monitoring, and
+    several other modules.
+
+- Faces
+    Implements the NDN face abstraction on top of different lower level transport
+    mechanisms.
+
+- Tables
+    Implements the Content Store (CS), the Pending Interest Table (PIT), the Forwarding
+    Information Base (FIB), and other data structures to support forwarding of NDN Data
+    and Interest packets.
+
+- Forwarding
+    Implements basic packet processing pathways, which interact with Faces, Tables,
+    and Strategies.
+
+  + **Strategy Support**, a major part of the forwarding module
+      Implements a framework to support different forwarding strategies. It includes
+      StrategyChoice, Measurements, Strategies, and hooks in the forwarding pipelines. The
+      StrategyChoice records the choice of the strategy for a namespace, and Measurement
+      records are used by strategies to store past performance results for namespaces.
+
+- Management
+    Implements the `NFD Management Protocol
+    <http://redmine.named-data.net/projects/nfd/wiki/Management>`_, which allows
+    applications to configure NFD and set/query NFD's internal states.  Protocol interaction
+    is done via NDN's Interest/Data exchange between applications and NFD.
+
+- RIB Management
+    Manages the routing information base (RIB).  The RIB may be updated by different parties
+    in different ways, including various routing protocols, application's prefix
+    registrations, and command-line manipulation by sysadmins.  The RIB management module
+    processes all these requests to generate a consistent forwarding table, and then syncs
+    it up with the NFD's FIB, which contains only the minimal information needed for
+    forwarding decisions. Strictly speaking RIB management is part of the NFD management
+    module. However, due to its importance to the overall operations and its more complex
+    processing, we make it a separate module.
+
+Features in Version 0.1.0
+-------------------------
+
+This is an incomplete list of features that are implemented in NFD version 0.1.0.
+
+- Packet Format
+
+  + `NDN-TLV <http://named-data.net/doc/ndn-tlv/>`_
+  + LocalControlHeader, to allow apps to set outgoing face and learn incoming face.
+
+- Faces
+
+  + Unix stream socket
+  + UDP unicast
+  + UDP multicast
+  + TCP
+  + Ethernet, currently without fragmentation.
+
+    .. note::
+         Ethernet support will not work properly on Linux kernels with TPACKET_V3 flexible
+         buffer implementation (>= 3.2.0) and libpcap >= 1.5.0 (e.g., Ubuntu Linux 14.04).
+         Refer to `Issue 1551 <http://redmine.named-data.net/issues/1511>`_ for more
+         detail and implementation progress.
+
+- Management
+
+  + Use of signed Interests as commands, with authentication and authorization.
+  + Face management
+  + FIB management
+  + Per-namespace strategy selection
+  + NFD status publishing
+  + Notification to authorized apps of internal events, including Face creation and destruction.
+
+- Tables and forwarding pipelines support most Interest/Data processing, including
+  selectors.
+
+- RIB Management that runs as a separate process, ``nrd``.  It supports basic prefix
+  registration by applications, but no flags yet.
+
+- Strategies
+
+  + ``broadcast``
+  + ``best-route``
+  + ``ncc``: based on ccnx 0.7 for experimentation
+  + ``client-control``: authorized application can directly control Interest forwarding
+
+- Name-based scoping
+
+  + ``/localhost``: communication only within localhost using "local" Faces
+    (UnixStreamFace, LocalTcpFace).  NFD will strictly enforce this scope for Interests
+    and Data packets
+  + ``/localhop``: one-hop communication (e.g., if at least one incoming or outgoing Face
+    in PIT entry is non-local, the Interest cannot be forwarded to any non-local Face)
+
+- Support configuration file, which is in the Boost INFO format.
+
+- Applications
+
+  + Tools to discover hubs on NDN testbed.
+  + peek/poke and traffic generators for testing and debugging.
+  + ``nfdc``, a command-line tool to configure NFD.
+  + ``nfd-status``, a command-line tool to query NFD status.
+  + ``nfd-status-http-server``, which reads the NFD status and publishes over HTTP.
+
+
+Planned Functions and Features for Next Releases
+------------------------------------------------
+
+- NACK
+    A packet sent back by a producer or a router to signal the unavailability of a requested
+    Data packet. The protocol specification for NACK is in progress.
+
+- New strategies
+    Additional strategies, including self-learning that populates the FIB by observing
+    Interest and Data exchange.
+
+- Hop-by-hop Interest limit mechanism for congestion control.
+
+- Face enhancements
+    Add fragmentation support for Ethernet face, may add support for new types such as
+    WiFi direct and WebSockets.
+
+- Tables
+    Experiment and evaluate different data structures and algorithms.
+
+- RIB management
+    Move to more scalable data structures and support all flags in prefix registrations.
+
+- Tunnel management
+    For hub nodes to authenticate incoming tunnel requests and maintain the tunnels.
+
+- Extensible name-based scoping
+
+  + configurable organization-based scoping
