NEWS 65.1 KB
Newer Older
Thomas Haller's avatar
Thomas Haller committed
2 3
Overview of changes since NetworkManager-1.20
Thomas Haller's avatar
Thomas Haller committed
4 5

This is a snapshot of NetworkManager 1.22 development series.
Thomas Haller's avatar
Thomas Haller committed
7 8 9 10
The API is subject to change and not guaranteed to be compatible
with the later release.

11 12
* Drop support for BlueZ 4. BlueZ 5 was released in 2012 and should
  nowadays be available everywhere.
13 14 15 16 17 18
* core: declare "startup complete" when device reaches "connected"
  state, even if IP addressing methods did not yet fully complete.
  This changes behavior for unblocking "NetworkManager-wait-online.service",
  and "" earlier. If this causes issues in your
  setup, you may need to configure "ipv4.may-fail=no" or "ipv6.may-fail=no",
  which delays reaching "connected" state for the address family accordingly.
* Various bug fixes and improvements.
20 21 22
* libnm: hide NMObject and NMClient typedefs from header files. This prevents
  the user from subclassing these types and is an ABI change (in case somebody
  was doing so).
23 24 25
* libnm: retire deprecated WiMAX API NMDeviceWimax and NMWimaxNsp.
  WiMAX support was removed from NetworkManager in version 1.2 (2016) and no such
  type instances would have been created by NMClient for a while now.
26 27 28 29 30 31 32 33

Overview of changes since NetworkManager-1.18

This is a new stable release of NetworkManager.  Notable changes include:

Lubomir Rintel's avatar
Lubomir Rintel committed
* The libnm-glib library, deprecated in favor of libnm since NetworkManager 1.0,
Thomas Haller's avatar
Thomas Haller committed
  and disabled by default since NetworkManager 1.12, has now been removed.
36 37 38 39
* The DHCP client now defaults to "internal". The default can be overriden
  at build time by using the --with-config-dhcp-default option of the
  configure script or at run time by setting the main.dhcp option in the
  configuration file.
Lubomir Rintel's avatar
Lubomir Rintel committed
40 41
* Added support for configuring fq_codel line discipline and mirred action.
* Added a possibility for distributions to ship dispatcher scripts in /usr/lib.
* Drop deprecated setting "main.monitor-connection-files" in NetworkManager.conf.
Thomas Haller's avatar
Thomas Haller committed
  This setting now has no more effect and was disabled by default for a long time.
Thomas Haller's avatar
Thomas Haller committed
  Instead, after changes, load files explicitly with `nmcli connection load` or
  `nmcli connection reload`.
Thomas Haller's avatar
Thomas Haller committed
* Rework parsing team JSON config in libnm and stricter validate settings.
Thomas Haller's avatar
Thomas Haller committed
  With this, NetworkManager rejects settings that it considers invalid while
Thomas Haller's avatar
Thomas Haller committed
  still allowing setting arbitrary JSON config directly.
49 50
* Drop ibft settings plugin. This functionality is now covered by using
  nm-initrd-generator from initrd to pre-generate in-memory profiles.
Thomas Haller's avatar
Thomas Haller committed
* Support "suppress_prefixlength" attribute for policy routing rules.
Thomas Haller's avatar
Thomas Haller committed
52 53 54 55
  This is what wg-quick uses for the "Improved Rule-based Routing" solution,
  and the user can now manually configure such policy routing rules.
* Support "wireguard.ip4-auto-default-route" and "wireguard.ip6-auto-default-route".
  This automatically implements the "Improved Rule-based Routing" of wg-quick
Thomas Haller's avatar
Thomas Haller committed
56 57 58 59
  to help avoiding routing loops when setting the default-route on the WireGuard
  interface. Note that this is now enabled by default, so there is a change in behavior
  if your WireGuard connection profiles from before had a default-route (/0)
  in allowed-ips.
Thomas Haller's avatar
Thomas Haller committed
* Rework implementation of settings plugins and how profiles are presisted
Thomas Haller's avatar
Thomas Haller committed
61 62
  to disk. This is a large internal refactoring of the settings plugins that
  allows to migrate a connection profile between plugins.
Thomas Haller's avatar
Thomas Haller committed
63 64 65 66 67 68 69 70 71 72 73 74
* In-memory profiles are now only handled by keyfile plugin and will also be
  persisted to /run directory. This allows to restart NetworkManager without
  loosing these profiles and it provides a file-system based API for creating
  in-memory profiles.
* Keyfile plugin now supports a read-only directory of profiles under directory
  "/usr/lib/NetworkManager/system-connections". Such profiles still can be modified
  and deleted via D-Bus, which results in writing profiles to /etc or /run that
  shadow the read-only files.
* Add new D-Bus method AddConnection2() that allows to block autoconnect of
  the profile at the moment when creating the profile. Also add support for
  this API to libnm.
* Add flag "no-reapply" to Update2() D-Bus method. Normally, when a connection
Thomas Haller's avatar
Thomas Haller committed
75 76 77 78 79 80 81 82 83 84 85
  profile gets modified, this only changes the profile itself. When the profile
  is currently activated on a device, then the device's configuration does not update
  before the profile is fully re-activated or Reapply on the device is called. There
  is an exception to this: the "" and the "connection.metered"
  properties take effect immediately. The "no-reapply" flag allows suppressing to
  reapply any properties, so that no changes take effect automatically. The purpose
  is to really only modify the profile itself without changes to the runtime configuration
  of the device.
* Add "ipv6.method=disabled" to disable IPv6 on a device, like also possible for
  IPv4. Until now, the users could only set "ipv6.method=ignore" which means the
  users are free to set IPv6 related sysctl values themselves.
* Added support for Wi-Fi Mesh network.
Lubomir Rintel's avatar
Lubomir Rintel committed

88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
The following changes were backported to 1.18.x releases between 1.18.0
and 1.18.2 are also present in NetworkManager-1.18:

- 1.18.2:
* Add compatibility with out-of-tree WireGuard module on 5.2 kernels
* Fix parsing of BOOTIF= variables in initrd.
* Accept numeric IPv4 prefix in place of a mask when parsing a command line
  in initrd.
* Don't check connectivity of unconfigured devices.
* Fix PKCS#12 handling in the ifcfg-rh plugin.
* Avoid waiting for udev to see software devices created by NetworkManager.
* Don't attempt to stop management daemon for Team devices created
  externally to NetworkManager.
* Use FQDN for persistent hostname on Slackware.
* Restore IPv6 configuration of a device when its link goes back up.
* Fix management status of software devices on system suspend.
* Make nmcli not print certificate blobs if --show-secrets is not used.
* Fix MTU reapply.

Thomas Haller's avatar
Thomas Haller committed
107 108 109 110 111 112 113
Overview of changes since NetworkManager-1.16

This is a new stable release of NetworkManager.  Notable changes include:

Thomas Haller's avatar
Thomas Haller committed
114 115 116 117 118 119
* Add support for policy routing rules.
* Add support for VLAN filtering for Linux bridge.
* Support ieee-802-1 and ieee-802-3 LLDP TLVs.
* Allow large MTU sizes for infiniband/IPoIB connection profiles.
* Improve nmcli's handling of list options for connection properties.

Thomas Haller's avatar
Thomas Haller committed
120 121 122 123 124
Overview of changes since NetworkManager-1.14

Thomas Haller's avatar
Thomas Haller committed
This is a new stable release of NetworkManager.  Notable changes include:
Thomas Haller's avatar
Thomas Haller committed
126 127

* Check connectivity per address family.
Thomas Haller's avatar
Thomas Haller committed
128 129 130 131 132 133 134 135
* Support "main.systemd-resolved" to let NetworkManager configure DNS settings
  in systemd-resolved without making it the main DNS plugin of NetworkManager.
* Write "/var/run/NetworkManager/no-stub-resolv.conf" with original nameservers.
  That is useful with caching DNS plugins like "systemd-resolved" or "dnsmasq" where
  "/var/run/NetworkManager/resolv.conf" refers to localhost.
* Change default "ipv4.dhcp-client-id" setting for the internal DHCP plugin from
  "duid" to "mac". This is a change in behavior on upgrade when using the internal
  DHCP plugin (unless the default is overwritten in "NetworkManager.conf" or specified
Lubomir Rintel's avatar
Lubomir Rintel committed
  per connection profile).
Thomas Haller's avatar
Thomas Haller committed
137 138 139
* Improve handling of DHCP router options with internal DHCP plugin. For one, accept
  multiple routers and add a default-route to each. On D-Bus expose the original DNS
  and NTP servers without cleaning up local nameservers.
* Allow binding a connections lifetime to the DBus client that activated it.
* Add support for establishing Wi-Fi Direct connections (Wi-Fi P2P).
Thomas Haller's avatar
Thomas Haller committed
142 143 144
* Add support for WireGuard VPN tunnels to NetworkManager. D-Bus API and libnm
  support all options. nmcli supports creating and managing WireGuard profiles,
  with the exception of configuring and showing peers.
Thomas Haller's avatar
Thomas Haller committed
145 146
* Add initrd generator to be used by dracut and use it as new way of handling
Lubomir Rintel's avatar
Lubomir Rintel committed
* Deprecated "plugins.monitor-connection-files" setting in NetworkManager.conf.
Thomas Haller's avatar
Thomas Haller committed
148 149 150 151 152
  This option will have no effect in future versions.
* Add AP and Ad-hoc support for iwd Wi-Fi backend.
* Warn about invalid settings in "NetworkManager.conf".
* Support announcing "ANDROID_METERED" DHCP option for shared mode.
* Support SAE authentication as used for 802.11s Meshing and WPA3-Personal.
Thomas Haller's avatar
Thomas Haller committed
153 154 155 156
* NetworkManager is no longer installed as D-Bus activatable service.
* Mark docker bridges as unmanaged via udev rule.
* Add new PolicyKit permission "org.freedesktop.NetworkManager.wifi.scan" for controlling
  Wi-Fi scanning.
Thomas Haller's avatar
Thomas Haller committed
157 158

The following changes were backported to 1.14.x releases between 1.14.0
and 1.14.6 are also present in NetworkManager-1.14:
Thomas Haller's avatar
Thomas Haller committed

161 162
- 1.14.6:
* Fix memory corruption in internal DHCPv6 client (CVE-2018-15688).
Lubomir Rintel's avatar
Lubomir Rintel committed
* No longer limit number of search entries in resolv.conf to 6.
164 165 166 167 168 169 170 171 172 173 174 175
* Support restricting NetworkManager.conf device configuration based on used DHCP
* Add "${MAC}" specifier for connection.stable-id. This uses the current MAC
  address for seeding the stable generation of MAC address, DHCP client-id
  or IPv6 stable-privacy interface identifier.
* Support special value "duid" for "ipv4.dhcp-client-id". This generates an
  RFC4361-compliant client-id like the internal DHCP client used to do by default.
  Previously, there was no explicit name for such a client-id and it was not
  usable with dhclient DHCP plugin. This also generates the same client-id as
  systemd-networkd does by default.
* Support and use a new kind of secret-key in "/var/lib/NetworkManager/secret_key".
  The secret-key represents the identity of the machine that is used for various
Lubomir Rintel's avatar
Lubomir Rintel committed
  purposes like generating IPv6 stable privacy addresses. It is now combined
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
  with "/etc/machine-id" so that changing only the machine-id results in new identifiers.
  That matters for example when cloning a virtual machine. Previously, the user
  hard to prune NetworkManager's secret-key to get a new identity, now regenerating
  machine-id suffices. Secret-keys generated by earlier versions of NetworkManager are
  not affected and keep their previous behavior.
* Fix the DHCP client-ids based on the MAC address of IPoIB/infiniband devices.
* Fix restoring IP configuration after interface went down.
* No longer let NetworkManager touch rp_filter setting. The rp_filter sysctl must now
  be set outside of NetworkManager according to the admin's preference. Note that a strict
  rp_filter may break valid use-cases and interacts badly with connectivity checking.
* Various bug fixes and improvements.

- 1.14.4:
* Fix a crash in nmcli when a device is removed while being disconnected.
* Fix a crash in ifupdown (Debian) configuration plugin.
* Fix a daemon crash when a generated connection doesn't validate.
* Fix a memory leak in dhclient DHCP plugin.
* Fix line editing in nmcli password prompts.
* Fix a RPATH in bluetooth and wwan plugin when built with Meson (otherwise
  they wouldn't find

- 1.14.2:
Thomas Haller's avatar
Thomas Haller committed
199 200 201 202 203 204 205 206 207 208 209 210
* Fix a bug that could cause NetworkManager to crash after checking
  connectivity status.
* Correctly apply a default (-1) metric from DHCP.
* Multiple fixes for IWD Wi-Fi backend.
* Multiple fixes for builds with Meson build system.
* Fix a crash with OLPC XO-1 mesh Wi-Fi.
* Fix handling "serial.parity" and "serial.send-delay" properties in nmcli.
* Improve auto-selecting device when activating a connection profile
  and don't auto-select unmanaged devices when activating multi-connect
* Avoid expiring the lifetime of IPv6 addresses from router advertisements.

Thomas Haller's avatar
Thomas Haller committed
213 214 215
Overview of changes since NetworkManager-1.12

Thomas Haller's avatar
Thomas Haller committed
This is a new stable release of NetworkManager.  Notable changes include:

* Added support for IEEE 802.15.4 and 6LowPAN devices.
219 220
* Support activating profile multiple times via connection.multi-connect
Thomas Haller's avatar
Thomas Haller committed
221 222
* Add match setting to restrict a profile to devices based on
  a list of interface names with globbing supported.
Thomas Haller's avatar
Thomas Haller committed
* Fix PrimaryConnection for VPN with default-route.
Thomas Haller's avatar
Thomas Haller committed
* Add support for ethtool offload features.
Thomas Haller's avatar
Thomas Haller committed
225 226 227 228 229 230 231 232 233
* Add support for configuring llmnr.
* Deprecate endian-dependent D-Bus API and add new API that can be
  used instead (rh#1153559).
* Add support for ip6gre/ip6gretap IP tunnels.
* Add support for detecting WireGuard interfaces (WireGuard VPN cannot
  be controlled via NetworkManager).
* Add support for configuring SR-IOV devices.
* Improve error reporting of activation when no device is available.
* Support reapplying changes of the route metric.
Thomas Haller's avatar
Thomas Haller committed
234 235
* Support EAP profiles with iwd Wi-Fi backend and support iwd API 0.8.
* Expose slaves of OVS bridges and ports.

237 238 239 240 241
The following changes were backported to 1.12.x releases between 1.12.0
and 1.12.2 are also present in NetworkManager-1.14:

* fix missing symbols in libnm ABI for settings.

Thomas Haller's avatar
Thomas Haller committed
244 245 246
Overview of changes since NetworkManager-1.10

Thomas Haller's avatar
Thomas Haller committed
This is a new stable release of NetworkManager.  Notable changes include:
248 249 250 251 252 253

* Improved support for configuration checkpoint, including support in libnm.
* Added capability to set IP Tunnel configuration flags.
* The systemd-resolved DNS plugins now supports MDNS.
* systemd-resolved and dnsmasq DNS plugins now honor the DNS priority setting.
* Wi-Fi devices now support FILS for speedier roaming support.
Thomas Haller's avatar
Thomas Haller committed
254 255
* Drop dependency on libnl3 library.
* Add support for "onlink" routes.
* More robust connectivity checking.
Thomas Haller's avatar
Thomas Haller committed
* Dropped the obsolete "ifnet" settings plugin,
258 259 260 261 262 263
* Try harder to generate reasonable human-readable names for devices even if
  the hwdb contains garbage.
* Add an "overview" option to hide default values in nmcli, resulting in more
  concise output.
* Reworked the inner workings of D-Bus interface for better resource efficiency.
* Add support for configuring nmcli coloring via terminal-colors.d(5).
Thomas Haller's avatar
Thomas Haller committed
264 265
* Added experimental support for Meson build system,
* Added initial IWD Wi-Fi daemon support.
266 267 268 269 270
* A non-hexadecimal DHCPv4 client-id is now properly passed to
  dhclient with the first byte (type) set to zero, as stated in the
  documentation. This represents a change in behavior since previous
  versions where the first character of the string was used as
  type. The internal client is not affected by the change.
271 272
* DNS setting rc-manager=file now always follows dangling symlinks
  instead of replacing /etc/resolv.conf with a plain file.
273 274
* Added wake_on_wlan connection setting to configure
  wake-on-wireless-lan (WoWLAN).
275 276 277 278
* The libnm-glib library, deprecated in favor of libnm since NetworkManager 1.0,
  is now not built by default. While it can still be enabled, the distributions
  should have a good plan for removing it if they need to keep shipping it at
  this point.
Thomas Haller's avatar
Thomas Haller committed
279 280 281
* nmcli now scans for Wi-Fi networks before displaying them, if the last scan
  was too long ago.
* Added the ipv6.dhcp-duid property to allow configuring the DHCPv6 DUID
luz.paz's avatar
luz.paz committed
* Extended ipv6.dhcp-client-id property to support DHCP client identifiers
Thomas Haller's avatar
Thomas Haller committed
  depending on the MAC address and the stable ID.
* Set NM_DISPATCHER_ACTION environment variable in dispatcher scripts.

The following features were backported to 1.10.x releases from 1.10.0 to
1.10.10 are also present in NetworkManager-1.12:

* Fix crash during reapply of connection settings
Thomas Haller's avatar
Thomas Haller committed
290 291 292 293 294 295 296 297 298 299 300 301
* Fix connectivity timeout handling (bgo #794464),
* Retry activating devices when the parent becomes managed (rh #1553595),
* Correctly set the rp_filter value (rh #1565529).
* A fix to ensure teamd is respawned after daemon restart (rh #1551958).
* Better handle DHCP expiry (bgo #783391).
* Fix configuration of IPv6 over master interfaces (rh #1575944).
* ovs: fix compilation issue of OVS plugin and various fixes.
* team: add support for team runner "random".
* core: cleanup activation of device (rh #1537160).
* dhcp: retry indefinitely to renew the lease (rh #1503587).
* core: fix blocking autoconnect for no-secrets (rh #794014).
* libnm: mark async results as cancelled (bgo #794088).
302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
* Load jansson at runtime. This solves a clash with json-glib that caused
    a gnome-control-center crash, but also gets rid of a hard dependency.
* Correct nmcli exit values after receiving a signal.
* Fix libnm secret agent asynchronous initialization.
* Add a default route for a modem even if it didn't sent a gateway.
* Improve communication of DAD failures.
* Remember device default metrics across daemon restarts.
* Various bug fixes including possible crashes.
* Added support for 'onlink' IPv4 routes attribute.
* Wait longer for the carrier to come up after a MTU change.
* Implemented abstraction for team connections that exposes team
    configuration items as distinct properties.
* Added basic support for tc queueing disciplines and filters.
* Introduced an Update2() D-Bus method to update connection settings
  with more flexibility.
* Many bug fixes and improvements.

Beniamino Galvani's avatar
Beniamino Galvani committed
321 322 323 324 325
Overview of changes since NetworkManager-1.8

This is a new stable release of NetworkManager.  Notable changes include:

326 327
* NetworkManager includes now basic Open vSwitch support, good enough
    to be capable of setting up simple Open vSwitch configurations.
328 329 330 331 332 333 334 335 336 337 338 339 340
* Added support for activating PPP connections on non-Ethernet
* It is now possible to authenticate to a Wi-Fi network using WPS
    (Wi-Fi Protected Setup).
* Implemented support for Wi-Fi PMF (Protected Management Frames,
    802.11w), which can be configured via the wifi-sec.pmf property.
* Now the maximum rate of wireless access points supporting 802.11 is
    properly calculated and exposed on D-Bus.
* Background scanning is now disabled for non-WPA-Enterprise Wi-Fi
* Added support for the Bluetooth NAP (Network Access Point) profile.
* Added support for disabling connectivity checking via the D-Bus
Beniamino Galvani's avatar
Beniamino Galvani committed
* The internal DHCP client now understands the domain-search option.
342 343 344 345 346 347 348 349 350 351 352 353 354 355
* Bridge connections support the group-forward-mask property.
* NetworkManager can now configure multiple IPv6 default routes
    received through RA and each gets configured with the announced
* It is possible to specify the routing table for each static route.
* Support specifying a explicit routing table for any non-static-route,
    including routes from DHCP, device-routes, IPv6 autoconf.
* Device are left configured when a user sets them as unmanaged by
* New connection.auth-retry property to configure how often authentication
    is prompted before failing the configuration.
* The platform code that handles synchronization with kernel status
    via netlink has been reworked and is more efficient.
* Allowed the update of connections that have an associated ifcfg-rh
Beniamino Galvani's avatar
Beniamino Galvani committed
    routing rules file.
357 358 359 360 361 362 363 364 365 366 367 368
* Non-UTF8 properties are now escaped when they are exported on D-Bus.
* NetworkManager-wait-online.service now starts NetworkManager.service
    if needed.
* The MAC address for bond connections can be changed in nmtui.
* Fixed dependency problems when setting the MTU of VLAN and master
* The systemd-resolved DNS plugin properly handles the DNS priority
* Fixed setting a DHCP timeout greater than 60 seconds (dhclient).
* Fixed some memory leaks.
* Many other bug fixes and improvements.

Thomas Haller's avatar
Thomas Haller committed
Thomas Haller's avatar
Thomas Haller committed
371 372 373
Overview of changes since NetworkManager-1.6

Thomas Haller's avatar
Thomas Haller committed
This is a new stable release of NetworkManager.  Notable changes include:
Thomas Haller's avatar
Thomas Haller committed

376 377 378 379 380 381 382
* Default routes set by devices that failed connectivity checks are now
    penalized with a higher metric
* nmcli is now able to produce output more friendly for machine parsing
* The slaves available at the time a master connection is activated are
    enslaved in a stable order, making the automatic MAC address for Bonding
    devices more predictable.
* Hostname management is now more flexibly configured
Thomas Haller's avatar
Thomas Haller committed
383 384 385
* Support for additional route options (pref-src, src, tos, window, cwnd,
    initcwnd, initrwnd, mtu, lock-window, lock-cwnd, lock-initcwnd, lock-initrwnd,
    and lock-mtu).
386 387 388 389 390 391
* Fixed detection of EAP-FAST support in wpa_supplicant
* Support for handling PINs for PKCS#11 tokens as secrets
* GSM and CDMA connections now have a MTU property
* An option to disable selected TLS versions during EAP phase 1 authentication
* The 802.1x authentication timeout is now configurable to allow a faster
    fallback to other connections
Thomas Haller's avatar
Thomas Haller committed
392 393 394 395 396 397 398 399 400
* Persist managed state of device until reboot. This improves seamless take over
    of a previously managed device after restart of NetworkManager.
* Better handle devices that are externally managed by somebody else by
    consistently generating an in-memory connection to reflect the external
* Expose SRIOV capability of a device on D-Bus and support configuring the
    number of virtual functions via NetworkManager.conf.
* Support matching networking devices via new "driver:" device spec in
401 402 403 404 405 406 407 408 409 410 411 412 413
* Introduced support for creating and managing dummy links
* The teaming devices now support setting a hardcoded MAC address
* Settings of bonding devices can now be modified on-the-fly, without the
    need to reactivate a connection
* The failures to activate a connection now communicate better error
    responses to nmcli
* Dropped dependency on libgudev
* Reverse Path filtering is now disabled in multihoming configurations where
    it would interfere with legitimate network traffic
* libcurl is used instead of libsoup for connectivity checking, resulting in
    a smaller dependency footprint
* With DNS mode "rc-manager=symlink", don't write /etc/resolv.conf as
    a symlink if it already exists as a regular file.
Thomas Haller's avatar
Thomas Haller committed
414 415 416 417
* Support attaching user-data in form of key-value pairs to connection profiles.
* Fix accpeting fully qualified name for ipv4.dhcp-hostname setting.
* Make NetworkManager more forgiving to failure to change the MAC address during
Thomas Haller's avatar
Thomas Haller committed
418 419 420
* Many bug fixes and improvements

Thomas Haller's avatar
Thomas Haller committed
422 423 424
Overview of changes since NetworkManager-1.4

Thomas Haller's avatar
Thomas Haller committed
This is a new stable release of NetworkManager.  Notable changes include:

427 428 429 430 431 432 433 434 435 436 437 438
* Added support for managing the MACsec links. Requires support in
    wpa_supplicant (version newer than 2.6).
* Support for configuration and discovery of Web Proxy settings with
    PacRunner service.
* The ipv6.method=shared is now supported, utilizing DHCPv6 Prefix
    Delegation option to obtain prefixes for the interface.
* Support for systemd-resolved local DNS forwarder backend.
* The configuration is now read from /run/NetworkManager/conf.d as well.
    This is useful for handing over configuration discovered on system
    startup to NetworkManager.
* The PPP manager can now be split into a separate package.
* Added initial support for PKCS#11 tokens with 802.1x authentication.
439 440 441 442 443 444 445 446
* Introduced Vala bindings for libnm.
* NetworkManager would now keep most connections up on shutdown (except Wi-Fi
    connections, VPN connections and other kinds that can't be assumed on
* The checkpoint/restore connection can now also remove new connections and
    disconnect devices that were activated since the checkpoint was taken.
* New connection.autoconnect_retries property that allows fine-tuning
    the autoconnect behavior.
447 448
* Fix emission of NM-style PropertiesChanged signals and deprecate them
    for PropertiesChanged on "org.freedesktop.DBus.Properties" interface.
449 450 451 452 453
* Change the meaning of unset "cloned-mac-address" settings from "permanent" to
    "preserve". This changes the default value and affects existing connections
    during upgrade that did not explicitly configure cloned-mac-address. This
    has the effect that externally configured MAC addresses are preserved
    by default instead of setting the permanent address (bgo#770611).
454 455 456
* Avoid reading the permanent MAC address before the device is initialized
    by UDEV. This avoids a race where NetworkManager might detect the MAC
    address of the wrong interface.
457 458 459 460 461 462 463 464 465 466 467 468 469 470 471
* The cloned.mac-address property can now be used with Bond and Bridge
* The ifcfg parsing code has been reworked for better compatibility with
    actual shell variable files.
* nmtui now supports creating and editing IP tunnel connections.
* The libnm client library now uses the D-Bus ObjectManager API that allows
    for quicker initialization of the clients.
* nmtui now utilizes the asynchronous libnm client API to paralellize
    communication with the daemon, reducing the client startup time.
* Ethernet devices now use "802-3.speed" and "802-3.duplex" properties to
    allow controlling overriding the negotiated link parameters.
* Order in which IP addresses are configured is now preserved so that
    primary address is selected correctly.
* Details of the DNS information obtained from the connections is now
    exposed on the D-Bus and can be inspected with nmcli.
472 473 474
* Fixed race conditions when renaming interfaces, for example as done
    by UDEV for persistent interface naming. This could cause detecting
    devices as the wrong hardware type.
475 476 477
* Added the support for DHCPV6_HOSTNAME and DHCPV6_SEND_HOSTNAME keys in
    ifcfg files that control "dhcp-hostname" and "dhcp-send-hostname"
    properties of the "ipv6" setting.
Lubomir Rintel's avatar
Lubomir Rintel committed
478 479 480 481 482 483 484 485 486
* The stable-addressing for MAC address randomization and RFC7217 IPv6 stable
    privacy addressing can now be more flexibly configured using dynamic
    randomization seeds in "connection.stable-id".
    See "examples/nm-conf.d/30-anon.conf" for example use.
* When the master of Team, Bridge and Bond devices is specified as a connection
    UUID, the ifcfg-rh plugin now writes the master connection's interface name
    into the ifcfg file for improved compatibility with the legacy network service.
* Improve handling of MTU by resetting the previous MTU when the device deactivates
    and reset the MTU to a defined value on activation.
luz.paz's avatar
luz.paz committed
* Improve tracking of parent devices for dependent devices like ip-tunnels, MACVLAN,
Lubomir Rintel's avatar
Lubomir Rintel committed
488 489
    VETH, VLAN, and VXLAN.
* Many bug fixes and improvements

Beniamino Galvani's avatar
Beniamino Galvani committed
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505
Overview of changes since NetworkManager-1.2

This is a new stable release of NetworkManager.  Notable changes include:

* The MAC address assigned to a device can now be set according to
    different policies: preserve, permanent, random, stable
* NetworkManager now waits for IPv6 DAD to terminate before completing
    the activation
* Added support for setting IPv6 tokenized interface identifiers
    through the 'ipv6.token' connection property
* Added a 'Reload' D-Bus method to reload configuration and reapply
    DNS configuration
506 507
* Added ability to create a configuration checkpoints and rolling back
    changes after a timeout.
Beniamino Galvani's avatar
Beniamino Galvani committed
508 509 510
* NetworkManager now follows symlinks when accessing resolv.conf and
    rc-manager is set to 'file'
* Added support for oFono as modem manager
Thomas Haller's avatar
Thomas Haller committed
* The devices now exposes counters of transferred data
Beniamino Galvani's avatar
Beniamino Galvani committed
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530
* The 'may-fail' property of ipv4 and ipv6 settings is now respected
    more accurately
* The timeout for requests of secrets to agents has been increased
    from 25 to 120 seconds
* Name servers passed to dnsmasq now specify an egress interface to
    avoid problems with multiple active connections
* Reverse DNS entries for IPv6 are now added to dnsmasq, and IPv4
    reverse entries now honor the network prefix
* A new 'dns-priority' property of ipv4 and ipv6 settings can be used
    to tweak the order of servers in resolv.conf when multiple
    connections are active
* configure script accepts --enable-{address,undefined}-sanitizer
    options to build NetworkManager with GCC sanitizers
* The default resolv.conf manager can now be specified at build time
    using the --with-config-dns-rc-manager-default configure option
* NetworkManager is now compiled with --gc-sections to reduce
    executable size
* Added a new 'VPN_PLUGIN' logging domain
* It is now possible to change the configuration currently applied on
Thomas Haller's avatar
Thomas Haller committed
    a device with 'nmcli device modify' and 'nmcli device reapply'
Beniamino Galvani's avatar
Beniamino Galvani committed
532 533 534 535 536 537 538 539 540 541 542 543 544
* nmcli invoked without parameters shows an overview of the current
    network configuration
* The 'nmcli connection add' syntax has been extended and is now
    possible to pass properties (e.g. 'ipv4.dns') along with aliases
* nmtui now returns to initial menu after a sub-form exits
* Improved bash autocompletion for nmcli
* Now devices are disconnected before the system suspends, executing
    dispatcher scripts.  This allows external applications to be notified
    of the change in connectivity
* Dispatcher scripts are now called also when connectivity status
* Many other fixes and improvements

Lubomir Rintel's avatar
Lubomir Rintel committed
545 546 547 548 549 550 551
Overview of changes since NetworkManager-1.0

This is a new stable release of NetworkManager.  Notable changes include:

552 553 554 555 556 557
* MAC addresses during Wi-Fi access point scanning are now randomized
    if wpa_supplicant supports PreassocMacAddr.
* Added an option to enable random MAC addresses for association to Wi-Fi access
    point (defaults to disabled).  Controlled with 'wifi.mac-address-randomization'
    property (MAC_ADDRESS_RANDOMIZATION key in ifcfg files).  Requires support from
Lubomir Rintel's avatar
Lubomir Rintel committed
558 559 560 561
* Wi-Fi scanning now utilizes wpa_supplicant's AP list.
* Added support for Wi-Fi powersave, configured with POWERSAVE key in ifcfg
* Added support for creation of more types of software devices: tun & tap,
    macvlan, vxlan and ip tunnels (ipip, gre, sit, ip6ip6 and ipip6).
Lubomir Rintel's avatar
Lubomir Rintel committed
563 564 565 566 567 568 569
* 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
Lubomir Rintel's avatar
Lubomir Rintel committed
571 572 573 574 575 576 577 578 579 580
    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
* 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.
Lubomir Rintel's avatar
Lubomir Rintel committed
582 583 584 585 586 587 588 589 590
* 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
* Numerous improvements to Bash command completion for nmcli.
Lubomir Rintel's avatar
Lubomir Rintel committed
592 593 594 595 596 597 598
* 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
* Hostname is now managed via systemd-hostnamed on systemd-based systems.
Lubomir Rintel's avatar
Lubomir Rintel committed
599 600
* 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.
Lubomir Rintel's avatar
Lubomir Rintel committed
602 603
* Added an option to enable the old-fashioned /etc/resolv.conf handling
   (using a symlink)
Lubomir Rintel's avatar
Lubomir Rintel committed
604 605 606 607 608
* 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
Lubomir Rintel's avatar
Lubomir Rintel committed
610 611 612 613 614 615 616
    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.
617 618
* The timeout for DHCP requests can now be modified using the
    'ipv4.dhcp-timeout' property.
Lubomir Rintel's avatar
Lubomir Rintel committed
* Added multicast_snooping option to BRIDGING_OPTS ifcfg key.
Beniamino Galvani's avatar
Beniamino Galvani committed
620 621 622 623 624 625 626 627 628 629 630
* Added support for detecting duplicate IPv4 addresses, with a timeout
    configurable through the 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
* 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.
Lubomir Rintel's avatar
Lubomir Rintel committed
631 632 633 634 635 636 637
* 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).
Beniamino Galvani's avatar
Beniamino Galvani committed
* Fair amount of bugs was fixed and robustness was generally improved.
Lubomir Rintel's avatar
Lubomir Rintel committed

The following features were backported to 1.0.x releases from 1.0.0 to 1.0.10
Lubomir Rintel's avatar
Lubomir Rintel committed
641 642 643 644 645
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.
Lubomir Rintel's avatar
Lubomir Rintel committed
647 648 649 650
* 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
Lubomir Rintel's avatar
Lubomir Rintel committed
652 653 654 655
* 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.
656 657
* MAC address changes of bond or team devices are now properly propagated
    to VLANs created on the device.
Lubomir Rintel's avatar
Lubomir Rintel committed
658 659 660 661 662 663 664 665 666 667 668 669 670 671
* 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
* Added support for adding ADSL connections in nmcli.
* Improved capture portal detection.
* Default route through Wi-Fi connection is now preferred to Mobile
Lubomir Rintel's avatar
Lubomir Rintel committed
673 674 675 676 677 678 679 680 681 682 683 684 685 686
    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
* Add support for locking connections to a channel within a particular
* 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
687 688 689 690
    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
Lubomir Rintel's avatar
Lubomir Rintel committed
691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708
* 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.
Lubomir Rintel's avatar
Lubomir Rintel committed
710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752
* 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:
  - 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)

Dan Williams's avatar
Dan Williams committed
753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788
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
* 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
luz.paz's avatar
luz.paz committed
* 'nmcli dev connect' now attempts to create a connection if none exists
Dan Williams's avatar
Dan Williams committed
790 791 792 793 794 795 796
* 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
Dan Williams's avatar
Dan Williams committed
797 798
* 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
Dan Williams's avatar
Dan Williams committed
800 801

Dan Williams's avatar
Dan Williams committed
802 803 804 805 806 807 808 809 810 811 812 813 814 815
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
* Wi-Fi, ADSL, WWAN, and Bluetooth are now optional plugins, reducing install size
Dan Williams's avatar
Dan Williams committed
817 818
* 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
Dan Williams's avatar
Dan Williams committed
820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844
    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
* 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
Dan Williams's avatar
Dan Williams committed
846 847 848 849 850 851 852 853 854 855 856 857
    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

Dan Williams's avatar
Dan Williams committed
858 859 860 861 862 863 864 865 866 867 868 869 870 871 872
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
873 874
* Don't autoconnect to Wi-Fi networks that have never successfully connected
* Only request new Wi-Fi secrets during the initial association or when the
Dan Williams's avatar
Dan Williams committed
875 876 877 878 879 880
    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
881 882
* Fix 'seen-bssids' property when retrieving Wi-Fi connections via D-Bus
* Add support for AP-mode Wi-Fi hotspots (instead of just Ad-Hoc)
Dan Williams's avatar
Dan Williams committed
883 884 885 886
* 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
Thomas Haller's avatar
Thomas Haller committed
887 888
* Move PPP support to a separate plugin, so that it can be packaged separately
    and reduce the dependency on the core package.
Dan Williams's avatar
Dan Williams committed
889 890 891 892
* 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
    Wi-Fi configurations
Dan Williams's avatar
Dan Williams committed
894 895

Dan Williams's avatar
Dan Williams committed
896 897 898 899 900 901 902 903
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
Dan Williams's avatar
Dan Williams committed
904 905
* Enhanced IPv6 stability and compatibility
* Fix regression in carrier handling for devices that don't support carrier detect
* Add ability to connect to new Wi-Fi networks from nmcli
* Add native support for ADSL modems using PPPoE or PPPoATM
Dan Williams's avatar
Dan Williams committed
908 909 910
* 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 Wi-Fi scan support
Dan Williams's avatar
Dan Williams committed
* Fix IPv6 default gateway handling for DHCPv6
Dan Williams's avatar
Dan Williams committed
* Add Vala language bindings
Dan Williams's avatar
Dan Williams committed
914 915 916
* 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
Dan Williams's avatar
Dan Williams committed
917 918 919
* 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
Dan Williams's avatar
Dan Williams committed
920 921

Dan Williams's avatar
Dan Williams committed
922 923 924 925 926 927 928
Overview of changes since NetworkManager-0.9.2

This is a new stable release of NetworkManager.  Notable changes include:

* Better handling of Wi-Fi devices via nl80211 when available (instead of WEXT)
Dan Williams's avatar
Dan Williams committed
930 931
* IP configuration is now non-blocking; waiting for IPv6 RA no longer blocks
    the device from activating if IPv4 is ready and vice versa
luz.paz's avatar
luz.paz committed
* Added support for firewall "zones" via FirewallD
Dan Williams's avatar
Dan Williams committed
* Added basic support for bonded interfaces
* Wi-Fi connections are no longer locked to a specific MAC address if they are
Dan Williams's avatar
Dan Williams committed
935 936 937 938 939 940 941 942 943
    "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
Dan Williams's avatar
Dan Williams committed
944 945 946
* Added support for VLAN interfaces
* Added support for 802.1x EAP-FAST authentication
* Added non-blocking mode and API to libnm-glib
Dan Williams's avatar
Dan Williams committed
947 948 949 950 951
* 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
Dan Williams's avatar
Dan Williams committed
952 953 954 955
* 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
Dan Williams's avatar
Dan Williams committed
956 957 958
* 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 Wi-Fi Ad-Hoc WPA connections due to kernel bugs
Dan Williams's avatar
Dan Williams committed
960 961

Dan Williams's avatar
Dan Williams committed
962 963 964 965 966
Overview of changes since NetworkManager-0.9.0

Dan Williams's avatar
Dan Williams committed
967 968
This is a new stable release of NetworkManager.  Notable changes include:

Dan Williams's avatar
Dan Williams committed
969 970
* Support for libnl2 and libnl3 and various memory leak fixes
* Bug fixes for the ifnet config plugin
Dan Williams's avatar
Dan Williams committed
971 972 973 974 975 976 977
* Ensure IPv6 link-local DNS servers work correctly in the dnsmasq DNS plugin
* Add ability for nmcli to delete connections
* Fix setup of connection sharing with newer iptables versions
* Ensure WiMAX activation emits correct signals (fixes initial signal strength)
* Fix an issue with duplicated keyfile connections
* Ensure the 'novj' options is passed through to pppd
* Store timestamps for VPN connections too
Dan Williams's avatar
Dan Williams committed
978 979 980 981 982 983 984
* Fix a crash when deleting default wired connections
* Fix a security issue in the ifcfg-rh plugin with newlines in file names
* Fix the "SpecificObject" property for active VPN connection objects
* Improve handling of rfkill on some platforms
* Spaces no longer used in ifcfg config file names
* IPv6 RAs are now accepted when forwarding is configured
* dnsmasq local caching nameserver plugin cache size bumped to 400 entries (from 150)
Dan Williams's avatar
Dan Williams committed
985 986 987
* Fix handling of SSIDs in the keyfile plugin
* Fix some GObject Introspection annotations in libnm-glib and libnm-util
* Fix setting hostnames from DHCP
Dan Williams's avatar
Dan Williams committed
988 989 990 991 992
* 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
Dan Williams's avatar
Dan Williams committed
993 994

Dan Williams's avatar
Dan Williams committed
996 997 998 999 1000 1001 1002
Overview of changes since NetworkManager-0.8.x

This is a new stable release of NetworkManager.  Notable changes include:

* All connections and configuration now managed by NetworkManager
Dan Williams's avatar
Dan Williams committed
* Secrets for any connection can now be stored in user session or by NetworkManager
1004 1005
* All secrets can now be requested each time
* Fast User Switching support
* Support for WiMAX mobile broadband
Dan Williams's avatar
Dan Williams committed
* Connections can now be restricted to one or more users
1008 1009
* Support for 802.1X certificate subject matching for greater security
* Requires wpa_supplicant 0.7 or later
Dan Williams's avatar
Dan Williams committed
1010 1011
* Better support for AP roaming using nl80211 and background scanning
* Simplified D-Bus API for easier client usage
1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077
* Support for GObject Introspection in libnm-glib and libnm-util

Overview of changes since NetworkManager-0.8.4

This is a new stable release of NetworkManager.  Notable changes include:

* Fix handling of WINS server address in libnm-glib
* Fix checks for s390 CTC device types
* Fix export of nm_device_get_ip_iface() in libnm-glib
* Fix export of IPv6 DNS GValue conversion functions in libnm-glib
* Recognize and manage platform 'gadget' devices
* Send only "short" hostname, not FQDN, to DHCP servers
* Allow "_" as a valid character for GSM APNs
* Handle shared connections in the ifnet plugin
* Fix Ad-Hoc frequency selection for user-created Ad-Hoc networks
* Allow failed connections to be retried when Ethernet carrier bounces
* Allow usage of paths for certificates and keys in the keyfile plugin
* Fix crash requesting system VPN secrets
* Add ability to blacklist certain MAC addresses for wired & wifi connections
* Ensure users are authorized to share wifi networks (CVE-2011-2176)

Overview of changes since NetworkManager-0.8.2

This is a new stable release of NetworkManager.  Notable changes include:

* Preliminary support for Exherbo Linux
* Logging fixes to suppress unnecessary messages
* Ensure removed devices are cleaned up
* Fix potential 64-bit crash updating timestamps
* IPv6 setup, routing, and compliance fixes
* Fix WWAN enable/disable handling
* Handle reverse DNS lookups with local caching nameserver configurations
* Ensure usable DNS configuration is written when NetworkManager quits
* No longer updates /etc/hosts when hostname changes
* Request WPAD option from DHCP servers
* Allow use of paths for certificates and keys in connection keyfiles
* Allow operation without any DHCP client installed
* Fix operation with newer versions of dnsmasq
* nmcli support for WWAN connections
* Persistent hostname sent to DHCP servers by default
* Allow disabing PPP support at build time
* Red Hat/Fedora ifcfg plugin fixes for handling S390 CTC device configuration
* Red Hat/Fedora ifcfg plugin fixes for handling IPADDR config items
* Shutdown crash fixes
* Memory leak fixes
* Documentation fixes and updates
* and much more...

Overview of changes since NetworkManager-0.8.1

This is a new stable release of NetworkManager.  Notable changes include:

* Native local caching nameserver support using dnsmasq
* Automatically detect addition and removal of new VPN plugins
* Support for handling suspend/resume signals from UPower
1078 1079
* Ensure users are allowed to enable/disable Wi-Fi and networking
* Ensure Wi-Fi enable state is perserved across reboot and suspend
1080 1081 1082 1083 1084 1085 1086 1087
* Better handling of /etc/hosts and preservation of custom hostnames
* Support for the systemd session management service
* Better handling of 'keyfile' system connection errors
* Support for S390 network devices
* and much more...

Dan Williams's avatar
Dan Williams committed
1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102
Overview of changes since NetworkManager-0.6.6

This is a new major stable release of NetworkManager.  Notable changes include:

* Multiple active devices
* Internet connection sharing
* Support for many mobile broadband devices
* Full static IP support
* More reliable connections
* Rich, flexible D-Bus API
* Boot-time connections (no logins required)

1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137
Overview of changes since NetworkManager-0.6.2

0.6.2 is a bug fix release.  Note that NetworkManager no longer automatically
runs dhcdbd if it is not running.  This means that it is now the system's
responsibility to start dhcdbd prior to NetworkManager, e.g. in the
distribution's NetworkManager initscript.

* NetworkManager
	* Many, many bug fixes (Everyone)
	* Dynamic WEP Support (Robert Love)

* nm-applet
	* Many bug fixes (Everyone)

Overview of changes since NetworkManager-0.6.0

0.6.1 is a minor bug fix release.

* NetworkManager
	* Improved activation cancelation (Dan Williams)
	* Workarounds for non-WPA drivers (Dan Williams)
	* Fix WPA Enterprise crasher (Robert Love)

* nm-applet
	* Hide password entry fields by default (Robert Love)
	* Add toggle to show/hide password field (Robert Love)
	* Add 'Remove' option to right-click menu (Robert Love)

1138 1139 1140 1141 1142 1143 1144 1145
Overview of changes since NetworkManager-0.5.1

This releases ushers in WPA support, as well as many other features, bug fixes,
and clean ups.

1146 1147
We now require libnl, a netlink library ( and
wpa_supplicant, a WPA supplicant (
1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170

Two new VPN modules are part of the distribution: openvpn and pptp.

* NetworkManager
	* WPA and WPA2 support (Dan Williams)
	* WPA Enterprise support (Robert Love)
	* Rearchitecting, refactoring (Dan Williams)
	* wpa_supplicant support (Dan Williams, Kay Sievers)
	* NIS support (Robert Love)
	* DHCP hostname support (Timo Hoenig)
	* ISDN support, improve dial up support (Robert Love)
	* Man pages (Robert Love)
	* Survive DBUS and HAL restarts (Timo Hoening)
	* Generate PID files (Dan Willians)
	* Bug fixes and clean ups (the whole gang)

* nm-applet
	* New tray icon look and behavior (Robert Love, Dan Williams)
	* New wireless security layer (Dan Williams)
	* New "Enable Networking" toggle (Robert Love)
	* Display speed of current connection (Robert Love)
	* Bug fixes and clean ups (the whole gang)

1171 1172 1173 1174 1175 1176 1177 1178 1179
Overview of changes since NetworkManager-0.5.0

* NetworkManager
	* Don't drop the last scanned AP (Dan Williams)
	* Broadcast state change when disconnected (Robert Love)
	* The Slackware backend now builds (Nico)
luz.paz's avatar
luz.paz committed
	* Don't install unused config files (Dan Williams)
1181 1182 1183 1184 1185
	* Add a test for libnm_glib_unregister_callback (Christopher Aillon)
	* Requires wireless-tools 28pre9 (Christopher Aillon)

* nm-applet
	* Use g_get_host_name () if we've got it (Christopher Aillon)
luz.paz's avatar
luz.paz committed
	* Fix an uninitialized variable (Robert Love)
1187 1188 1189
	* Fix sensitivity of VPN items (Robert Love)

1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241
Overview of changes since NetworkManager-0.4.1

* NetworkManager
   * Initscripts are now generated
   * Not waiting as long for scans to complete (Bill Moss).
   * Fix several D-BUS object leaks (John Palmieri, Dan Williams,
                                     Christopher Aillon)
   * VPN now advertises state changes
   * Make --without-named work (
   * Make --with-dhcdbd work correctly (
   * Fix timeout scan values (Bill Moss)
   * Send notifications of device strength changing so clients do
     not have to poll.
   * Don't return a UDI device if it doesn't exist (Tomislav Vujec)
   * Strip whitespace from the VPN banner (Bill Moss)
   * VPN Manager rewritten to better support signals (Dan Williams)
   * Don't allow clients to determine what states we should be
     scanning in, add logic to scan when we need to.
   * Blacklist some common ESSIDs such that multiple access points
     with these ESSIDs aren't treated as the same network.
   * Support for D-BUS enabled named (Dan Williams)
   * Only '#' is a valid comment in resolv.conf (Robert Love)
   * Don't try to set auth mode on the AP from the allowed list if
     it's NULL (Bill Moss)
   * Add internal scanning code so we don't have to use iwlib's
     code any longer (Dan Williams)
   * libnm now uses guints instead of gints for its callback IDs.
   * libnm_glib_unregister_callback () now works.
   * Fix our scanning interval (Robert Love)
   * Updates to backends for Gentoo, SuSE, RedHat, Debian, and
     Slackware (Robert Love, Peter Jones, Bill Nottingham,
       - Dialup support in RedHat backend
       - ISDN support in SUSE backend
       - Other fixes

* nm-applet
   * The applet is no longer threaded (Dan Williams)
   * Dialogs no longer block the UI when shown
   * Passphrase dialog now treats Esc keypresses properly
   * Create Network and Connect to Network dialogs now have
     different window titles
   * New icons for connecting to a network and to a VPN
     (Diana Fong)
   * Context menu items have been cleaned up
   * Pressing enter in the passphrase entry should activate the
     default action.
   * Fix icon animation smoothness
   * Display more data in the Connection Information dialog
     (Robert Love).
1243 1244

1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264
Overview of changes since NetworkManager-0.3


 * Debian backend fixes, Thom May
 * Build fixes, Thom May
 * Better handling of encrypted devices, Dan Williams
 * Better handling of user-selected access points, Dan Williams


 * Simplified D-Bus code, Dan Williams
 * Better error handling and feedback, Dan Williams
 * Greatly simplify the locking to UI smoother, Dan Williams

1265 1266 1267 1268 1269 1270 1271
Overview of changes since NetworkManager-0.2


 * Lots of fixes, Dan Williams
 * Support static IP addresses, Dan Williams
    - Get broadcast address from config files, Robert Paskowitz
 * Support for non-ESSID-broadcasting base stations, Dan Williams
1274 1275 1276 1277 1278
 * Only accept and manager 802.3 and 802.11 devices, Dan Williams
 * Don't blow away an active wired connection on startup, Dan Williams
 * Improve strength calculation, Dan Williams
 * Constantly scanning behavior, Dan Williams
 * add .pc file, Colin Walters
1279 1280
 * move to syslog, Dan Willemsen
 * Improve MD5 hashing of 128-bit passphrases, Colin Walters
1281 1282 1283 1284 1285 1286
 * DBUS API docs, Dan Williams
 * Cleanups, Colin Walters
 * Trusted networks, Dan Williams
 * New Backends:
   - Debian, Thom May and Mark Roach
   - Slackware, Narayan Newton
 * Fixes and functionality improvements in Gentoo backend, Robert Paskowitz
1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315


 * Example python code, Bryan Clark.
 * python test framework, Bryan Clark


 * Trusted networks, Dan Williams
 * Escape ESSIDs in gconf, Dan Williams
 * Lifecycle improvements, John Palmieri


 * New/Improved translations: da de sv en_CA nb no pa bs pt_BR wa gu es
   - Thanks to:
       Kjartan Maraas
       Christian Rose
       Adam Weinberger
       Amanpreet Singh Alam
       Akagic Amila
       Raphael Higino
       Pablo Saratxaga
       Ankit Patel
       Francisco Javier F. Serrador
       Martin Willemoes Hansen
       Hendrik Brandt

1317 1318 1319 1320 1321 1322

 * Complete rewrite, Jonathan Blandford and John Palmieri
   - Now a Notification area
   - Simpler menu
   - Hook up the "other network" dialog to do something
 * New icons, Diana Fong