============================================ NetworkManager-1.2 Overview of changes since NetworkManager-1.0 ============================================ This is a new stable release of NetworkManager. Notable changes include: * Added an option to enable use of random MAC addresses for Wi-Fi access point scanning (defaults to disabled). Controlled with 'wifi.mac-address-randomization' property (MAC_ADDRESS_RANDOMIZATION key in ifcfg files). * Wi-Fi scanning now utilizes wpa_supplicant's AP list. * Added support for Wi-Fi powersave, configured with POWERSAVE key in ifcfg files. * Added support for creation of more types of software devices: tun & tap, maxvlan, vxlan and ip tunnels (ipip, gre, sit, isatap, vti, ip6ip6, ipip6, ip6gre and vti6). * The software devices (bond, bridge, vlan, team, ...) can now be stacked arbitrarily. The nmcli interface for creating master-slave relationships has been significantly improved by the use of 'master' argument to all link types. * RFC7217 stable privacy addressing is now used by default to protect from address-based host tracking. The IPv6 addressing mode is configured with IPV6_ADDR_GEN_MODE key in ifcfg files. * Improved route management code to avoid clases between conflicting routes in multiple connections. * Refactored platform code resulting in more robust interface to platform, less overhead and reduced memory footprint. * Improved interoperability with other network management tools. The externally created software devices are not managed until they're activated. * The Device instances now exist for all software connections and the platform devices are now only created when the device is activated. This makes it possible for connections with device of same name not to clash unless they're activated concurrently. The links are now not unnecessarily present unless the connection is active, avoiding pollution of the link name space. * NetworkManager now correctly manages connectivity in namespace-based containers such as LXC and Docker. * Support for configuring ethernet Wake-On-Lan has been added. * Added LLDP listener functionality and related CLI client commands. Enabled via LLDP option in ifcfg files. * CLI secret agent has been extended with support for VPN secrets. * The command line client now utilizes colors for its output. * The command line client now sorts the devices and properties for better clarity. * Numerous impovement to Bash command completion for nmcli. * NetworkManager relies on less external libraries. The use of dbus-glib has been replaced with gio's native D-Bus support and libnl-route is no longer used. * Dependency on avahi-autoipd has been dropped. Native IPv4 link-local addressing configuration based on systemd network library is now used instead. * Hostname is now managed via systemd-hostnamed on systemd-based systems. * Management of resolv.conf management can be changed at runtime, private resolv.conf is always written in /run. * DNS options in resolv.conf are now honored. * Updated version of systemd network library used for internal DHCP and IPv4 link-local support. * Support for event logging via audit subsystem has been added. * Support for native logging via systemd-journald has been added taking advantage of its structured logging. * Live reconfiguration in IP configuration after changing the settings without reactivation of the device with "nmcli device reapply" command and via D-Bus API. * The API for VPN plugins now supports multiple simultaneous connections. Most popular VPN plugins have been updated to support this functionality. * The libnm library now provides API to access VPN service definitions. * Fair amount of bugs was fixed and robustness was generally improved. * New DHCP_FQDN key in ifcfg files to configure the full FQDN to be sent to the DHCP servers. * Added multicast_snooping option to BRIDGING_OPTS ifcfg key. The following features were backported to 1.0.x releases from 1.0.0 to 1.0.8 are also present in NetworkManager-1.2: