diff --git a/.cockpit.metadata b/.cockpit.metadata
index 10cfa67..c6b9c28 100644
--- a/.cockpit.metadata
+++ b/.cockpit.metadata
@@ -1 +1 @@
-4da5c385142bb7cf41fcd8a56a5c3ad4be780bd6 SOURCES/cockpit-0.108.tar.xz
+64f4029431fada24f3ece0920849ae8828e43daa SOURCES/cockpit-0.114.tar.xz
diff --git a/.gitignore b/.gitignore
index 5120c7e..b72d249 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/cockpit-0.108.tar.xz
+SOURCES/cockpit-0.114.tar.xz
diff --git a/SOURCES/0001-Makefile.am-fix-make-dist-from-tarballs.patch b/SOURCES/0001-Makefile.am-fix-make-dist-from-tarballs.patch
deleted file mode 100644
index fa7a626..0000000
--- a/SOURCES/0001-Makefile.am-fix-make-dist-from-tarballs.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From cadee7a6670c42cddb0869f476327285aa5b219b Mon Sep 17 00:00:00 2001
-From: Lars Uebernickel <lars@uebernic.de>
-Date: Mon, 30 May 2016 17:45:27 +0200
-Subject: Makefile.am: fix make dist from tarballs
-
-When not inside a git checkout, `make dist` echos the directories to
-include. Tar expects them to be newline-separated.
-
-Fixes #4494
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 9ec83da..d4cfab4 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -255,7 +255,7 @@ COMMITTED_DIST = \
- 
- # Build up the distribution using $COMMITTED_DIST and include node_modules and bower licenses
- dist-hook: dist-doc-hook
--	( cd $(srcdir); git ls-tree HEAD --name-only -r $(COMMITTED_DIST) || echo $(COMMITTED_DIST) ) | \
-+	( cd $(srcdir); git ls-tree HEAD --name-only -r $(COMMITTED_DIST) || (echo $(COMMITTED_DIST) | tr ' ' '\n' ) ) | \
- 		tar -C $(srcdir) -cf - -T - | tar -C $(distdir) -xf -
- 	tar -C $(srcdir) -cf - --exclude='phantomjs*' --exclude='jshint*' node_modules/ | tar -C $(distdir) -xf -
- 	echo $(VERSION) > $(distdir)/.tarball
--- 
-1.8.3.1
-
diff --git a/SOURCES/0001-tools-Update-spec-file-for-lack-of-cockpit-daemon.patch b/SOURCES/0001-tools-Update-spec-file-for-lack-of-cockpit-daemon.patch
new file mode 100644
index 0000000..18ffacd
--- /dev/null
+++ b/SOURCES/0001-tools-Update-spec-file-for-lack-of-cockpit-daemon.patch
@@ -0,0 +1,29 @@
+From 67ce9876656f8e5a9f088990f6e08847a65a4be9 Mon Sep 17 00:00:00 2001
+From: Stef Walter <stefw@redhat.com>
+Date: Thu, 14 Jul 2016 10:20:18 +0200
+Subject: [PATCH 1/2] tools: Update spec file for lack of cockpit-daemon
+
+cockpit-daemon is and has for a long time now no longer been a
+thing. We can still upgrade cleanly with the 'Obsoletes' line
+here.
+
+Reviewed-by: Peter <petervo@redhat.com>
+---
+ tools/cockpit.spec | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tools/cockpit.spec b/tools/cockpit.spec
+index 091e409..5a0ad60 100644
+--- a/tools/cockpit.spec
++++ b/tools/cockpit.spec
+@@ -110,7 +110,6 @@ machines.
+ 
+ %package bridge
+ Summary: Cockpit bridge server-side component
+-Provides: %{name}-daemon
+ Obsoletes: %{name}-daemon < 0.48-2
+ Requires: polkit
+ 
+-- 
+1.8.3.1
+
diff --git a/SOURCES/0002-tools-Update-packaging-files-for-stable-0.114-releas.patch b/SOURCES/0002-tools-Update-packaging-files-for-stable-0.114-releas.patch
new file mode 100644
index 0000000..34abbf8
--- /dev/null
+++ b/SOURCES/0002-tools-Update-packaging-files-for-stable-0.114-releas.patch
@@ -0,0 +1,132 @@
+From 2ab6a1716eca40c1a1c16aa1ac5457959b54fb82 Mon Sep 17 00:00:00 2001
+From: Stef Walter <stefw@redhat.com>
+Date: Thu, 14 Jul 2016 10:25:36 +0200
+Subject: [PATCH 2/2] tools: Update packaging files for stable 0.114 release
+
+The internal javascript API in 0.114 is considered stable
+in the base1 package. So subpackages can use any version of
+cockpit-bridge and cockpit-shell 0.114 or later.
+
+Closes #4736
+Reviewed-by: Peter <petervo@redhat.com>
+---
+ tools/cockpit.spec | 33 +++++++++++++++++++++++----------
+ 1 file changed, 23 insertions(+), 10 deletions(-)
+
+diff --git a/tools/cockpit.spec b/tools/cockpit.spec
+index 5a0ad60..655cf8a 100644
+--- a/tools/cockpit.spec
++++ b/tools/cockpit.spec
+@@ -16,6 +16,10 @@
+ 
+ %if %{defined gitcommit}
+ %define extra_flags CFLAGS='-O2 -Wall -Werror -fPIC -g -DWITH_DEBUG'
++%define stable_api %{gitcommit}
++%else
++# The first version with a stable APIs
++%define stable_api 0.114
+ %endif
+ 
+ %if 0%{?centos}
+@@ -344,7 +348,7 @@ test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true
+ 
+ %package shell
+ Summary: Cockpit Shell user interface package
+-Requires: %{name}-bridge = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
+ Requires: shadow-utils
+ Requires: grep
+ Requires: libpwquality
+@@ -366,7 +370,8 @@ This package contains the Cockpit shell UI assets.
+ 
+ %package storaged
+ Summary: Cockpit user interface for storage, using Storaged
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: storaged >= 2.1.1
+ %if 0%{?fedora} >= 24 || 0%{?rhel} >= 8
+ Recommends: storaged-lvm2 >= 2.1.1
+@@ -386,7 +391,8 @@ The Cockpit component for managing storage.  This package uses Storaged.
+ 
+ %package ostree
+ Summary: Cockpit user interface for rpm-ostree
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ %if 0%{?fedora} > 0 && 0%{?fedora} < 24
+ Requires: rpm-ostree >= 2015.10-1
+ %else
+@@ -404,7 +410,8 @@ The Cockpit components for managing software updates for ostree based systems.
+ 
+ %package sosreport
+ Summary: Cockpit user interface for diagnostic reports
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: sos
+ BuildArch: noarch
+ 
+@@ -416,7 +423,8 @@ sosreport tool.
+ 
+ %package subscriptions
+ Summary: Cockpit subscription user interface package
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: subscription-manager >= 1.13
+ BuildArch: noarch
+ 
+@@ -428,7 +436,8 @@ subscription management.
+ 
+ %package networkmanager
+ Summary: Cockpit user interface for networking, using NetworkManager
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: NetworkManager
+ BuildArch: noarch
+ 
+@@ -443,7 +452,8 @@ The Cockpit component for managing networking.  This package uses NetworkManager
+ 
+ %package selinux
+ Summary: Cockpit SELinux package
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: setroubleshoot-server >= 3.3.3
+ BuildArch: noarch
+ 
+@@ -459,7 +469,8 @@ utility setroubleshoot to diagnose and resolve SELinux issues.
+ 
+ %package docker
+ Summary: Cockpit user interface for Docker containers
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: docker >= 1.3.0
+ 
+ %description docker
+@@ -475,7 +486,8 @@ This package is not yet complete.
+ %package kubernetes
+ Summary: Cockpit user interface for Kubernetes cluster
+ Requires: /usr/bin/kubectl
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ BuildRequires: golang-bin
+ BuildRequires: golang-src
+ 
+@@ -493,7 +505,8 @@ cluster. Installed on the Kubernetes master. This package is not yet complete.
+ 
+ %package test-assets
+ Summary: Additional stuff for testing Cockpit
+-Requires: %{name}-shell = %{version}-%{release}
++Requires: %{name}-bridge >= %{stable_api}
++Requires: %{name}-shell >= %{stable_api}
+ Requires: openssh-clients
+ 
+ %description test-assets
+-- 
+1.8.3.1
+
diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec
index 2c47a2e..3b53c67 100644
--- a/SPECS/cockpit.spec
+++ b/SPECS/cockpit.spec
@@ -4,11 +4,15 @@
 #
 
 %define branding auto
-%define tag 0.108
-%define rev 1
+%define tag 0.114
+%define rev 2
 
 %if %{defined gitcommit}
 %define extra_flags CFLAGS='-O2 -Wall -Werror -fPIC -g -DWITH_DEBUG'
+%define stable_api %{gitcommit}
+%else
+# The first version with a stable APIs
+%define stable_api 0.114
 %endif
 
 %if 0%{?centos}
@@ -40,7 +44,8 @@ Source0:        cockpit-%{version}.tar.gz
 Source0:        https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz
 %endif
 
-Patch1:         0001-Makefile.am-fix-make-dist-from-tarballs.patch
+Patch1:	        0001-tools-Update-spec-file-for-lack-of-cockpit-daemon.patch
+Patch2:	        0002-tools-Update-packaging-files-for-stable-0.114-releas.patch
 
 BuildRequires: pkgconfig(gio-unix-2.0)
 BuildRequires: pkgconfig(json-glib-1.0)
@@ -66,12 +71,6 @@ BuildRequires: pcp-libs-devel
 BuildRequires: gdb
 
 %if %{defined gitcommit}
-# on fedora 24, nodejs provides npm
-%if 0%{?fedora} > 0 && 0%{?fedora} < 24
-BuildRequires: npm
-%endif
-BuildRequires: nodejs
-# For kerberos tests
 BuildRequires: krb5-server
 %endif
 
@@ -111,7 +110,6 @@ machines.
 
 %package bridge
 Summary: Cockpit bridge server-side component
-Provides: %{name}-daemon
 Obsoletes: %{name}-daemon < 0.48-2
 Requires: polkit
 
@@ -152,11 +150,9 @@ The Cockpit Web Service listens on the network, and authenticates users.
 %prep
 %setup -q
 %patch1 -p1
+%patch2 -p1
 
 %build
-aclocal
-automake --add-missing
-autoconf
 exec 2>&1
 %configure --disable-silent-rules --with-cockpit-user=cockpit-ws --with-branding=auto --with-selinux-config-type=etc_t
 make -j4 %{?extra_flags} all
@@ -183,8 +179,8 @@ echo '{ "linguas": null, "machine-limit": 5 }' > %{buildroot}%{_datadir}/%{name}
 %endif
 
 # Build the package lists for resource packages
-echo '%dir %{_datadir}/%{name}/base1' > shell.list
-find %{buildroot}%{_datadir}/%{name}/base1 -type f >> shell.list
+echo '%dir %{_datadir}/%{name}/base1' > base.list
+find %{buildroot}%{_datadir}/%{name}/base1 -type f >> base.list
 
 echo '%dir %{_datadir}/%{name}/dashboard' >> shell.list
 find %{buildroot}%{_datadir}/%{name}/dashboard -type f >> shell.list
@@ -220,7 +216,7 @@ echo '%dir %{_datadir}/%{name}/ostree' > ostree.list
 find %{buildroot}%{_datadir}/%{name}/ostree -type f >> ostree.list
 
 # on RHEL systems we don't have the required setroubleshoot-server packages
-%if 0%{?rhel}
+%if 0%{?rhel}%{?centos}
 rm -rf %{buildroot}%{_datadir}/%{name}/selinux
 %else
 echo '%dir %{_datadir}/%{name}/selinux' > selinux.list
@@ -287,7 +283,7 @@ cat subscriptions.list sosreport.list networkmanager.list >> shell.list
 %{_datadir}/pixmaps/cockpit.png
 %doc %{_mandir}/man1/cockpit.1.gz
 
-%files bridge
+%files bridge -f base.list
 %doc %{_mandir}/man1/cockpit-bridge.1.gz
 %{_bindir}/cockpit-bridge
 %attr(4755, -, -) %{_libexecdir}/cockpit-polkit
@@ -344,10 +340,11 @@ test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true
 
 %postun ws
 %systemd_postun_with_restart cockpit.socket
+%systemd_postun_with_restart cockpit.service
 
 %package shell
 Summary: Cockpit Shell user interface package
-Requires: %{name}-bridge = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
 Requires: shadow-utils
 Requires: grep
 Requires: libpwquality
@@ -357,10 +354,6 @@ Provides: %{name}-subscriptions = %{version}-%{release}
 Requires: subscription-manager >= 1.13
 Provides: %{name}-networkmanager = %{version}-%{release}
 Requires: NetworkManager
-%ifarch x86_64 armv7hl
-Provides: %{name}-docker = %{version}-%{release}
-Requires: docker >= 1.3.0
-%endif
 %endif
 Provides: %{name}-assets
 Obsoletes: %{name}-assets < 0.32
@@ -373,10 +366,18 @@ This package contains the Cockpit shell UI assets.
 
 %package storaged
 Summary: Cockpit user interface for storage, using Storaged
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 Requires: storaged >= 2.1.1
+%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8
+Recommends: storaged-lvm2 >= 2.1.1
+Recommends: storaged-iscsi >= 2.1.1
+Recommends: device-mapper-multipath
+%else
 Requires: storaged-lvm2 >= 2.1.1
+Requires: storaged-iscsi >= 2.1.1
 Requires: device-mapper-multipath
+%endif
 BuildArch: noarch
 
 %description storaged
@@ -386,7 +387,8 @@ The Cockpit component for managing storage.  This package uses Storaged.
 
 %package ostree
 Summary: Cockpit user interface for rpm-ostree
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 %if 0%{?fedora} > 0 && 0%{?fedora} < 24
 Requires: rpm-ostree >= 2015.10-1
 %else
@@ -404,7 +406,8 @@ The Cockpit components for managing software updates for ostree based systems.
 
 %package sosreport
 Summary: Cockpit user interface for diagnostic reports
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 Requires: sos
 BuildArch: noarch
 
@@ -416,7 +419,8 @@ sosreport tool.
 
 %package subscriptions
 Summary: Cockpit subscription user interface package
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 Requires: subscription-manager >= 1.13
 BuildArch: noarch
 
@@ -426,9 +430,26 @@ subscription management.
 
 %files subscriptions -f subscriptions.list
 
+%package networkmanager
+Summary: Cockpit user interface for networking, using NetworkManager
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
+Requires: NetworkManager
+BuildArch: noarch
+
+%description networkmanager
+The Cockpit component for managing networking.  This package uses NetworkManager.
+
+%files networkmanager -f networkmanager.list
+
+%endif
+
+%if 0%{?rhel}%{?centos} == 0
+
 %package selinux
 Summary: Cockpit SELinux package
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 Requires: setroubleshoot-server >= 3.3.3
 BuildArch: noarch
 
@@ -438,24 +459,14 @@ utility setroubleshoot to diagnose and resolve SELinux issues.
 
 %files selinux -f selinux.list
 
-%package networkmanager
-Summary: Cockpit user interface for networking, using NetworkManager
-Requires: %{name}-shell = %{version}-%{release}
-Requires: NetworkManager
-BuildArch: noarch
-
-%description networkmanager
-The Cockpit component for managing networking.  This package uses NetworkManager.
-
-%files networkmanager -f networkmanager.list
-
 %endif
 
 %ifarch x86_64 armv7hl
 
 %package docker
 Summary: Cockpit user interface for Docker containers
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 Requires: docker >= 1.3.0
 
 %description docker
@@ -471,7 +482,8 @@ This package is not yet complete.
 %package kubernetes
 Summary: Cockpit user interface for Kubernetes cluster
 Requires: /usr/bin/kubectl
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 BuildRequires: golang-bin
 BuildRequires: golang-src
 
@@ -489,7 +501,8 @@ cluster. Installed on the Kubernetes master. This package is not yet complete.
 
 %package test-assets
 Summary: Additional stuff for testing Cockpit
-Requires: %{name}-shell = %{version}-%{release}
+Requires: %{name}-bridge >= %{stable_api}
+Requires: %{name}-shell >= %{stable_api}
 Requires: openssh-clients
 
 %description test-assets
@@ -503,6 +516,28 @@ pulls in some necessary packages via dependencies.
 %endif
 
 %changelog
+* Fri Jul 15 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.114-2
+- The API of cockpit-bridge and cockpit-shell is now stable, other components
+  only depend on a version >= 0.114 now, not an exact match to their own version
+
+* Tue Jul 12 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.114-1
+- Update to 0.114 release
+- Red Hat Subscriptions can now specify activation keys and orgs rhbz#1338680
+- Network configuration of the Ethernet MTU rhbz#1339552
+- SSH Host keys are show on system page rhbz#1318414
+- Properly show SSH keys on authentication page rhbz#1336686
+- Use 'active-backup' as the default for new network bonds rhbz#1348066
+- Don't show network interfaces where NM_CONTROLLED=no is set rhbz#1330552
+- Disable tuned correctly when clearing a performance profile rhbz#1330473
+- Use CockpitLang cookie and Accept-Language for localization
+- Cockpit terminal now supports shells like fish
+- Disable the network on/off switch for unknown or unmanaged interfaces
+  rhbz#1329954 rhbz#1329956
+- Show intelligent password score error messages rhbz#1330838
+- Show full string for system hardware info and operating system name rhbz#1331243
+- Ensure popup-info when creating an account remains on screen rhbz#1340749
+- Remove erroneous docker dependency rhbz#1349375
+
 * Tue May 31 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.108-1
 - Update to 0.108 release
 - Strict browser security policy for Cockpit is now enforced. This defines which code can be run in a Cockpit session and mitigates a number of browser based attacks.