diff --git a/.cockpit.metadata b/.cockpit.metadata
index 38e602f..bf82dbe 100644
--- a/.cockpit.metadata
+++ b/.cockpit.metadata
@@ -1 +1 @@
-c81c4fd63504e87808bc7df1f2d640da8296de6e SOURCES/cockpit-238.2.tar.xz
+9c4eaceb65904809ba4ae1e03d71da01febf3053 SOURCES/cockpit-242.tar.xz
diff --git a/.gitignore b/.gitignore
index 009df0a..d425d2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/cockpit-238.2.tar.xz
+SOURCES/cockpit-242.tar.xz
diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec
index e97b560..7d9927e 100644
--- a/SPECS/cockpit.spec
+++ b/SPECS/cockpit.spec
@@ -1,5 +1,5 @@
 # This spec file has been automatically updated
-Version:        238.2
+Version:        242
 Release: 1%{?dist}
 #
 # Copyright (C) 2014-2020 Red Hat, Inc.
@@ -44,10 +44,6 @@ Release: 1%{?dist}
 
 %define __lib lib
 
-%if 0%{?rhel}
-%define vdo_on_demand 1
-%endif
-
 %if 0%{?suse_version}
 %define pamdir /%{_lib}/security
 %else
@@ -67,7 +63,7 @@ Source0:        https://github.com/cockpit-project/cockpit/releases/download/%{v
 %endif
 
 # in RHEL 8 the source package is duplicated: cockpit (building basic packages like cockpit-{bridge,system})
-# and cockpit-appstream (building optional packages like cockpit-{machines,pcp})
+# and cockpit-appstream (building optional packages like cockpit-{pcp})
 # This split does not apply to EPEL/COPR.
 # In Fedora ELN/RHEL 9+ there is just one source package, which ships rpms in both BaseOS and AppStream
 %if 0%{?rhel} == 8 && 0%{?epel} == 0
@@ -159,8 +155,6 @@ exec 2>&1
     --with-cockpit-user=cockpit-ws \
     --with-cockpit-ws-instance-user=cockpit-wsinstance \
     --with-selinux-config-type=etc_t \
-    --with-appstream-data-packages='[ "appstream-data" ]' \
-    --with-nfs-client-package='"nfs-utils"' \
 %if 0%{?suse_version}
     --docdir=%_defaultdocdir/%{name} \
 %endif
@@ -168,7 +162,7 @@ exec 2>&1
 %if 0%{?build_basic} == 0
     --disable-ssh \
 %endif
-    %{?vdo_on_demand:--with-vdo-package='"vdo"'}
+
 make -j4 %{?extra_flags} all
 
 %check
@@ -246,9 +240,6 @@ find %{buildroot}%{_datadir}/cockpit/packagekit -type f >> packagekit.list
 echo '%dir %{_datadir}/cockpit/apps' >> packagekit.list
 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
-
 echo '%dir %{_datadir}/cockpit/selinux' > selinux.list
 find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list
 
@@ -270,7 +261,7 @@ done
 for lib in systemd tmpfiles.d; do
     rm -r %{buildroot}/%{_prefix}/%{__lib}/$lib
 done
-for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-tls cockpit-wsinstance-factory cockpit-desktop; do
+for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-tls cockpit-wsinstance-factory cockpit-desktop cockpit-certificate-helper cockpit-certificate-ensure; do
     rm %{buildroot}/%{_libexecdir}/$libexec
 done
 rm -r %{buildroot}/%{_libdir}/security %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d
@@ -281,15 +272,13 @@ rm -f %{buildroot}%{_datadir}/metainfo/cockpit.appdata.xml
 
 # when not building optional packages, remove their files
 %if 0%{?build_optional} == 0
-for pkg in apps machines packagekit pcp playground storaged; do
+for pkg in apps packagekit pcp playground storaged; do
     rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg
 done
 # files from -tests
 rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets
 # files from -pcp
 rm -r %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/
-# 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
@@ -487,6 +476,8 @@ authentication via sssd/FreeIPA.
 %{_libexecdir}/cockpit-wsinstance-factory
 %{_libexecdir}/cockpit-tls
 %{_libexecdir}/cockpit-desktop
+%{_libexecdir}/cockpit-certificate-ensure
+%{_libexecdir}/cockpit-certificate-helper
 %attr(4750, root, cockpit-wsinstance) %{_libexecdir}/cockpit-session
 %{_datadir}/cockpit/branding
 
@@ -498,16 +489,15 @@ getent passwd cockpit-wsinstance >/dev/null || useradd -r -g cockpit-wsinstance 
 
 %post ws
 %tmpfiles_create cockpit-tempfiles.conf
-%systemd_post cockpit.socket
+%systemd_post cockpit.socket cockpit.service
 # firewalld only partially picks up changes to its services files without this
 test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true
 
 %preun ws
-%systemd_preun cockpit.socket
+%systemd_preun cockpit.socket cockpit.service
 
 %postun ws
-%systemd_postun_with_restart cockpit.socket
-%systemd_postun_with_restart cockpit.service
+%systemd_postun_with_restart cockpit.socket cockpit.service
 
 # -------------------------------------------------------------------------------
 # Sub-packages that are part of cockpit-system in RHEL/CentOS, but separate in Fedora
@@ -628,34 +618,9 @@ These files are not required for running Cockpit.
 %files -n cockpit-tests -f tests.list
 %{_prefix}/%{__lib}/cockpit-test-assets
 
-%package -n cockpit-machines
-BuildArch: noarch
-Summary: Cockpit user interface for virtual machines
-Requires: cockpit-bridge >= 186
-Requires: cockpit-system >= 186
-%if 0%{?suse_version}
-Requires: libvirt-daemon-qemu
-%else
-Requires: libvirt-daemon-kvm
-%endif
-Requires: libvirt-client
-Requires: libvirt-dbus >= 1.2.0
-# Optional components
-Recommends: virt-install
-Recommends: libosinfo
-Recommends: python3-gobject-base
-
-%description -n cockpit-machines
-The Cockpit components for managing virtual machines.
-
-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
-
 %package -n cockpit-pcp
 Summary: Cockpit PCP integration
-Requires: cockpit-bridge >= 134.x
+Requires: cockpit-bridge >= 238.1.1
 Requires(post): pcp
 
 %description -n cockpit-pcp
@@ -686,8 +651,9 @@ via PackageKit.
 
 # The changelog is automatically generated and merged
 %changelog
-* Fri Mar 12 2021 Matej Marusak <mmarusak@redhat.com> - 238.2-1
-- Update translations (rhbz#1899681)
+* Mon Apr 19 2021 Matej Marusak <mmarusak@redhat.com> - 242-1
+- Network: Fix device connection button (rhbz#1946874)
+- Network: Fully show MAC dropdown in add bond dialog (rhbz#1946877)
 
 * Mon Feb 22 2021 Martin Pitt <mpitt@redhat.com> - 238.1-1
 - Several UI alignment fixes