diff --git a/.NetworkManager.metadata b/.NetworkManager.metadata
index 5bc454a..8dfa229 100644
--- a/.NetworkManager.metadata
+++ b/.NetworkManager.metadata
@@ -1 +1 @@
-985cd602a89a10c4014a745e5f17e5b849242e06 SOURCES/NetworkManager-1.25.91.tar.xz
+550918f97f1614532a317465220d6b5cab08d47a SOURCES/NetworkManager-1.30.0.tar.xz
diff --git a/.gitignore b/.gitignore
index a6e6c34..7cd840b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/NetworkManager-1.25.91.tar.xz
+SOURCES/NetworkManager-1.30.0.tar.xz
diff --git a/SOURCES/0001-cloud-setup-systemd-unit-rh1791758.patch b/SOURCES/0001-cloud-setup-systemd-unit-rh1791758.patch
index b356d93..232a0e7 100644
--- a/SOURCES/0001-cloud-setup-systemd-unit-rh1791758.patch
+++ b/SOURCES/0001-cloud-setup-systemd-unit-rh1791758.patch
@@ -1,4 +1,4 @@
-From 04ad92e259cd81fb0a492bc0e2284877ccb297ea Mon Sep 17 00:00:00 2001
+From 6069af3e7a7d506c02f007c71e2a9271b8ef3d09 Mon Sep 17 00:00:00 2001
 From: Thomas Haller <thaller@redhat.com>
 Date: Thu, 16 Jan 2020 13:40:26 +0100
 Subject: [PATCH 1/1] cloud-setup: avoid unsupported systemd settings in
@@ -10,10 +10,10 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1791758
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/clients/cloud-setup/nm-cloud-setup.service.in b/clients/cloud-setup/nm-cloud-setup.service.in
-index 69a1a29ccba1..92e427beb8a1 100644
+index 9866acd8b0ae..a3df3863c4df 100644
 --- a/clients/cloud-setup/nm-cloud-setup.service.in
 +++ b/clients/cloud-setup/nm-cloud-setup.service.in
-@@ -21,15 +21,15 @@ PrivateDevices=yes
+@@ -22,15 +22,15 @@ PrivateDevices=yes
  PrivateTmp=yes
  ProtectControlGroups=yes
  ProtectHome=yes
@@ -33,5 +33,5 @@ index 69a1a29ccba1..92e427beb8a1 100644
  
  [Install]
 -- 
-2.24.1
+2.26.2
 
diff --git a/SOURCES/20-connectivity-fedora.conf b/SOURCES/20-connectivity-fedora.conf
index 4c398c3..5c9476a 100644
--- a/SOURCES/20-connectivity-fedora.conf
+++ b/SOURCES/20-connectivity-fedora.conf
@@ -4,6 +4,7 @@
 # Note that connectivity checking works badly with rp_filter set to
 # strict. Check "/proc/sys/net/ipv4/conf/*/rp_filter".
 [connectivity]
+enabled=true
 uri=http://fedoraproject.org/static/hotspot.txt
 response=OK
 interval=300
diff --git a/SOURCES/20-connectivity-redhat.conf b/SOURCES/20-connectivity-redhat.conf
index 94783b3..070f030 100644
--- a/SOURCES/20-connectivity-redhat.conf
+++ b/SOURCES/20-connectivity-redhat.conf
@@ -4,6 +4,7 @@
 # Note that connectivity checking works badly with rp_filter set to
 # strict. Check "/proc/sys/net/ipv4/conf/*/rp_filter".
 [connectivity]
+enabled=true
 uri=http://static.redhat.com/test/rhel-networkmanager.txt
 response=OK
 interval=300
diff --git a/SOURCES/9999-fix-pregen-doc.patch b/SOURCES/9999-fix-pregen-doc.patch
index 369c69b..d44f06c 100644
--- a/SOURCES/9999-fix-pregen-doc.patch
+++ b/SOURCES/9999-fix-pregen-doc.patch
@@ -1,4 +1,4 @@
-From 45d1bf8caf2d75c5728688c5cc0ac738b0078917 Mon Sep 17 00:00:00 2001
+From ce8ee35cb4e94e85ac1ecb268c6fa1ea14b1ae8d Mon Sep 17 00:00:00 2001
 From: Thomas Haller <thaller@redhat.com>
 Date: Tue, 27 Aug 2019 15:47:32 +0200
 Subject: [PATCH 1/1] patch documentation with the proper default values
@@ -14,7 +14,7 @@ Patch the man pages with the proper values.
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/docs/api/html/NetworkManager.conf.html b/docs/api/html/NetworkManager.conf.html
-index 2778de44e660..fdb772c5d355 100644
+index 44b25c4cbc9d..1ee9c2fb1e83 100644
 --- a/docs/api/html/NetworkManager.conf.html
 +++ b/docs/api/html/NetworkManager.conf.html
 @@ -574,7 +574,7 @@ unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth
@@ -27,7 +27,7 @@ index 2778de44e660..fdb772c5d355 100644
  </tr>
  <tr>
 diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5
-index 7f8b20abb0f3..d42437ec0f8e 100644
+index 396267e3ec09..7702b84b04fc 100644
 --- a/man/NetworkManager.conf.5
 +++ b/man/NetworkManager.conf.5
 @@ -598,7 +598,7 @@ INFO\&.
diff --git a/SPECS/NetworkManager.spec b/SPECS/NetworkManager.spec
index 65bd5fa..24d0bd1 100644
--- a/SPECS/NetworkManager.spec
+++ b/SPECS/NetworkManager.spec
@@ -5,9 +5,9 @@
 %global glib2_version %(pkg-config --modversion glib-2.0 2>/dev/null || echo bad)
 
 %global epoch_version 1
-%global rpm_version 1.26.0
-%global real_version 1.25.91
-%global release_version 0.2
+%global rpm_version 1.30.0
+%global real_version 1.30.0
+%global release_version 1
 %global snapshot %{nil}
 %global git_sha %{nil}
 
@@ -38,6 +38,18 @@
 
 ###############################################################################
 
+%if "x__BCOND_DEFAULT_DEBUG__" == "x1" || "x__BCOND_DEFAULT_DEBUG__" == "x0"
+%global bcond_default_debug __BCOND_DEFAULT_DEBUG__
+%else
+%global bcond_default_debug 0
+%endif
+
+%if "x__BCOND_DEFAULT_TEST__" == "x1" || "x__BCOND_DEFAULT_TEST__" == "x0"
+%global bcond_default_test __BCOND_DEFAULT_TEST__
+%else
+%global bcond_default_test 0
+%endif
+
 %bcond_with meson
 %bcond_without adsl
 %bcond_without bluetooth
@@ -52,9 +64,21 @@
 # on RHEL we don't regenerate the documentation
 %bcond_with    regen_docs
 
+%if %{bcond_default_debug}
+%bcond_without debug
+%else
 %bcond_with    debug
+%endif
+%if %{bcond_default_test}
+%bcond_without test
+%else
 %bcond_with    test
+%endif
+%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
+%bcond_without lto
+%else
 %bcond_with    lto
+%endif
 %bcond_with    sanitizer
 %if 0%{?fedora}
 %bcond_without connectivity_fedora
@@ -106,13 +130,21 @@
 
 %if 0%{?fedora} || 0%{?rhel} > 7
 %global logging_backend_default journal
+%if 0%{?fedora} || 0%{?rhel} > 8
+%global dns_rc_manager_default auto
+%else
 %global dns_rc_manager_default symlink
+%endif
 %else
 %global logging_backend_default syslog
 %global dns_rc_manager_default file
 %endif
 
+%if 0%{?rhel} > 8 || 0%{?fedora} > 32
+%global config_plugins_default keyfile,ifcfg-rh
+%else
 %global config_plugins_default ifcfg-rh
+%endif
 
 %if 0%{?fedora}
 # Although eBPF would be available on Fedora's kernel, it seems
@@ -125,6 +157,11 @@
 %global ebpf_enabled "no"
 %endif
 
+# Fedora 33 enables LTO by default by setting CFLAGS="-flto -ffat-lto-objects".
+# However, we also require "-flto -flto-partition=none", so disable Fedora's
+# default and use our configure option --with-lto instead.
+%define _lto_cflags %{nil}
+
 ###############################################################################
 
 Name: NetworkManager
@@ -134,7 +171,7 @@ Version: %{rpm_version}
 Release: %{release_version}%{?snap}%{?dist}
 Group: System Environment/Base
 License: GPLv2+ and LGPLv2+
-URL: http://www.gnome.org/projects/NetworkManager/
+URL: https://networkmanager.dev/
 
 Source: https://download.gnome.org/sources/NetworkManager/%{real_version_major}/%{name}-%{real_version}.tar.xz
 Source1: NetworkManager.conf
@@ -149,7 +186,7 @@ Source6: 70-nm-connectivity.conf
 Patch1: 0001-cloud-setup-systemd-unit-rh1791758.patch
 
 # Bugfixes that are only relevant until next rebase of the package.
-#Patch1000: 1000-some-patch.patch
+# Patch1000: some.patch
 
 # The pregenerated docs contain default values and paths that depend
 # on the configure options when creating the source tarball.
@@ -182,6 +219,7 @@ Conflicts: NetworkManager-pptp < 1:0.7.0.99-1
 Conflicts: NetworkManager-openconnect < 0:0.7.0.99-1
 Conflicts: kde-plasma-networkmanagement < 1:0.9-0.49.20110527git.nm09
 
+BuildRequires: make
 BuildRequires: gcc
 BuildRequires: libtool
 BuildRequires: pkgconfig
@@ -342,6 +380,12 @@ Summary: Wifi plugin for NetworkManager
 Group: System Environment/Base
 Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
 
+%if 0%{?fedora} >= 29 || 0%{?rhel} >= 9
+Requires: wireless-regdb
+%else
+Requires: crda
+%endif
+
 %if %{with iwd} && (0%{?fedora} > 24 || 0%{?rhel} > 7)
 Requires: (wpa_supplicant >= %{wpa_supplicant_version} or iwd)
 Suggests: wpa_supplicant
@@ -634,6 +678,8 @@ This tool is still experimental.
 %endif
 	-Ddist_version=%{version}-%{release} \
 	-Dconfig_plugins_default=%{config_plugins_default} \
+	-Dresolvconf=no \
+	-Dnetconfig=no \
 	-Dconfig_dns_rc_manager_default=%{dns_rc_manager_default} \
 	-Dconfig_logging_backend_default=%{logging_backend_default} \
 	-Djson_validation=true
@@ -772,11 +818,12 @@ intltoolize --automake --copy --force
 %endif
 	--with-dist-version=%{version}-%{release} \
 	--with-config-plugins-default=%{config_plugins_default} \
+	--with-resolvconf=no \
+	--with-netconfig=no \
 	--with-config-dns-rc-manager-default=%{dns_rc_manager_default} \
-	--with-config-logging-backend-default=%{logging_backend_default} \
-	--enable-json-validation
+	--with-config-logging-backend-default=%{logging_backend_default}
 
-make %{?_smp_mflags}
+%make_build
 
 %endif
 
@@ -784,7 +831,7 @@ make %{?_smp_mflags}
 %if %{with meson}
 %meson_install
 %else
-make install DESTDIR=%{buildroot}
+%make_install
 %endif
 
 cp %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/
@@ -850,8 +897,12 @@ fi
 
 
 %post
-/usr/bin/udevadm control --reload-rules || :
-/usr/bin/udevadm trigger --subsystem-match=net || :
+# skip triggering if udevd isn't even accessible, e.g. containers or
+# rpm-ostree-based systems
+if [ -S /run/udev/control ]; then
+    /usr/bin/udevadm control --reload-rules || :
+    /usr/bin/udevadm trigger --subsystem-match=net || :
+fi
 %if %{with firewalld_zone}
 %firewalld_reload
 %endif
@@ -958,7 +1009,8 @@ fi
 %{_mandir}/man1/*
 %{_mandir}/man5/*
 %{_mandir}/man7/nmcli-examples.7*
-%{_mandir}/man8/*
+%{_mandir}/man8/nm-initrd-generator.8.gz
+%{_mandir}/man8/NetworkManager.8.gz
 %dir %{_localstatedir}/lib/NetworkManager
 %dir %{_sysconfdir}/sysconfig/network-scripts
 %{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service
@@ -1093,15 +1145,119 @@ fi
 %{systemd_dir}/nm-cloud-setup.timer
 %{nmlibdir}/dispatcher.d/90-nm-cloud-setup.sh
 %{nmlibdir}/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh
+%{_mandir}/man8/nm-cloud-setup.8*
 %endif
 
 
 %changelog
+* Thu Feb 18 2021 Thomas Haller <thaller@redhat.com> - 1:1.30.0-1
+- Update to 1.30.0 release
+
+* Thu Feb 11 2021 Thomas Haller <thaller@redhat.com> - 1:1.30.0-0.10
+- Update to 1.30-rc1 (1.29.90-dev) (development)
+- cloud-setup: fix removing IPv4 address (rh #1920838)
+
+* Mon Feb  8 2021 Antonio Cardace <acardace@redhat.com> - 1:1.30.0-0.9
+- Update to 1.29.11 (development)
+- bond: fix changing mode when the device is created externally (rh #1870691)
+- ovs: fix firewalld configuration for ovs-ports (rh #1921107)
+- ovs: avoid race condition when system interface is removed from ovsdb (rh #1923248)
+- doc: mention NETMASK as alternative to PREFIX for addresses in `man nm-settings-ifcfg-rh` (rh #1925123)
+
+* Wed Jan 27 2021 Beniamino Galvani <bgalvani@redhat.com> - 1:1.30.0-0.8
+- Update to 1.29.10 (development)
+- bond: introduce new 'vlan+srcmac' xmit_hash_policy option (rh #1915457)
+- ovs: clean up interfaces from ovsdb at startup (rh #1861296)
+
+* Tue Jan 19 2021 Thomas Haller <thaller@redhat.com> - 1:1.30.0-0.7
+- Update to 1.29.9 (development)
+- By default check all devices for hostname reverse DNS lookup (rh #1766944)
+
+* Thu Jan 14 2021 Thomas Haller <thaller@redhat.com> - 1:1.30.0-0.6
+- Update to 1.29.8 (development)
+- initrd: accept zero-byte prefix for BOOTIF MAC address (rh #1904099)
+- core: fix bond port wrongly detached by dispather call (rh #1888348)
+- cloud-setup: add manual page (rh #1867997)
+- core: fix handling timeout for IPv6 RDNSS,DNSSL option in RA (rh #1874743)
+
+* Wed Dec 23 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.30.0-0.5
+- Update to 1.29.7 (development)
+- Add WPA3-Enterprise support (rh #1883024)
+
+* Mon Dec 14 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.30.0-0.4
+- Update to 1.29.6 (development)
+- initrd: disable ipv4 and ipv6 by default for vlan parent connection (rh #1903175)
+- initrd: fix parsing of ip= argument with dotted interface name (rh #1898294)
+
+* Fri Nov 27 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.30.0-0.3
+- Update to 1.29.3 (development)
+- Support changing external-ids of OVS bridges and interfaces (rh #1866227)
+- Add a hostname setting (rh #1766944)
+- Support creating veth interfaces (rh #1901523)
+- initrd: fix parsing of ip= arguments with empty first token (rh #1900260)
+
+* Mon Nov  9 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.30.0-0.2
+- device: fix crash in nm_device_reactivate_ip_config()
+- dns: fix crash in systemd-resolved DNS plugin (rh #1894839)
+
+* Mon Nov  2 2020 Antonio Cardace <acardace@redhat.com> - 1:1.30.0-0.1
+- Update to 1.29.1 (development)
+- add library for handling profiles in keyfile format (rh #1813334)
+- initrd: allow disabling NICs during boot (rh #1883958)
+- allow `NM.Device.get_applied_connection_async()` to run by non-privilege user (rh #1882380)
+- nmcli ignores /etc/terminal-colors.d/nmcli.scheme (rh #1886336)
+- pass bridge master to wpa_supplicant when Wlan is part of bridge (rh #1888051)
+- add infiniband support in initrd (rh #1883173)
+
+* Fri Sep 18 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.28.0-0.1
+- Update to 1.27.3 (development)
+- device: enforce the absence of a master during activation (rh #1869079)
+- bond: fix race condition setting the "active_slave" option (rh #1856640)
+
+* Tue Sep 1 2020 Antonio Cardace <acardace@redhat.com> - 1:1.26.0-7
+- dhcp: add dhcp-vendor-class-identifier option (rh #1871042)
+- initrd: parse 'rd.net.dhcp.vendor-class' kernel cmdline arg (rh #1872299)
+
+* Mon Aug 17 2020 Thomas Haller <thaller@redhat.com> - 1:1.26.0-6
+- core: fix handling of local routes as default route and on D-Bus (rh #1868982)
+
+* Thu Aug 13 2020 Thomas Haller <thaller@redhat.com> - 1:1.26.0-5
+- core: fix wait-device-timeout race and support general device matches (rh #1853348)
+
+* Tue Aug 11 2020 Antonio Cardace <acardace@redhat.com> - 1:1.26.0-4
+- bond: fix Reapply does not update bond options (rh #1847814)
+- dhcp: support DHCPv6 fqdn_fqdn option for hostname (rh #1858344)
+
+* Thu Aug  6 2020 Thomas Haller <thaller@redhat.com> - 1:1.26.0-3
+- core: fix managing devices after resuming from sleep (rh #1855563)
+- dhcp: fix BPF filter for internal client on big endian arch (rh #1861488)
+- core: support warning log setting IPv6 MTU with IPv6 disabled (rh #1840989)
+- wifi: fix crash parsing incomplete BSS info (rh #1866395)
+
+* Fri Jul 17 2020 Antonio Cardace <acardace@redhat.com> - 1:1.26.0-2
+- core: fix generation of local routes for VRF devices (rh #1857133)
+- team: fix crash on failure to connect to teamd (rh #1856723)
+- core: fix detecting failure of master active-connection (rh #1845018)
+- core: fix warning about setting active_slave of bond when activating master (rh #1858326)
+- import translations (rh #1820552)
+
+* Mon Jul 13 2020 Thomas Haller <thaller@redhat.com> - 1:1.26.0-1
+- update to 1.26.0
+- device: reset SR-IOV parameters on activation failure (rh #1819587)
+- initrd: enable ipv6.method=auto with ip=dhcp6 (rh #1854323)
+- core: add "nm-shared" zone for firewalld for shared mode (rh #1834907)
+- ppp: fix taking control of link (rh #1849386)
+
+* Mon Jul  6 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.26.0-0.2.1
+- device: restart DHCP only for devices that are active or activating (rh #1852612)
+- initrd: fix generating default BOOTIF= connection (rh #1853277)
+- ovs: fix race condition when setting MAC address for ovs interfaces (rh #1852106)
+
 * Sun Jun 28 2020 Beniamino Galvani <bgalvani@redhat.com> - 1:1.26.0-0.2
 - update to 1.26-rc2 (1.25.91)
 - initrd: set ipv6.method=auto when using IPv4 static configuration (rh #1848943)
 - cloud-setup: add support for Google Cloud load-balancing routes (rh #1821787)
-                                                                     
+
 * Mon Jun 15 2020 Thomas Haller <thaller@redhat.com> - 1:1.26.0-0.1
 - update to 1.26-rc1 (1.25.90)
 - core: support more tc qdiscs (tbf and sfq) (rh #1546802)
@@ -2943,7 +3099,7 @@ fi
 - Add dbus-glib-devel BuildRequires for NetworkManager-glib-devel (rh #442978)
 - Add PPP settings page to connection editor
 - Fix a few crashes with PPPoE
-- Fix active connection state changes that confused clients 
+- Fix active connection state changes that confused clients
 
 * Thu Apr 17 2008 Dan Williams <dcbw@redhat.com> - 1:0.7.0-0.9.2.svn3571
 - Fix build in pppd-plugin
@@ -3274,7 +3430,7 @@ fi
 * Fri Feb  2 2007 Christopher Aillon <caillon@redhat.com> - 1:0.6.5-0.2.cvs20061025
 - Move .so file to -devel package
 
-* Sat Nov 25 2006 Matthias Clasen <mclasen@redhat.com> 
+* Sat Nov 25 2006 Matthias Clasen <mclasen@redhat.com>
 - Own the /etc/NetworkManager/dispatcher.d directory
 - Require pkgconfig for the -devel packages
 - Fix compilation with dbus 1.0
@@ -3352,7 +3508,7 @@ fi
   (did he fire ten args, or only nine?)
 
 * Thu Apr 27 2006 Jeremy Katz <katzj@redhat.com> - 0.6.2-2.fc6
-- use the hal device type instead of poking via ioctl so that wireless 
+- use the hal device type instead of poking via ioctl so that wireless
   devices are properly detected even if the kill switch has been used
 
 * Thu Mar 30 2006 Dan Williams <dcbw@redhat.com> - 0.6.2-1
@@ -3496,7 +3652,7 @@ fi
 	o Better caching of information in the applet (Bill Moss)
 	o Generate automatic suggested Ad-Hoc network name from machine's hostname
 		(Robert Love)
-	o Update all network information on successfull connect, not just 
+	o Update all network information on successfull connect, not just
 		authentication method
 
 * Fri Jul 29 2005 Ray Strode  <rstrode@redhat.com> - 0.4-34.cvs20050729