diff --git a/.NetworkManager.metadata b/.NetworkManager.metadata
index 9d57634..327fdba 100644
--- a/.NetworkManager.metadata
+++ b/.NetworkManager.metadata
@@ -1 +1 @@
-8d1b4a01947cad0a77a21be01fd9f3679536f7dc SOURCES/NetworkManager-1.31.5.tar.xz
+210d880fae2e6905885b529a56512b970aa37aba SOURCES/NetworkManager-1.31.90.tar.xz
diff --git a/.gitignore b/.gitignore
index cac23fe..2379f4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/NetworkManager-1.31.5.tar.xz
+SOURCES/NetworkManager-1.31.90.tar.xz
diff --git a/SOURCES/NetworkManager.conf b/SOURCES/NetworkManager.conf
index 6ee4797..2fd5127 100644
--- a/SOURCES/NetworkManager.conf
+++ b/SOURCES/NetworkManager.conf
@@ -3,20 +3,18 @@
 # See "man 5 NetworkManager.conf" for details.
 #
 # The directories /usr/lib/NetworkManager/conf.d/ and /run/NetworkManager/conf.d/
-# can contain additional configuration snippets installed by packages. These files are
+# can contain additional .conf snippets installed by packages. These files are
 # read before NetworkManager.conf and have thus lowest priority.
-# The directory /etc/NetworkManager/conf.d/ can contain additional configuration
+# The directory /etc/NetworkManager/conf.d/ can contain additional .conf
 # snippets. Those snippets are merged last and overwrite the settings from this main
 # file.
 #
 # The files within one conf.d/ directory are read in asciibetical order.
 #
-# If /etc/NetworkManager/conf.d/ contains a file with the same name as
-# /usr/lib/NetworkManager/conf.d/, the latter file is shadowed and thus ignored.
-# Hence, to disable loading a file from /usr/lib/NetworkManager/conf.d/ you can
-# put an empty file to /etc with the same name. The same applies with respect
-# to the directory /run/NetworkManager/conf.d where files in /run shadow
-# /usr/lib and are themselves shadowed by files under /etc.
+# You can prevent loading a file /usr/lib/NetworkManager/conf.d/NAME.conf
+# by having a file NAME.conf in either /run/NetworkManager/conf.d/ or /etc/NetworkManager/conf.d/.
+# Likewise, snippets from /run can be prevented from loading by placing
+# a file with the same name in /etc/NetworkManager/conf.d/.
 #
 # If two files define the same key, the one that is read afterwards will overwrite
 # the previous one.
@@ -30,8 +28,7 @@
 #
 # Logfiles contain no passwords and little sensitive information. But please
 # check before posting the file online. You can also personally hand over the
-# logfile to a NM developer to treat it confidential. Meet us on #nm on freenode.
-# Please post full logfiles except minimal modifications of private data.
+# logfile to a NM developer to treat it confidential. Meet us on #nm on Libera.Chat.
 #
 # You can also change the log-level at runtime via
 #   $ nmcli general logging level TRACE domains ALL
@@ -42,9 +39,14 @@
 # You will find the logfiles in syslog, for example via
 #   $ journalctl -u NetworkManager
 #
+# Please post full logfiles for bug reports without pre-filtering or truncation.
+# Also, for debugging the entire `journalctl` output can be interesting. Don't
+# limit unnecessarily with `journalctl -u`. Exceptions are if you are worried
+# about private data. Check before posting logfiles!
+#
 # Note that debug logging of NetworkManager can be quite verbose. Some messages
 # might be rate-limited by the logging daemon (see RateLimitIntervalSec, RateLimitBurst
-# in man journald.conf). Please disable rate-limiting before collecting debug logs.
+# in man journald.conf). Please disable rate-limiting before collecting debug logs!
 #
 #level=TRACE
 #domains=ALL
diff --git a/SPECS/NetworkManager.spec b/SPECS/NetworkManager.spec
index de04cf5..7de4854 100644
--- a/SPECS/NetworkManager.spec
+++ b/SPECS/NetworkManager.spec
@@ -6,8 +6,8 @@
 
 %global epoch_version 1
 %global rpm_version 1.32.0
-%global real_version 1.31.5
-%global release_version 0.4
+%global real_version 1.31.90
+%global release_version 0.5
 %global snapshot %{nil}
 %global git_sha %{nil}
 
@@ -114,6 +114,14 @@
 %global dbus_sys_dir %{_sysconfdir}/dbus-1/system.d
 %endif
 
+# Older libndp versions use select() (rh#1933041). On well known distros,
+# choose a version that has the necessary fix.
+%if 0%{?rhel} && 0%{?rhel} == 8
+%global libndp_version 1.7-4
+%else
+%global libndp_version %{nil}
+%endif
+
 %if %{with bluetooth} || %{with wwan}
 %global with_modem_manager_1 1
 %else
@@ -201,7 +209,9 @@ Requires(postun): systemd
 Requires: dbus >= %{dbus_version}
 Requires: glib2 >= %{glib2_version}
 Requires: %{name}-libnm%{?_isa} = %{epoch}:%{version}-%{release}
-Obsoletes: dhcdbd
+%if "%{libndp_version}" != ""
+Requires: libndp >= %{libndp_version}
+%endif
 Obsoletes: NetworkManager < %{obsoletes_device_plugins}
 Obsoletes: NetworkManager < %{obsoletes_ppp_plugin}
 Obsoletes: NetworkManager-wimax < 1.2
@@ -250,7 +260,6 @@ BuildRequires: gtk-doc
 BuildRequires: libudev-devel
 BuildRequires: libuuid-devel
 BuildRequires: /usr/bin/valac
-BuildRequires: iptables
 BuildRequires: libxslt
 %if %{with bluetooth}
 BuildRequires: bluez-libs-devel
@@ -326,7 +335,6 @@ Summary: ADSL device plugin for NetworkManager
 Group: System Environment/Base
 Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
 Obsoletes: NetworkManager < %{obsoletes_device_plugins}
-Obsoletes: NetworkManager-atm
 
 %description adsl
 This package contains NetworkManager support for ADSL devices.
@@ -346,7 +354,6 @@ Requires: NetworkManager-wwan = %{epoch}:%{version}-%{release}
 Requires: bluez >= 4.101-5
 %endif
 Obsoletes: NetworkManager < %{obsoletes_device_plugins}
-Obsoletes: NetworkManager-bt
 
 %description bluetooth
 This package contains NetworkManager support for Bluetooth devices.
@@ -567,6 +574,8 @@ This tool is still experimental.
 %if %{with test}
 	--werror \
 %endif
+	-Dnft=/usr/sbin/nft \
+	-Diptables=/usr/sbin/iptables \
 	-Ddhcpcanon=no \
 	-Ddhcpcd=no \
 	-Dconfig_dhcp_default=%{dhcp_default} \
@@ -695,6 +704,8 @@ intltoolize --automake --copy --force
 	--with-runstatedir=%{_rundir} \
 	--disable-silent-rules \
 	--disable-static \
+	--with-nft=/usr/sbin/nft \
+	--with-iptables=/usr/sbin/iptables \
 	--with-dhclient=yes \
 	--with-dhcpcd=no \
 	--with-dhcpcanon=no \
@@ -1150,11 +1161,21 @@ fi
 
 
 %changelog
+* Mon Jun  7 2021 Thomas Haller <thaller@redhat.com> - 1:1.32.0-0.5
+- update to 1.32-rc1 (1.31.90) (release candidate)
+- core: allow to preserved external TFilter and QDisc settings (rh #1928078)
+- bond: support "tlb_dynamic_lb" in "balance-alb" mode (rh #1959934)
+
 * Thu May 20 2021 Wen Liang <wenliang@redhat.com> - 1:1.32.0-0.4
 - Update to 1.31.5 (development)
+- core: configure MTU early before DHCP completes (rh #1890234)
+- core: fix activation handling for ports (rh #1955101, rh #1959961)
+- core: add support for ethtool pause parameters (rh #1899372)
+- dhcp: support option 249 (Microsoft Classless Static Route) (rh #1959461)
 
 * Wed May  5 2021 Beniamino Galvani <bgalvani@redhat.com> - 1:1.32.0-0.3
 - Update to 1.31.4 (development)
+- core: fix assertion failure in activation handling (rh #1933719)
 
 * Thu Apr 22 2021 Beniamino Galvani <bgalvani@redhat.com> - 1:1.32.0-0.2
 - Update to 1.31.3 (development)