device: renew dhcp leases on awake for software devices
[NetworkManager.git] / NEWS
diff --git a/NEWS b/NEWS
index 63f39e0..19afd6d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,423 @@
+============================================
+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,
+    macvlan, vxlan and ip tunnels (ipip, gre, sit, ip6ip6 and ipip6).
+* 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 clashes 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 namespace.
+* 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 improvements 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 can be changed at runtime, private resolv.conf
+    is always written in /run.
+* NetworkManager can now write DNS options to resolv.conf.
+* Added an option to enable the old-fashioned /etc/resolv.conf handling
+   (using a symlink)
+* 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 of 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.
+* New DHCP_FQDN key in ifcfg files to configure the full FQDN to be sent to
+    the DHCP servers.
+* The timeout for DHCP requests can now be modified using the
+    'ipv4.dhcp-timeout' property.
+* Added multicast_snooping option to BRIDGING_OPTS ifcfg key.
+* Added support for detecting duplicate IPv4 addresses, with a timeout
+    configurable through the ipv4.dad-timeout connection property.
+* Fixed a race condition that could potentially lead to unauthorized access
+    to connection secrets (CVE-2016-0764).
+* dnsmasq configuration for shared connections can now be extended by
+    placing custom files in /etc/NetworkManager/dnsmasq-shared.d/.
+* Generic devices are no longer assumed unless explicitly requested by
+    user.
+* The reorder-header VLAN flag setting is now honored; to keep backwards
+    compatibility in behavior, an existing REORDER_HDR=0 ifcfg-rh key is
+    ignored; the flag must be disabled with VLAN_FLAGS=NO_REORDER_HDR.
+* NetworkManager now checks the connection data from client for validity
+    and gracefully handles unknown properties in client. This improves
+    interoperability between the server and clients of different versions.
+* The activation of a VLAN device with a virtual parent that is inactive
+    now results in a parent being activated first.
+* The server name used with 802.1x authentication can now be constrained
+    to a particular domain suffix (CVE-2006-7246).
+* Fair amount of bugs was fixed and robustness was generally improved.
+
+The following features were backported to 1.0.x releases from 1.0.0 to 1.0.10
+are also present in NetworkManager-1.2:
+
+* Added support for handling VPN secrets to nmtui and nmcli agent.
+* The team devices can now properly be enslaved to bridges.
+* Failed DHCP attempts for assumed connections are now retried after
+    a timeout.
+* Default wired connection is now created after udev registers the device.
+* Support for Bluetooth DUN devices with Bluez 5 has been fixed.
+* The 'ipv6.ignore-auto-dns' property is now properly honored making it
+    possible to override automatically obtained name servers.
+* Invalid permanent MAC addresses as reported by some devices are now
+    ignored.
+* Device links reported by more recent versions of Linux kernel that reside
+    in different network namespaces are no longer confused with links in
+    the namespace NetworkManager runs in.
+* MAC address changes of bond or team devices are now properly propagated
+    to VLANs created on the device.
+* Fixed error handling for teaming devices with invalid configuration.
+* Wi-Fi AP list is now updated correctly after AP mode has been used.
+* The error handling for VPN secret agents is now significantly more robust.
+* Detection of s390 CTC devices now works properly.
+* A GATEWAY key in in /etc/sysconfig/network now no longer affects
+    non-static connections.
+* Added support for IPv6-only VPN connections.
+* The systemd service now uses HUP signal to reload configuration.
+* Change VLAN default flags to set REORDER_HDR for new connections.
+* nmtui is now able to ignore automatically configured routes.
+* Allow setting IPv6 and PPP settings for GDM and CDMA connections via
+    nmcli.
+* Added support for adding ADSL connections in nmcli.
+* Improved capture portal detection.
+* Default route through WiFi connection is now preferred to Mobile
+    Broadband if both are available.
+* Expose a flag to determine whether a particular connection is metered
+    via API and client tools. Configurable in ifcfg with CONNECTION_METERED
+    key.
+* Add support for locking connections to a channel within a particular
+    band.
+* Add support for configuring Wake-on-LAN capabilitites.
+* Allow overriding the MTU for team device.
+* The MTU setting from an IPv6 neighbor discovery Router Advertisements is
+    now ignored if applying it would result in invalid configuration.
+* Some configuration options can now be changed without restarting the
+    daemon. Notably, this applies to 'dns', 'connectivity' and
+    'ignore-carrier' settings.
+* The connection activation was made more robust. If an active connection
+    is reactivated, the device it is active on takes precedence. If an attempt
+    is made to activate a connection on a different device than the one it is
+    active on, the activation proceeds removing the connection from the active
+    device.
+* The device specifiers in configuration files now support negation via
+    'except:' match.
+* Devices that only have IPv6 link-local address are no longer assumed to
+    be connected.
+* nmcli now provides hints and tab-completion for enumeration properties.
+* If the IPv6 interface tokens are set they are honored when creating an
+    interface identifier for IPv6 addressing.
+* NetworkManager now maintains correct routing configuration when multiple
+    interfaces are connected to the same network.
+* The management of devices can now be controlled with udev rules. The veth
+    devices as well as the virtual Ethernet devices of various
+    virtualization tools (VMWare, VirtualBox, Parallels Workstation) are
+    now ignored by default.
+* The IPv6 privacy extensions are now enabled by default and handling of
+    the ip6-privacy sysctl has been improved.
+* Activating a Bond, Bridge or Team device can now optionally activate the
+    slave connections as well. The behavior is controlled with
+    'connection.autoconnect-slaves' property and AUTOCONNECT-SLAVES key in
+    ifcfg files.
+* The platform support code has been refactored, resulting in better
+    scalability in large configurations.
+* Changes to network interfaces configuration done outside NetworkManager
+    are now picked up and exposed to the user via NetworkManager API and tools.
+* A connection can now optionally leave externally configured default route
+    in place instead of overriding it. The behavior is controlled with
+    'ipv4.never-default' and 'ipv6.never-default' properties.
+* nmcli allows multiple devices for 'nmcli device disconnect/delete'.
+* Firewall zone is added to firewalld for device-based VPN connections too.
+* Wi-Fi devices now indicate support for 2GHz and 5GHz frequencies
+* "nmcli device" output now indicates physical port ID
+* New config items added to the 'ifcfg-rh' plugin:
+  - IPV4_ROUTE_METRIC and IPV6_ROUTE_METRIC
+  - DEVTIMEOUT
+  - IPADDR and PREFIX are now supported for specifying address ranges of
+      shared IPv4 connections
+* Dispatcher scripts now get a CONNECTION_FILENAME variable with the path
+    to the configuration file for the connection
+* An example dispatcher script that is able to apply complex routing rules
+    (such as setting up policy-based routing) for 'ifcfg-rh' connections was
+    added to examples/dispatcher/.
+* 'mode' key of Bond device options property now accepts numeric values
+* Connection attempts for devices without carrier on startup now wait for
+    carrier to appear within a short timeout instead of failing
+    immediately. This makes system startup more robust.
+* Bridge connectivity is now properly restored on resume from suspend
+* The D-Bus name is acquired earlier during the daemon startup. This makes
+    it possible for the systemd service manager to optimize the service
+    startup so that services that require networking are activated sooner
+    contributing to faster system start up time.
+* A lot of memory leak problems were fixed, resulting in reduced memory usage.
+    Many of them were discovered as a result of improvements in use of
+    Valgrind in the testing infrastructure.
+* Management of 'teamd' daemon instances for Team devices is now more robust.
+* The 'dnsmasq' daemon respawns when it terminates and it is configured for
+    management of DNS resolver configuration
+* Hostnames that are not fully qualified are no longer sent to a DHCPv6
+    server for a dynamic DNS update
+* Connection UUIDs are now checked for uniqueness when connection
+    configurations are read
+* Receipt of a NDP Router Advertisement can no longer lower the IPv6 hop
+    limit (CVE-2015-2924)
+
+===============================================
+NetworkManager-1.0
+Overview of changes since NetworkManager-0.9.10
+===============================================
+
+This is a new stable release of NetworkManager.  Notable changes include:
+
+* A new 'libnm' GObject-based client library to replace libnm-util/libnm-glib
+  - IP address, IP route, hardware address, and other properties are now
+      represented as strings
+  - Based on GIO's GDBus bindings instead of dbus-glib
+  - Uses modern GObject APIs including GAsyncResult and GVariant
+  - For more information see https://wiki.gnome.org/Projects/NetworkManager/libnm
+* Devices and VPN connections now have individual default routes.  Priorities
+    are handled through configurable route metrics.
+* nmcli now supports password requests and PolicyKit authorizations
+* A faster, lighter-weight (though less capable) internal DHCP client has been
+    added and may be selected with the "dhcp=internal" option.  It supports
+    fewer DHCP options and does not yet support DHCPv6.
+* A new 'configure-and-quit=yes' option has been added for environments with
+    less dynamic network configuration
+* When running on 3.17 and later kernels, NetworkManager handles IPv6LL address
+    assignment to ensure that IPv6 connectivity is not enabled until
+    intentionally configured by the user
+* NetworkManager no longer causes the nl80211 kernel module to be loaded on
+    systems with no Wi-Fi devices
+* Bluetooth DUN support now works with Bluez 5.x
+* VPN connections can now persist across link changes and suspend/resume if
+    their VPN plugin supports this feature
+* A new 'ibft' settings plugin has been added to support firmware-based
+    iBFT/iSCSI configurations.  This functionality has been moved to 'ibft'
+    from the 'ifcfg-rh' plugin.
+* IPv6 router advertisement MTUs are now respected
+* NetworkManager no longer requires polkit libraries at runtime when Polkit
+    support is enabled, and Polkit can be disabled at build time too
+* Automatically created connections are now deleted when their device goes away
+* 'nmcli dev connect' now attemts to create a connection if none exists
+* Manually configured static IPv6 configuration is kept even if SLAAC fails
+* Manpages for the 'keyfile' and 'ifcfg-rh' plugins now describe their
+    configuration syntax and available options
+* WWAN connections now support IPv6 if the modem and provider support IPv6
+* Software devices (bridge, bond, team, etc) can now be deleted from the D-Bus
+    API or with nmcli
+* The manpages, documentation, and API annotations have received many cleanups
+* Externally created virtual interfaces are no longer managed by NetworkManager
+    until they are set "up" or activated via nmcli
+* Team device support is now an optional plugin
+
+
+==============================================
+NetworkManager-0.9.10
+Overview of changes since NetworkManager-0.9.8
+==============================================
+
+This is a new stable release of NetworkManager.  Notable changes include:
+
+* Added a new curses-based client called "nmtui" for easier console operation
+* Added interactive connection editing and creation mode to nmcli with detailed
+    help and tab completion support
+* nmcli bash completion has been greatly improved
+* Added support for Data Center Bridging (DCB) and FibreChannel over Ethernet (FCoE)
+* IPv6 autoconfiguration is now done in userspace with libndp instead of the kernel
+* The D-Bus daemon is no longer required for root-only operation
+* WiFi, ADSL, WWAN, and Bluetooth are now optional plugins, reducing install size
+* Added support for Infiniband Partitions
+* Network connection files are no longer watched by default, use "nmcli con reload"
+    to notice changes made externally or set "monitor-connection-files=true" in
+    NetworkManager.conf's [main] section
+* Connections can now be locked to interface names in addition to hardware/MAC addresses
+* A new "ignore-carrier" configuration option is available to ignore the carrier
+    on selected interfaces
+* A new "dns=none" option has been added to suppress changes to /etc/resolv.conf
+* Changes made to IP addresses, IP routes, and master/slave relationships from
+    external tools are now recognized and reflected in the D-Bus API
+* Assuming the existing configuration of interfaces without changing that
+    configuration is now more reliable
+* The 'root' user is no longer subject to PolicyKit access controls and usage
+    of D-Bus "at_console" permissions has been removed
+* Configuration file snippets can be dropped in /etc/NetworkManager/conf.d to
+    change smaller sets of configuration options
+* Added IP-level support for more software/virtual interfaces types including
+    GRE, macvlan, macvtap, tun, tap, veth, and vxlan interfaces
+* All network interfaces known to the kernel are now exposed through
+    the D-Bus interface
+* Improved support for routing-only VPNs like openswan/libreswan/strongswan
+* Added support for "temporary" connections which are not saved to disk until
+    requested
+* Added WWAN autoconnect support and fixed issues with airplane mode handling
+* NetworkManager-wait-online systemd service behavior is more reliable
+* The dispatcher timeout has increased to 10 minutes, and new "pre-up" and
+    "pre-down" events have been added which block activation until complete
+* NetworkManager no longer prevents Wake-on-LAN functionality from working
+* PPPoE now requires userland "rp-pppoe" to work around kernel bugs
+    that prevent detecting server-side termination of the PPP link
+* An ARP announcement is now sent after IPv4 addresses are configured
+* Added a DNS plugin for dnssec-trigger for better DNSSEC operation
+* More properties are now exposed via the D-Bus properties interface in
+    addition to getter/setter functions
+* Added support for custom IP address ranges for Shared connections
+* Fatal connection failures now block automatic reconnection more reliably
+* VPN connection IP details are now available via the D-Bus interface
+* VPN plugins can now request additional/new secrets from the user during the
+    connection process
+
+
+==============================================
+NetworkManager-0.9.8
+Overview of changes since NetworkManager-0.9.6
+==============================================
+
+This is a new stable release of NetworkManager.  Notable changes include:
+
+* New AvailableConnections property for Device objects
+* Better handling of various rfkill/Airplane Mode switches
+* Fixed handling of DNS servers for some mobile broadband devices
+* Don't duplicate various IPv6 routes added by the kernel
+* Ensure buggy ethernet driver carrier indications are handled correctly
+* Fix crash in dnsmasq plugin when no nameservers were present
+* Add support for 4G LTE network modes
+* Fix signal handling when daemonizing at startup
+* Don't autoconnect to WiFi networks that have never successfully connected
+* Only request new WiFi secrets during the initial association or when the
+    secrets are known to be wrong, not every time the connection randomly fails
+* Add capability to autoconnect VPN connections when a parent connection succeeds
+* Add configure-time option for "permissive" system connection editing policy
+* Various libnm-glib fixes for asynchronous usage
+* Fix gateway handling when given with secondary IP addresses
+* Optionally listen to systemd for suspend/resume events instead of UPower
+* Fix 'seen-bssids' property when retrieving WiFi connections via D-Bus
+* Add support for AP-mode WiFi hotspots (instead of just Ad-Hoc)
+* Add a "slaves" property to Bond devices
+* Add support for ModemManager 0.7/0.8
+* Allow more human-readable formatting of IP address in keyfile connections
+* Drop support for dhclient v3
+* Add support for DHCPv6 server-side Dynamic DNS
+* Add support for bridge master devices and bridge ports
+* Fix canceling secrets requests in GUI agents
+* Always enable Proactive Key Caching (PKC, also called OKC) for WPA Enterprise
+    WiFi configurations
+
+
+==============================================
+NetworkManager-0.9.6
+Overview of changes since NetworkManager-0.9.4
+==============================================
+
+This is a new stable release of NetworkManager.  Notable changes include:
+
+* Many libnm-glib fixes, including crashes when NetworkManager restarts
+* Enhanced IPv6 stability and compatibility
+* Fix regression in carrier handling for devices that don't support carrier detect
+* Add ability to connect to new WiFi networks from nmcli
+* Add native support for ADSL modems using PPPoE or PPPoATM
+* Reduce number of changes made to DNS information during connection setup
+* Add support for IPv6-enabled VPN connections
+* Add device driver version, firmware version, and autoconnect properties to D-Bus API
+* Add on-demand WiFi scan support
+* Fix IPv6 default gateway handling for DHCPv6
+* Add Vala language bindings
+* Fix various crashes and issues in the ifcfg-rh system settings plugin
+* Fix race with multiple interfaces running DHCP at the same time
+* Add Linux From Scratch (LFS) support
+* Allow customized dnsmasq local caching nameserver config via /etc/NetworkManager/dnsmasq.d/
+* Fixes for VLAN and bonding when libnl2 or earlier are used
+* D-Bus API, libnm-glib, libnm-util, and GObject Introspection documentation updates
+
+
+==============================================
+NetworkManager-0.9.4
+Overview of changes since NetworkManager-0.9.2
+==============================================
+
+This is a new stable release of NetworkManager.  Notable changes include:
+
+* Better handling of WiFi devices via nl80211 when available (instead of WEXT)
+* IP configuration is now non-blocking; waiting for IPv6 RA no longer blocks
+    the device from activating if IPv4 is ready and vice versa
+* Addded support for firewall "zones" via FirewallD
+* Added basic support for bonded interfaces
+* WiFi connections are no longer locked to a specific MAC address if they are
+    "locally administered" addresses (ie, 02:::::)
+* New state change reasons have been added for mobile broadband PIN errors
+* Agent-owned secrets are now sent to agents for newly created connections
+* Support for non-UTF8-encoded 802.1x passwords has been added
+* libnm-glib now fetches some properties more aggressively (like active
+    connections, access points, etc)
+* Added basic support for IP-over-Infiniband interfaces
+* Added support for device plugins and converted WiMAX support to a plugin for
+    easier packaging and simpler dependencies
+* Added support for VLAN interfaces
+* Added support for 802.1x EAP-FAST authentication
+* Added non-blocking mode and API to libnm-glib
+* Linux Wireless Extensions (WEXT) support can be disabled at configure time
+    with --with-wext=no
+* IPv6 Privacy Extensions are now enabled by default for new connections
+* Support for checking Internet connectivity has been added
+* The ifnet system config plugin rewrites config files less often
+* A bug causing IPv6 address assignment to fail on newer kernels with libnl3
+    has been fixed
+* Fix a bug in the ifcfg-rh plugin with backticks in WPA passphrases
+* Ensure connections that cannot be stored are ignored by the ifnet plugin
+* Enable out-of-the-box IPv6 connectivity by allowing IPv4 to fail if IPv6 succeeds
+* Allow proxying of DNSSEC data when using the dnsmasq local caching nameserver plugin
+* Add support for multiple domain names sent from VPN plugins
+* Removed support for WiFi Ad-Hoc WPA connections due to kernel bugs
+
+
 ==============================================
 NetworkManager-0.9.2
 Overview of changes since NetworkManager-0.9.0
 ==============================================
 
+This is a new stable release of NetworkManager.  Notable changes include:
+
 * Support for libnl2 and libnl3 and various memory leak fixes
 * Bug fixes for the ifnet config plugin
 * Ensure IPv6 link-local DNS servers work correctly in the dnsmasq DNS plugin
@@ -22,6 +437,11 @@ Overview of changes since NetworkManager-0.9.0
 * Fix handling of SSIDs in the keyfile plugin
 * Fix some GObject Introspection annotations in libnm-glib and libnm-util
 * Fix setting hostnames from DHCP
+* Fixes for building with recent GLib versions
+* Don't update routing and DNS until a device is managed
+* Fix bug causing IPv6 RA-provided routes to be ignored
+* Fix possible wrong handling of 'keyfile' connection certificates
+* Correct Shared connection IP address range to be as documented
 
 
 ==============================================