Published new stable release of the interface to simplify the configuration of network parameters - Network Manager 1.20. Plugins to support VPN, OpenConnect, PPTP, OpenVPN, and OpenSWAN are developed through their own development cycles.
Added support for wireless mesh networks, each node in which is connected through neighboring nodes;
Removed obsolete components. This includes the removal of the libnm-glib library, which was replaced by the libnm library in NetworkManager 1.0, the removal of the ibft plugin (to pass network configuration data from the firmware, use nm-initrd-generator from the initrd), and the "main.monitor- connection-files" in NetworkManager.conf (should explicitly call "nmcli connection load" or "nmcli connection reload");
By default, the built-in DHCP client ("internal" mode) is enabled instead of the previously used dhclient application. You can change the default value using the "--with-config-dhcp-default" build option or through the main.dhcp setting in the configuration file;
Added the ability to configure the fq_codel (Fair Queuing Controlled Delay) queue management discipline for pending packets and the mirred action for traffic mirroring;
For distributions, the ability to place dispatch scripts in the /usr/lib/NetworkManager directory is provided, which can be used in system images that are available in read-only mode and clear /etc at each start;
Added support for read-only directories to the keyfile plugin
("/usr/lib/NetworkManager/system-connections"), whose profiles can be modified or deleted via D-Bus (in this case, unmodifiable files in /usr/lib/ are overridden by files saved in /etc or / run);
libnm has redesigned JSON settings parsing code and provides more stringent parameter checking;
Added support for the "suppress_prefixlength" attribute in policy routing rules;
For VPN WireGuard, support for scripts for automatically assigning the default route "wireguard.ip4-auto-default-route" and "wireguard.ip6-auto-default-route" is implemented;
The implementation of settings management plugins and the method of storing profiles on disk has been redesigned. Added support for migrating connection profiles between plugins;
In-memory profiles are now handled only by the keyfile plugin and stored in the /run directory, which avoids losing profiles after NetworkManager restart and makes it possible to use the FS-based API to create in-memory profiles;
Added new D-Bus method AddConnection2(), which allows you to block auto-connection of a profile at the time of its creation. The method Update2() added flag "no-reapply", in which changing the contents of the connection profile does not automatically change the actual configuration of the device until the profile is reactivated;
Added "ipv6.method=disabled" setting to disable IPv6 for a device.