diff --git a/ndn-cxx/debian/changelog b/ndn-cxx/debian/changelog
index 0a521ab..35b714e 100644
--- a/ndn-cxx/debian/changelog
+++ b/ndn-cxx/debian/changelog
@@ -1,3 +1,10 @@
+ndn-cxx (0.3.0~rc0.0-ppa1~DISTRO) DISTRO; urgency=low
+
+  * New version based on 5de006becbb60e4a8bd6492143b53b3d33c9961c
+    (https://github.com/named-data/ndn-cxx.git)
+
+ -- Alexander Afanasyev <alexander.afanasyev@ucla.edu>  Tue, 28 Oct 2014 12:00:40 -0700
+
 ndn-cxx (0.2.0-1-ppa2~DISTRO) DISTRO; urgency=low
 
   * New version based on 9ad2d7222c3bf7be7f5d7d9fcf806716d9edb5ca
diff --git a/ndn-cxx/debian/patches/10-client-conf.diff b/ndn-cxx/debian/patches/10-client-conf.diff
deleted file mode 100644
index afa8054..0000000
--- a/ndn-cxx/debian/patches/10-client-conf.diff
+++ /dev/null
@@ -1,170 +0,0 @@
-Index: ndn-cxx_0.2.0-1/docs/conf.py
-===================================================================
---- ndn-cxx_0.2.0-1.orig/docs/conf.py	2014-09-04 22:28:44.422356062 -0700
-+++ ndn-cxx_0.2.0-1/docs/conf.py	2014-09-04 23:11:35.051297075 -0700
-@@ -254,7 +254,7 @@
-     ('tutorials/security-validator-config', 'ndnsec-validator.conf',
-      'NDN trust validator configuration file', None, 5),
-     ('manpages/tlvdump', 'tlvdump',  'Decode structure of TLV encoded buffer', None, 1),
--    ('manpages/client.conf', 'client.conf',  'Configuration file for NDN platform', None, 5),
-+    ('manpages/ndn-client.conf', 'ndn-client.conf',  'Configuration file for NDN platform', None, 5),
- ]
- 
- 
-Index: ndn-cxx_0.2.0-1/docs/manpages.rst
-===================================================================
---- ndn-cxx_0.2.0-1.orig/docs/manpages.rst	2014-09-04 22:28:44.422356062 -0700
-+++ ndn-cxx_0.2.0-1/docs/manpages.rst	2014-09-04 23:11:21.095296452 -0700
-@@ -2,7 +2,7 @@
- ========
- 
- .. toctree::
--    manpages/client.conf
-+    manpages/ndn-client.conf
-     manpages/ndnsec
-     ndnsec-list         <manpages/ndnsec-list>
-     ndnsec-get-default  <manpages/ndnsec-get-default>
-Index: ndn-cxx_0.2.0-1/docs/manpages/client.conf.rst
-===================================================================
---- ndn-cxx_0.2.0-1.orig/docs/manpages/client.conf.rst	2014-09-04 22:28:44.422356062 -0700
-+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
-@@ -1,67 +0,0 @@
--client.conf
--===========
--
--System configuration of NDN platform is specified in ``client.conf``.
--Here is an example of ``client.conf`` for current ndn-cxx package:
--
--::
--
--    ; "unix_socket" specifies the location of the NFD unix socket
--    unix_socket=/var/run/nfd.sock
--
--    ; "protocol" determines the protocol for prefix registration
--    ; it has a value of:
--    ;   nrd-0.1
--    protocol=nrd-0.1
--
--    ; "pib" determines which Public Info Base (PIB) should used by default in applications.
--    ; If "pib" is not specified, the default PIB will be used.
--    ; Note that default PIB could be different on different system.
--    ; If "pib" is specified, it may have a value of:
--    ;   sqlite3
--    ; pib=sqlite3
--
--    ; "tpm" determines which Trusted Platform Module (TPM) should used by default in applications.
--    ; If "tpm" is not specified, the default TPM will be used.
--    ; Note that default TPM could be different on different system.
--    ; If "tpm" is specified, it may have a value of:
--    ;   file
--    ;   osx-keychain
--    ; tpm=file
--
--NFD
-----
--
--unix_socket
--  The local interface of NFD to applications. By default, the path to the socket is ``/var/run/nfd.sock``.
--
--Prefix Registration
---------------------
--
--protocol
--  The prefix registration protocol. For now, only one protocol ``nrd-0.1`` is supported.
--  With this protocol, applications send prefix registration requests to NRD.
--  NRD, after authenticating the request, will set up corresponding FIB entries in NFD.
--
--Key Management
----------------
--
--tpm
--  Trusted Platform Module (TPM) where the private keys are stored.
--  Two options are currently available: ``file`` and ``osx-keychain``.
--  **Users are not supposed to change the ``tpm`` setting once it is configued,
--  otherwise users may face the problem of "Keys are not found".**
--  The default value of ``tpm`` depends on the operating system.
--  For OS X, the default value is ``osx-keychain``.
--  For other systems, the default value is ``file``.
--
--pib
--  The public key information for each private key stored in TPM.
--  There is only one option for ``pib``: ``sqlite3``, which is also the default value of ``pib``.
--
--Users are not supposed to change the configuration of Key Management.
--If changes is inevitable, please clean up the all the existing data (which is usually under ``~/.ndn/``):
--
--::
--
--    rm -rf ~/.ndn/ndnsec-*
-Index: ndn-cxx_0.2.0-1/docs/manpages/ndn-client.conf.rst
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ ndn-cxx_0.2.0-1/docs/manpages/ndn-client.conf.rst	2014-09-04 22:28:44.422356062 -0700
-@@ -0,0 +1,67 @@
-+client.conf
-+===========
-+
-+System configuration of NDN platform is specified in ``client.conf``.
-+Here is an example of ``client.conf`` for current ndn-cxx package:
-+
-+::
-+
-+    ; "unix_socket" specifies the location of the NFD unix socket
-+    unix_socket=/var/run/nfd.sock
-+
-+    ; "protocol" determines the protocol for prefix registration
-+    ; it has a value of:
-+    ;   nrd-0.1
-+    protocol=nrd-0.1
-+
-+    ; "pib" determines which Public Info Base (PIB) should used by default in applications.
-+    ; If "pib" is not specified, the default PIB will be used.
-+    ; Note that default PIB could be different on different system.
-+    ; If "pib" is specified, it may have a value of:
-+    ;   sqlite3
-+    ; pib=sqlite3
-+
-+    ; "tpm" determines which Trusted Platform Module (TPM) should used by default in applications.
-+    ; If "tpm" is not specified, the default TPM will be used.
-+    ; Note that default TPM could be different on different system.
-+    ; If "tpm" is specified, it may have a value of:
-+    ;   file
-+    ;   osx-keychain
-+    ; tpm=file
-+
-+NFD
-+---
-+
-+unix_socket
-+  The local interface of NFD to applications. By default, the path to the socket is ``/var/run/nfd.sock``.
-+
-+Prefix Registration
-+-------------------
-+
-+protocol
-+  The prefix registration protocol. For now, only one protocol ``nrd-0.1`` is supported.
-+  With this protocol, applications send prefix registration requests to NRD.
-+  NRD, after authenticating the request, will set up corresponding FIB entries in NFD.
-+
-+Key Management
-+--------------
-+
-+tpm
-+  Trusted Platform Module (TPM) where the private keys are stored.
-+  Two options are currently available: ``file`` and ``osx-keychain``.
-+  **Users are not supposed to change the ``tpm`` setting once it is configued,
-+  otherwise users may face the problem of "Keys are not found".**
-+  The default value of ``tpm`` depends on the operating system.
-+  For OS X, the default value is ``osx-keychain``.
-+  For other systems, the default value is ``file``.
-+
-+pib
-+  The public key information for each private key stored in TPM.
-+  There is only one option for ``pib``: ``sqlite3``, which is also the default value of ``pib``.
-+
-+Users are not supposed to change the configuration of Key Management.
-+If changes is inevitable, please clean up the all the existing data (which is usually under ``~/.ndn/``):
-+
-+::
-+
-+    rm -rf ~/.ndn/ndnsec-*
diff --git a/ndn-cxx/debian/patches/series b/ndn-cxx/debian/patches/series
deleted file mode 100644
index aee7a6c..0000000
--- a/ndn-cxx/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-10-client-conf.diff
