diff --git a/src/Info.plist b/src/Info.plist.in
similarity index 89%
rename from src/Info.plist
rename to src/Info.plist.in
index 6bb818d..a373b29 100644
--- a/src/Info.plist
+++ b/src/Info.plist.in
@@ -19,11 +19,11 @@
     <key>CFBundleSignature</key>
     <string>????</string>
     <key>CFBundleShortVersionString</key>
-    <string>0.1.1</string>
+    <string>@VERSION@</string>
     <key>LSMinimumSystemVersion</key>
     <string>10.6</string>
     <key>CFBundleVersion</key>
-    <string>0.1.1</string>
+    <string>@VERSION@</string>
     <key>NSMainNibFile</key>
     <string>MainMenu</string>
     <key>NSPrincipalClass</key>
@@ -33,7 +33,7 @@
     <key>LSUIElement</key>
     <string>1</string>
     <key>SUFeedURL</key>
-    <string>https://irl.cs.ucla.edu/~cawka/ndn-control-center.xml</string>
+    <string>@APPCAST@</string>
     <key>SUPublicDSAKeyFile</key>
     <string>ndn_sparkle_pub.pem</string>
 </dict>
diff --git a/src/main.qml b/src/main.qml
index b051c6c..eaa3b3a 100644
--- a/src/main.qml
+++ b/src/main.qml
@@ -91,6 +91,19 @@
                         }
                     }
                 }
+                GridLayout {
+                     anchors.left: parent.left
+                     anchors.bottom: parent.bottom
+                     Label {
+                         text: "NFD Control Center version:"
+                         font.pixelSize: 10
+                     }
+                     Label {
+                         text: nccVersion
+                         font.pixelSize: 10
+                         font.bold: true
+                     }
+                }
             }
         }
         // Tab {
diff --git a/src/tray-menu.cpp b/src/tray-menu.cpp
index 9bcdaa4..a2f1c24 100644
--- a/src/tray-menu.cpp
+++ b/src/tray-menu.cpp
@@ -33,11 +33,18 @@
 
 #include <Security/Authorization.h>
 #include <Security/AuthorizationTags.h>
+
+#include "build/NFD/build/core/version.hpp"
+#include "build/ndn-tools/build/core/version.cpp"
+
 #else
 #define CONNECT_ICON ":/res/icon-connected-white.png"
 #define DISCONNECT_ICON ":/res/icon-disconnected-white.png"
+
 #endif // OSX_BUILD
 
+#include <ndn-cxx/version.hpp>
+
 namespace ndn {
 namespace ncc {
 
@@ -74,6 +81,13 @@
   connect(this, SIGNAL(nfdActivityUpdate(bool)), this, SLOT(updateNfdActivityIcon(bool)),
           Qt::QueuedConnection);
 
+  QString nccVersion = QString(NCC_VERSION) + " (ndn-cxx: " + NDN_CXX_VERSION_BUILD_STRING +
+    ", NFD: " + NFD_VERSION_BUILD_STRING +
+    ", ndn-tools: " + ::ndn::tools::VERSION +
+    ")";
+
+  m_context->setContextProperty("nccVersion", nccVersion);
+
   m_menu->addAction(m_entryPref);
   m_menu->addAction(m_entrySec);
 
diff --git a/wscript b/wscript
index a25a5ad..bee976f 100644
--- a/wscript
+++ b/wscript
@@ -1,6 +1,7 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
-VERSION='0.1.1'
+VERSION='0.2'
 APPNAME='nfd-control-center'
+APPCAST='https://irl.cs.ucla.edu/~cawka/ndn-control-center.xml'
 
 from waflib import Logs, Utils, Task, TaskGen
 import os
@@ -31,6 +32,9 @@
     if Utils.unversioned_sys_platform() == "darwin":
         conf.define('OSX_BUILD', 1)
 
+    conf.define('NCC_VERSION', VERSION)
+    conf.define('NCC_APPCAST', APPCAST)
+
     conf.write_config_header('config.hpp')
 
 def build(bld):
@@ -55,8 +59,16 @@
         bld.install_files("${DATAROOTDIR}/nfd-control-center",
                           bld.path.ant_glob(['res/*']))
     else:
+        bld(features="subst",
+            source='src/Info.plist.in',
+            target='src/Info.plist',
+            install_path=None,
+            VERSION=VERSION,
+            APPCAST=APPCAST)
+        bld.env['INCLUDES_NDN_TOOLS'] = 'build/ndn-tools'
+
         app.source += bld.path.ant_glob(['src/osx-*.mm', 'src/osx-*.cpp'])
-        app.use += " OSX_FOUNDATION OSX_APPKIT OSX_SPARKLE OSX_COREWLAN"
+        app.use += " OSX_FOUNDATION OSX_APPKIT OSX_SPARKLE OSX_COREWLAN NDN_TOOLS"
         app.target = "NFD Control Center"
         app.mac_app = True
         app.mac_plist = 'src/Info.plist'
