diff --git a/.cockpit.metadata b/.cockpit.metadata
index 1f9e117..094334d 100644
--- a/.cockpit.metadata
+++ b/.cockpit.metadata
@@ -1 +1 @@
-e0e17bb301ec6ffb66a65d7b1dbc3dff3e62b7c6 SOURCES/cockpit-185.1.tar.xz
+9d2e17cbe49f01a554b362d32ff53504c2345bd1 SOURCES/cockpit-196.3.tar.xz
diff --git a/.gitignore b/.gitignore
index d2e5ce0..c958803 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/cockpit-185.1.tar.xz
+SOURCES/cockpit-196.3.tar.xz
diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec
index ef96eec..1b7703c 100644
--- a/SPECS/cockpit.spec
+++ b/SPECS/cockpit.spec
@@ -1,5 +1,5 @@
 # This spec file has been automatically updated
-Version:	185.1
+Version:        196.3
 Release: 1%{?dist}
 #
 # This file is maintained at the following location:
@@ -45,7 +45,7 @@ Release: 1%{?dist}
 %define build_optional 0
 
 # cockpit's firewall service definition moved to firewalld
-%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8
+%if 0%{?fedora} || 0%{?rhel} >= 8
 %define firewalld_service 0
 %else
 %define firewalld_service 1
@@ -59,13 +59,18 @@ Release: 1%{?dist}
 %define build_subscriptions 1
 %endif
 
-# cockpit-kubernetes is RHEL 7 and Fedora < 30 only, and 64 bit arches only
-%if (0%{?fedora} && 0%{?fedora} < 30) || (0%{?rhel} >= 7 && 0%{?rhel} < 8)
+# cockpit-kubernetes is RHEL 7 64 bit only
+%if 0%{?rhel} >= 7 && 0%{?rhel} < 8
 %ifarch aarch64 x86_64 ppc64le s390x
 %define build_kubernetes 1
 %endif
 %endif
 
+# cockpit-machines-ovirt is RHEL 7 only
+%if 0%{?rhel} >= 7 && 0%{?rhel} < 8
+%define build_ovirt 1
+%endif
+
 %if 0%{?rhel} >= 8
 %global go_scl_prefix go-toolset-7-
 %else
@@ -111,13 +116,13 @@ BuildRequires: libxslt-devel
 BuildRequires: docbook-style-xsl
 BuildRequires: glib-networking
 BuildRequires: sed
-BuildRequires: git
 
 BuildRequires: glib2-devel >= 2.37.4
 BuildRequires: systemd-devel
 BuildRequires: pcp-libs-devel
 BuildRequires: krb5-server
 BuildRequires: gdb
+BuildRequires: openssh-clients
 
 # For documentation
 BuildRequires: xmlto
@@ -153,20 +158,6 @@ Suggests: cockpit-selinux
 %prep
 %setup -q -n cockpit-%{version}
 
-# Apply patches using git in order to support binary patches. Note that
-# we also reset mtimes since patches should be "complete" and include both
-# generated and source file changes
-# Keep this in sync with tools/debian/rules.
-if [ -n "%{patches}" ]; then
-    git init
-    git config user.email "unused@example.com" && git config user.name "Unused"
-    git config core.autocrlf false && git config core.safecrlf false && git config gc.auto 0
-    git add -f . && git commit -a -q -m "Base" && git tag -a initial --message="initial"
-    git am --whitespace=nowarn %{patches}
-    touch -r $(git diff --name-only initial..HEAD) .git Makefile.in
-    rm -rf .git
-fi
-
 %build
 exec 2>&1
 %configure \
@@ -196,14 +187,6 @@ rm -f %{buildroot}/%{_prefix}/%{__lib}/firewalld/services/cockpit.xml
 %endif
 install -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/
 
-# On RHEL we don't yet show options for changing language
-%if 0%{?rhel}
-echo '{ "linguas": null }' > %{buildroot}%{_datadir}/cockpit/shell/override.json
-%endif
-
-# Local fix for rhbz#1671773; fixed upstream in 187
-sed -i '/xml:lang=/ s/\ gettext-domain=".*"//' %{buildroot}%{_datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy
-
 # Build the package lists for resource packages
 echo '%dir %{_datadir}/cockpit/base1' > base.list
 find %{buildroot}%{_datadir}/cockpit/base1 -type f >> base.list
@@ -272,8 +255,13 @@ find %{buildroot}%{_datadir}/cockpit/apps -type f >> packagekit.list
 echo '%dir %{_datadir}/cockpit/machines' > machines.list
 find %{buildroot}%{_datadir}/cockpit/machines -type f >> machines.list
 
+%if 0%{?build_ovirt}
 echo '%dir %{_datadir}/cockpit/ovirt' > ovirt.list
 find %{buildroot}%{_datadir}/cockpit/ovirt -type f >> ovirt.list
+%else
+rm -rf %{buildroot}/%{_datadir}/cockpit/ovirt
+touch ovirt.list
+%endif
 
 echo '%dir %{_datadir}/cockpit/selinux' > selinux.list
 find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list
@@ -343,6 +331,8 @@ rm -r %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib
 rm -f %{buildroot}/%{_libexecdir}/cockpit-kube-auth %{buildroot}/%{_libexecdir}/cockpit-kube-launch %{buildroot}/%{_libexecdir}/cockpit-stub
 # files from -machines
 rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml
+# files from -storaged
+rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
 %endif
 
 sed -i "s|%{buildroot}||" *.list
@@ -454,13 +444,12 @@ Requires: libpwquality
 Requires: /usr/bin/date
 Provides: cockpit-realmd = %{version}-%{release}
 Provides: cockpit-shell = %{version}-%{release}
-Obsoletes: cockpit-shell < 127
 Provides: cockpit-systemd = %{version}-%{release}
 Provides: cockpit-tuned = %{version}-%{release}
 Provides: cockpit-users = %{version}-%{release}
 %if 0%{?rhel}
 Provides: cockpit-networkmanager = %{version}-%{release}
-Obsoletes: cockpit-networkmanager < 135
+Obsoletes: cockpit-networkmanager
 Requires: NetworkManager
 Provides: cockpit-kdump = %{version}-%{release}
 Requires: kexec-tools
@@ -480,11 +469,11 @@ Provides: cockpit-subscriptions = %{version}-%{release}
 Requires: subscription-manager >= 1.13
 %endif
 # NPM modules which are also available as packages
-Provides: bundled(js-jquery) = 3.3.1
-Provides: bundled(js-moment) = 2.23.0
+Provides: bundled(js-jquery) = 3.4.0
+Provides: bundled(js-moment) = 2.24.0
 Provides: bundled(nodejs-flot) = 0.8.3
-Provides: bundled(nodejs-promise) = 8.0.2
-Provides: bundled(xstatic-bootstrap-datepicker-common) = 1.8.0
+Provides: bundled(nodejs-promise) = 8.0.3
+Provides: bundled(xstatic-bootstrap-datepicker-common) = 1.9.0
 Provides: bundled(xstatic-patternfly-common) = 3.58.0
 
 %description system
@@ -497,11 +486,14 @@ Summary: Cockpit Web Service
 Requires: glib-networking
 Requires: openssl
 Requires: glib2 >= 2.37.4
+# RHEL/CentOS 7 has firewalld 0.6.x, but does not ship cockpit service
+%if 0%{?rhel} != 7
 %if 0%{?firewalld_service}
 Conflicts: firewalld >= 0.6.0-1
 %else
 Conflicts: firewalld < 0.6.0-1
 %endif
+%endif
 %if 0%{?fedora} || 0%{?rhel} >= 8
 Recommends: sscg >= 2.3
 Recommends: system-logos
@@ -543,7 +535,7 @@ The Cockpit Web Service listens on the network, and authenticates users.
 
 %pre ws
 getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws
-getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d / -s /sbin/nologin -c "User for cockpit-ws" cockpit-ws
+getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d /nonexisting -s /sbin/nologin -c "User for cockpit-ws" cockpit-ws
 
 %post ws
 %systemd_post cockpit.socket
@@ -666,7 +658,7 @@ BuildArch: noarch
 The Cockpit component for managing storage.  This package uses udisks.
 
 %files -n cockpit-storaged -f storaged.list
-
+%{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
 
 %package -n cockpit-tests
 Summary: Tests for Cockpit
@@ -674,7 +666,6 @@ Requires: cockpit-bridge >= 138
 Requires: cockpit-system >= 138
 Requires: openssh-clients
 Provides: cockpit-test-assets = %{version}-%{release}
-Obsoletes: cockpit-test-assets < 132
 
 %description -n cockpit-tests
 This package contains tests and files used while testing Cockpit.
@@ -689,16 +680,14 @@ BuildArch: noarch
 Summary: Cockpit user interface for virtual machines
 Requires: cockpit-bridge >= 122
 Requires: cockpit-system >= 122
-%if 0%{?rhel} == 7
-Requires: libvirt
-%else
-Requires: (libvirt-daemon-kvm or libvirt)
-%endif
+Requires: libvirt-daemon-kvm
 Requires: libvirt-client
 %if 0%{?fedora} || 0%{?rhel} >= 8
 Requires: libvirt-dbus >= 1.2.0
 # Optional components
 Recommends: virt-install
+Recommends: libosinfo
+Recommends: python3-gobject-base
 %endif
 
 %description -n cockpit-machines
@@ -709,6 +698,8 @@ If "virt-install" is installed, you can also create new virtual machines.
 %files -n cockpit-machines -f machines.list
 %{_datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml
 
+%if 0%{?build_ovirt}
+
 %package -n cockpit-machines-ovirt
 BuildArch: noarch
 Summary: Cockpit user interface for oVirt virtual machines
@@ -726,6 +717,8 @@ The Cockpit components for managing oVirt virtual machines.
 
 %files -n cockpit-machines-ovirt -f ovirt.list
 
+%endif
+
 %package -n cockpit-pcp
 Summary: Cockpit PCP integration
 Requires: cockpit-bridge >= 134.x
@@ -833,8 +826,38 @@ via PackageKit.
 
 # The changelog is automatically generated and merged
 %changelog
-* Fri May 24 2019 Martin Pitt <mpitt@redhat.com> - 185.1-1
-- system: Add CPU security mitigations dialog rhbz#1713186
+* Fri Sep 13 2019 Martin Pitt <mpitt@redhat.com> - 196.3-1
+- systemd: Warn if not connected to Insights (rhbz#1745964)
+
+* Tue Aug 13 2019 Martin Pitt <mpitt@redhat.com> - 196.2-1
+- firewall: Show any included services on a service (rhbz#1721548)
+
+* Thu Aug 01 2019 Martin Pitt <mpitt@redhat.com> - 196.1-1
+- networkmanager: Show correct IPv6 route metric in dialog (rhbz#1719575)
+- networkmanager: Ensure that endianess is always set (rhbz#1728213)
+- Update translations (rhbz#1689977)
+
+* Thu Jun 13 2019 Martin Pitt <mpitt@redhat.com> - 196-1
+- Networking: Add Firewall Zones configuration rhbz#1678473
+- Fix ssh login to unknown hosts rhbz#1701174
+- Fix login when ~/.bashrc prints to stdout rhbz#1716223
+- Much better On/Off buttons, also avoid text overlap rhbz#1677593
+
+* Sun May 05 2019 Martin Pitt <mpitt@redhat.com> - 193-1
+- Allow accounts with non-standard shells rhbz#1631905
+- Translation cleanup rhbz#1666722
+
+* Thu Apr 04 2019 Martin Pitt <mpitt@redhat.com> - 191-1
+- System: Enable/disable SMT rhbz#1678956
+- Logs: Add service filtering rhbz#1657756
+- Networking: Add custom firewall ports rhbz#1660400
+
+* Wed Mar 13 2019 Martin Pitt <mpitt@redhat.com> - 189-1
+- Add search box to Services page rhbz#1657752
+- Connect to firewalld as superuser rhbz#1664158
+- Fix log filtering rhbz#1665421
+- Show error message for invalid IdM domain names rhbz#1659333
+- Changing passwords as root does not ask for current password rhbz#1666005
 
 * Fri Feb 08 2019 Martin Pitt <mpitt@redhat.com> - 185-2
 - Fix polkit policy file translation attributes rhbz#1671773