NEWS 87.7 KB
Newer Older
Thomas Haller's avatar
Thomas Haller committed
1
=============================================
Thomas Haller's avatar
Thomas Haller committed
2
3
NetworkManager-1.40
Overview of changes since NetworkManager-1.38
Beniamino Galvani's avatar
Beniamino Galvani committed
4
5
=============================================

6
7
8
This is a snapshot of NetworkManager development. The API is
subject to change and not guaranteed to be compatible with
the later release.
Beniamino Galvani's avatar
Beniamino Galvani committed
9
10
USE AT YOUR OWN RISK.  NOT RECOMMENDED FOR PRODUCTION USE!

11
12
* Drop unused, internal systemd DHCPv4 client. This is long
  replaced by nettools' n-dhcp4 implementation.
13
14
15
* The nmcli command now supports --offline argument with "add" and
  "modify" commands, allowing operation on keyfile-formatted connection
  profiles without the service running (e.g. during system provisioning).
16
17
18
* The device state file /run/NetworkManager/devices/$ifindex now has
  new sections [dhcp4] and [dhcp6] containing the DHCP options for the
  current lease.
Ana Cabral's avatar
Ana Cabral committed
19
20
21
22
* NetworkManager expanded log messages for invalid DHCP options.
* Support "802-1x.phase1-auth-flags=tls-allow-unsafe-renegotiation" flag
  for Wi-Fi.
* Fix the requirement of hardware address for DHCPv6, by dropping it.
Thomas Haller's avatar
Thomas Haller committed
23
24
* Support enabling ipv4ll alongside DHCPv4 and static addressing.
* Support configuring "ipv6.mtu".
Ana Cabral's avatar
Ana Cabral committed
25
* Several internal improvements.
26

Thomas Haller's avatar
Thomas Haller committed
27
28
29
30
31
=============================================
NetworkManager-1.38
Overview of changes since NetworkManager-1.36
=============================================

Thomas Haller's avatar
Thomas Haller committed
32
* Add support for route type "throw".
Thomas Haller's avatar
Thomas Haller committed
33
34
35
36
37
38
39
40
* Fix bug setting priority for IP addresses.
* Static IPv6 addresses from "ipv6.addresses" are now preferred over
  addresses from DHCPv6, which are preferred over addresses from autoconf.
  This affects IPv6 source address selection, if the rules from
  RFC 6724, section 5 don't give a exhaustive match.
* Static IPv6 addresses from "ipv6.addresses" are now interpreted with
  first address being preferred. Their order got inverted. This is now
  consistent with IPv4.
41
42
* Wi-Fi hotspots will use a (stable) random channel number unless one is
  chosen manually.
Thomas Haller's avatar
Thomas Haller committed
43
* Don't use unsupported SAE/WPA3 mode for AP mode.
Thomas Haller's avatar
Thomas Haller committed
44
45
46
47
48
49
50
51
52
53
54
* NetworkManager will no longer advertise frequencies as supported when
  they're disallowed in configured regulatory domain.
* Attempt to connect to WEP-encrypted Wi-Fi network will now fail
  gracefully with a recent version of wpa_supplicant when built
  without WEP support. As long as wpa_supplicant supports WEP,
  NetworkManager will continue to work.
* Disable WPA3 transition mode for wifi.key-mgmt=wpa-psk if the NIC
  does not support PMF. This is known to cause problems in some setups. It
  is still possible to explicitly configure wifi.key-mgmt=sae for WPA3.
* Add new dummy crypto backend "null" that does nothing. NetworkManager
  uses the crypto library when handling certificates for 802.1x profiles.
Thomas Haller's avatar
Thomas Haller committed
55
56
* Veth devices with name "eth*" are now managed by default via the
  udev rule. This is to support managing the network in LXD containers.
Beniamino Galvani's avatar
Beniamino Galvani committed
57
58
* The hostname received from DHCP is now shortened to the first dot
  (or to 64 characters, whatever comes first) if it's too long.
Lubomir Rintel's avatar
Lubomir Rintel committed
59
60
61
62
63
* As the insecure WEP encryption for Wi-Fi network is phased out,
  nmcli now discourages its use when activating or modifying a
  profile.
* Fix connectivity checks in case the check endpoint address resolves to
  multiple addresses.
Thomas Haller's avatar
Thomas Haller committed
64
* Workaround libcurl blocking NetworkManager while resolving DNS names.
Thomas Haller's avatar
Thomas Haller committed
65
66
67
68
* nmcli: indicate missing Wi-Fi hardware when showing rfkill setting.
* nmcli: add connection migrate command to move a profile to a specified
  settings plugin. This allows to convert profiles in the deprecated ifcfg-rh
  format to keyfile.
69
70
* Set "src" attribute for routes from DHCPv4 to the leased address. This
  helps with source address selection.
Lubomir Rintel's avatar
Lubomir Rintel committed
71
* Updated translations.
Thomas Haller's avatar
Thomas Haller committed
72
* Various bugfixes and internal improvements.
73

Thomas Haller's avatar
Thomas Haller committed
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
The following changes were backported to 1.36.x releases between 1.36.0
and 1.36.4 are also present in NetworkManager-1.38:

- 1.36.4
* The internal DHCPv4 client now discards NAKs packets coming
  from servers different from the one that sent the offer.
* Fixed a couple of regressions in PPPoE support since 1.36.0.
* Fix potential libnm crash when the client object initialization gets
  canceled.
* Other various fixes and improvements.

- 1.36.2
* When the list of plugins is not specified via "main.plugins" in
  NetworkManager.conf and no build-time default is set with
  "--with-config-plugins-default" configure argument, now all known
  plugins found in the plugin directory are loaded (and the built-in
  "keyfile" plugin is preferred over others).
* Preserve external ports during checkpoint rollback
* Fix removal of ovsdb entry when an OVS interface goes away
* Fix DNS configuration for WWAN connections

95
96
97
98
99
=============================================
NetworkManager-1.36
Overview of changes since NetworkManager-1.34
=============================================

Lubomir Rintel's avatar
Lubomir Rintel committed
100
101
102
103
104
105
106
107
108
109
110
111
112
113
* The handling of Layer 3 configurations has been substantially reworked.
  While this is mostly internal change, it results in more robust
  behavior when addressing information from multiple sources (DHCP,
  manually configured, VPN) need to be applied simultaneously.
  Overall performance and memory use have also slightly improved.
* Manually configured addresses can no longer expire even if the same
  addresses are also obtained dynamically.
* Code for systemd-based DHCP and DHCPv6 clients has been updated from
  upstream.
* NTP servers obtained via DHCPv6 are now exposed on the DBus API, visible
  in nmcli and available for use by dispatcher scripts.
* 5G NR (New Radio) modems are now supported.
* The "rd.znet_ifnames" kernel command line option is now honored on
  network bootups on an IBM s390 platform.
Lubomir Rintel's avatar
Lubomir Rintel committed
114
* Wi-Fi P2P support does now work with the IWD backend, in addition to
Lubomir Rintel's avatar
Lubomir Rintel committed
115
  wpa_supplicant backend.
Lubomir Rintel's avatar
Lubomir Rintel committed
116
117
* Support for special route types have been added: "prohibit", "blackhole"
  and "unreachable".
Lubomir Rintel's avatar
Lubomir Rintel committed
118
119
* Routes managed by routing daemons are now ignored. This is done to
  address a performance bottleneck on specialized routers.
Lubomir Rintel's avatar
Lubomir Rintel committed
120
121
122
* Handling of IP addressing and routing information is now slightly
  more efficient and uses less memory. This is apparent on systems with
  large amount of IP configuration information.
Lubomir Rintel's avatar
Lubomir Rintel committed
123
124
125
126
127
128
129
130
131
132
133
134
* It is now possible to start NetworkManager without root user privileges.
  This is experimental doesn't necessarily result in a working daemon.
  NetworkManager service already drops many of capabilities available
  to the root user.
* WPA3 Wi-FI network security have been improved by enabling new H2E (hash
  to element) method for generating SAE password element.
* It is now possible to select the default Wi-Fi backend (wpa_supplicant or
  IWD) at build-time.
* Replies from broken DHCP servers that send duplicate address or mask
  options are now handled gracefully.
* Bridge support has gained the possibility of turning off MAC ageing.
* "configure-and-quit" mode and nm-iface-helper have been removed.
Lubomir Rintel's avatar
Lubomir Rintel committed
135
136
* A number of bugs that could cause NetworkManager to crash in rare
  conditions have been fixed.
Lubomir Rintel's avatar
Lubomir Rintel committed
137

Beniamino Galvani's avatar
Beniamino Galvani committed
138
139
=============================================
NetworkManager-1.34
Thomas Haller's avatar
Thomas Haller committed
140
Overview of changes since NetworkManager-1.32
Thomas Haller's avatar
Thomas Haller committed
141
142
=============================================

143
144
* initrd: wait for both IPv4 and IPv6 with "ip=dhcp,dhcp6".
* core: better handle sd-resolved errors when resolving hostnames.
Ana Cabral's avatar
Ana Cabral committed
145
* nmcli: fix import WireGuard profile with DNS domain and address
146
147
148
149
  family disabled.
* ndisc: send router solicitations before expiry.
* policy: send earlier the ip configs to the DNS manager.
* core: support linking with LLD 13.
Thomas Haller's avatar
Thomas Haller committed
150
151
152
153
* wireguard: importing wg-quick configuration files with nmcli
  no longer sets a negative, exclusive "dns-priority". This plays
  better with common split DNS setups that use systemd-resolved.
  Adjust the "dns-priority" to your liking after import yourself.
Beniamino Galvani's avatar
Beniamino Galvani committed
154
155
* NetworkManager no longer listens for netlink events for traffic
  control objects (qdiscs and filters).
156
157
* core: add internal nm-priv-helper service for separating privileges
  and have a way to drop capabilities from NetworkManager daemon.
Thomas Haller's avatar
Thomas Haller committed
158
* bond: add support for setting queue-id of bond port.
Thomas Haller's avatar
Thomas Haller committed
159
* dns: support configuring DNS over TLS (DoT) with systemd-resolved.
Thomas Haller's avatar
Thomas Haller committed
160
161
* nmtui: add support for WireGuard profiles.
* nmcli: add aliases `nmcli device up|down` beside connect|disconnect.
Ana Cabral's avatar
Ana Cabral committed
162
163
164
165
166
* conscious language: Deprecate 'Device.Slaves' D-Bus property in favor of new
  'Device.Ports' property. Depracate 'nm_device_*_get_slaves()' in favor of
  'nm_device_get_ports()' in libnm.
* nmcli: invoking nmcli command without arguments will now show 'default'
  instead of null address in route4 or route6 section.
Thomas Haller's avatar
Thomas Haller committed
167
168

The following changes were backported to 1.32.x releases between 1.32.0
Ana Cabral's avatar
Ana Cabral committed
169
and 1.32.12 are also present in NetworkManager-1.34:
Thomas Haller's avatar
Thomas Haller committed
170

171
- 1.32.12:
172
173
174
175
176
177
* Fix wrong order of addresses when restarting NetworkManager.
* Preserve the IPv6 ff00::/8 route added by kernel in the local table,
  necessary for multicast communication.
* Fix emitting the signal for changed metered status of devices.
* Fix applying the ethtool autonegotiation and speed settings.
* initrd: fix crash parsing plain '=' without key.
178
179
180
* cloud-setup: use suppress_prefixlength rule to honor
  non-default-routes in the main table.

181
182
183
184
185
186
187
188
189
190
191
192
193
194
- 1.32.10:
* core: fix the order of IPv6 addresses changing on service restart.
* initrd: add command line option to configure link autonegotiation
  and speed.
* ifcfg-rh: fix crash when parsing invalid DNS address.
* ifcfg-rh: extend ifup/ifdown scripts to work with connection profile
  names.
* udev: also react to "move" (and "change") udev actions in our rules.

- 1.32.8:
* firewalld: configure zones on "Reloaded" signal.
* core: fix wrong MTU for bridge interfaces.
* cloud-setup: fix gateway address for Aliyun cloud.

195
196
197
198
199
200
201
202
203
204
205
- 1.32.6:
* core: fix adding stale local routes when address changes.
* initrd: tag generated profiles with origin in user data.
* core: introduce "allowed-connections" option to disallow
  profiles on a device. This allows to filter out profiles
  that originate from initrd.
* core: introduce "keep-configuration" device option to forcefully
  activate a profile on start.
* dhcp: handle filename/bootfile_name DHCP option and write it to
  device state file for initrd/kickstart.
* initrd: add "ib.pkey=" command line option
Thomas Haller's avatar
Thomas Haller committed
206
207

- 1.32.4:
Thomas Haller's avatar
Thomas Haller committed
208
209
* core: remove stale entries from "seen-bssids" and "timestamp"
  files in "/var/lib/NetworkManager".
Thomas Haller's avatar
Thomas Haller committed
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
* bond: support the peer_notif_delay option.
* core: add ipv[46].required-timeout option to wait for IP
  configuration while activating.
* core: send ARP announcements when there is carrier.
* core: start DHCPv6 when a prefix delegation is needed for shared
  mode.
* firewall: fix nftables backend to create "ip" table for
  IPv4 only.
* initrd: set required-timeout of 20 seconds for default IPv4 configuration
  to opportunistically wait for IPv4.
* ifcfg: log warning about invalid keys in ifcfg files.
* ifcfg: reject non-UTF-8 from ifcfg files.
* nmcli: show DNS SEARCH field in device information.
* cloud-setup: add support for Aliyun cloud.

225
226
227
228
229
230
231
232
233
- 1.32.2:
* hostname: prefer IPv4 addresses for reverse DNS lookup.
* dhcp: ignore unauthenticated FORCERENEW messages with
  internal, systemd-based DHCPv4 plugin (CVE-2020-13529).
  This plugin is not used, unless the undocumented dhcp=systemd
  option was set.
* cloud-setup: preserve IP addresses, routes and rules from
  currently active connection profile.
* Various bugfixes and performance improvements.
Beniamino Galvani's avatar
Beniamino Galvani committed
234

Thomas Haller's avatar
Thomas Haller committed
235
236
237
238
239
=============================================
NetworkManager-1.32
Overview of changes since NetworkManager-1.30
=============================================

Beniamino Galvani's avatar
Beniamino Galvani committed
240
241
* Add an 'accept-all-mac-addresses' property to the ethernet setting
  to accept frames with any MAC address (also known as promiscuous
242
243
244
  mode).
* nmcli: fix setting property aliases to empty value to reset the
  default value.
Thomas Haller's avatar
Thomas Haller committed
245
246
247
248
249
250
251
252
253
254
* BEHAVIOR CHANGE: Enforce valid lower case UUID format for the "connection.uuid"
  by normalizing the value. This changes the UUID of existing profiles with an
  invalid or non-normalized value. Also normalize "connection.secondaries" to only
  contain valid and distinct UUIDs. Profiles that set "connection.master" or the
  "parent" properties to a non-normalized UUID need adjustment. Using such
  non-normalized UUIDs should be rare and affect few users.
* API CHANGE: D-Bus: remove long deprecated "PropertiesChanged" signal from D-Bus
  API. They are replaced by standard "PropertiesChanged" signal on the
  "org.freedesktop.DBus.Properties" interface. It is not expected that anybody
  is still using this API.
Beniamino Galvani's avatar
Beniamino Galvani committed
255
256
257
258
* Now NetworkManager uses systemd-resolved API to lookup the system
  hostname via reverse DNS. If systemd-resolved is not available, a
  'nm-daemon-helper' binary is spawned to perform the lookup using
  the 'dns' NSS module.
Thomas Haller's avatar
Thomas Haller committed
259
260
261
* dhcp: honor "ID_NET_DHCP_BROADCAST" udev attribute to set the broadcast flag.
  This allows to configure devices in udev for which DHCPOFFER messages are to be
  broadcast.
Thomas Haller's avatar
Thomas Haller committed
262
* firewall: add nftables firewall backend for configuring IPv4 NAT with shared
263
264
265
  mode. Now two backends are supported, "iptables" and "nftables". The default
  gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed,
  with nftables preferred.
Thomas Haller's avatar
Thomas Haller committed
266
  Please note that SELinux might prevent NetworkManager from communicating with nft.
Thomas Haller's avatar
Thomas Haller committed
267
* ethtool: add support for pause settings.
Beniamino Galvani's avatar
Beniamino Galvani committed
268
* Support "prohibit"/"blackhole"/"unreachable" type routing rules.
269
* Support uidrange attribute for policy routing rules.
Beniamino Galvani's avatar
Beniamino Galvani committed
270
271
* Now NetworkManager preserves by default the existing traffic control
  configuration (qdiscs and filters) when activating a connection.
Thomas Haller's avatar
Thomas Haller committed
272
* wifi/iwd: mirror NetworkManager connection profiles to iwd config files.
Thomas Haller's avatar
Thomas Haller committed
273
* API CHANGE: vala: fix wrongly generated vapi for WireGuard API.
Thomas Haller's avatar
Thomas Haller committed
274
275
* wifi: fix parsing of Microsoft Network Cost information element for
  detecting metered networks.
Thomas Haller's avatar
Thomas Haller committed
276
277
278
279
* dhcp: support option 249 (Microsoft Classless Static Route) with nettools
  internal DHCP plugin.
* initrd: support the "rd.net.dhcp.retry" kernel argument for controlling retry
  and timeout to get a DHCP lease.
Thomas Haller's avatar
Thomas Haller committed
280
281
* API CHANGE: hide definitions of structs for NMSetting and NMSimpleConnection from
  public headers.
Thomas Haller's avatar
Thomas Haller committed
282
* Major restructuring of the source code.
Thomas Haller's avatar
Thomas Haller committed
283
* Many bugfixes and minor improvements.
Beniamino Galvani's avatar
Beniamino Galvani committed
284

Thomas Haller's avatar
Thomas Haller committed
285
286
287
288
289
=============================================
NetworkManager-1.30
Overview of changes since NetworkManager-1.28
=============================================

Thomas Haller's avatar
Thomas Haller committed
290
* Increase timeout of NetworkManager-wait-online.service to 60 seconds.
Thomas Haller's avatar
Thomas Haller committed
291
* Add "ipv4.dhcp-client-id=ipv6-duid" option for RFC4361.
Roy Marples's avatar
Roy Marples committed
292
293
294
* The dhcpcd plugin now requires a minimum version of dhcpcd-9.3.3 with
  the --noconfigure option. Using an older version will cause dhcpcd to
  exit with a status code of 1.
Thomas Haller's avatar
Thomas Haller committed
295
296
297
298
299
300
301
* Support building against musl libc.
* Support new ethtool offload features.
* Add support for WPA3 Enterprise Suite-B 192 bit mode.
* Add support for handling Veth devices.
* New hostname settings for controlling configuring the hostname from
  reverse DNS lookup and from DHCP.
* OVS: support configuring external-ids.
Thomas Haller's avatar
Thomas Haller committed
302
303
304
* libnm: nm_setting_bond_add_option() no longer validates the
  option that is set. Instead, use nm_connection_verify() to validate
  the profile.
Thomas Haller's avatar
Thomas Haller committed
305
306
307
* libnm: add support for reading/writing keyfile format. This required to
  relicense previously GPL-2.0+ code as LGPL-2.1+ with the agreement of the
  copyright holders.
Thomas Haller's avatar
Thomas Haller committed
308
309
* initrd: support for rd.net.timeout.carrier option.
* initrd: support new ip method "link6" for IPv6 link-local only.
Thomas Haller's avatar
Thomas Haller committed
310
311
* ci: use ci-templates for containers on gitlab-ci.
* ci: test build against Alpine Linux on gitlab-ci.
312
* build: new configure option to set path to "polkit-agent-helper-1".
Thomas Haller's avatar
Thomas Haller committed
313
* Many bugfixes, improvements and translation updates.
Thomas Haller's avatar
Thomas Haller committed
314

Thomas Haller's avatar
Thomas Haller committed
315
316
317
318
319
=============================================
NetworkManager-1.28
Overview of changes since NetworkManager-1.26
=============================================

Beniamino Galvani's avatar
Beniamino Galvani committed
320
321
322
* Introduce a new "rc-manager=auto" setting and make it the default,
  unless a different default is chosen at compile time.  This mode
  tries to detect "systemd-resolved", "resolvconf", and "netconfig"
323
  and chooses the mode that seems most suitable depending on build
Beniamino Galvani's avatar
Beniamino Galvani committed
324
325
326
327
328
329
330
331
332
333
334
335
336
  setting and runtime detection.  "resolvconf" and "netconfig" are
  only considered iff NetworkManager was built with the respective
  options enabled.
* The long deprecated D-Bus property "Ip4Address" on
  "org.freedesktop.NetworkManager.Device" interface is now defunct and
  always returns zero.
* Introduce a ipv4.dhcp-reject-servers connection property that
  specifies a list of DHCP server-ids from which offers should be
  rejected.
* Add a ipv4.dhcp-vendor-class-identifier connection property to send
  a custom value for the Vendor Class Identifier DHCP option.
* Support obtaining the system hostname through the FQDN DHCPv6
  option.
337
338
* dbus: don't require policykit permission for GetAppliedConnection of
  a device.
Beniamino Galvani's avatar
Beniamino Galvani committed
339
340
341
342
343
344
345
346
* When supported by kernel, use netlink to configure bridge settings
  instead of writing to sysfs.
* Deprecate the "active_slave" bond option which now has the same effect
  as setting the "primary" option.
* The initrd generator now also accepts MAC addresses to indicate
  interfaces.
* Add a new provider for nm-cloud-setup to support automatic network
  configuration on Azure.
Beniamino Galvani's avatar
Beniamino Galvani committed
347
348
349
350
351
352
* The initrd generator now supports creating Infiniband connections.
* Fix running DHCPv6-PD over PPPoE.
* Fix building NetworkManager with LTO (Link Time Optimization).
* Fix failure activating Wi-Fi P2P connections.
* Reformat code using spaces instead of tabs. Also, the entire C
  source code is now formatted with "clang-format" (version 11.0).
353
354
355
356
* Change the behavior of nm-initrd-generator so that the 'ip=off|none' kernel
  cmdline argument actually generates a connection which disables both
  ipv4 and ipv6. Previously the generated connection would disable ipv4
  but ipv6 would be set to the 'auto' method.
357
358
* Fix systemd-resolved DNS plugin to configure DefaultRoute option and to
  only configure wildcard DNS search domain with exclusive DNS priority.
359

Thomas Haller's avatar
Thomas Haller committed
360
=============================================
Thomas Haller's avatar
Thomas Haller committed
361
362
NetworkManager-1.26
Overview of changes since NetworkManager-1.24
Thomas Haller's avatar
Thomas Haller committed
363
364
=============================================

365
366
367
368
369
370
371
372
* Add a new build option 'firewalld-zone'; when enabled,
  NetworkManager installs a firewalld zone for connection sharing and
  puts interfaces using IPv4 or IPv6 shared mode in this zone during
  activation. The option is enabled by default.
  Note that NetworkManager still calls to iptables to enable
  masquerading and open needed ports for DHCP and DNS. The new option
  is useful on systems using firewalld with the nftables backend,
  where the iptables rules would not be sufficient.
Beniamino Galvani's avatar
Beniamino Galvani committed
373
374
* Extend the syntax for 'match' setting properties with '|', '&', '!'
  and '\\'.
Thomas Haller's avatar
Thomas Haller committed
375
376
* Add MUD URL property for connection profiles (RFC 8520) and set it
  for DHCP and DHCPv6 requests.
Thomas Haller's avatar
Thomas Haller committed
377
* Expose raw LLDP message on D-Bus and the MUD usage description URL.
Thomas Haller's avatar
Thomas Haller committed
378
379
380
381
382
383
* ifcfg-rh: handle "802-1x.{,phase2-}ca-path". Otherwise setting this
  property silently fails and a profile might accidentally not perform
  any authentication (CVE-2020-10754).
* ifcfg-rh: handle 802-1x.pin properties.
* ethernet: reset original autonegotiation/speed/duplex settings when
  deactivating device.
Beniamino Galvani's avatar
Beniamino Galvani committed
384
385
* Support ethtool coalesce and ring options.
* Allow team connections to work without D-Bus (e.g. in the initrd).
Thomas Haller's avatar
Thomas Haller committed
386
387
388
389
* Wi-Fi profiles now also autoconnect if all previous activation attempts
  failed. This means, an initial failure to autoconnect to the network will
  no longer block the automatism. A side effect is that existing Wi-Fi profiles
  which previously were blocked may now start to autoconnect.
Thomas Haller's avatar
Thomas Haller committed
390
* NetworkManager now supports "local" type routes beside "unicast".
Thomas Haller's avatar
Thomas Haller committed
391
392
393
394
395
396
* Introduce new manual pages nm-settings-dbus and nm-settings-nmcli.
* Mark externally managed devices and profiles on D-Bus.
* Highlight externally managed devices in nmcli.
* Add support for a number of bridge options.
* Add match for device path, driver and kernel command line for connection
  profiles.
Beniamino Galvani's avatar
Beniamino Galvani committed
397
398
* Fix support for OVS patch interfaces.
* Support more tc qdiscs: tbf and sfq.
Antonio Cardace's avatar
Antonio Cardace committed
399
400
401
* Add new provider in nm-cloud-setup for Google Cloud Platform which
  automatically detects and configures the host to receive traffic
  from internal load balancers.
Thomas Haller's avatar
Thomas Haller committed
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420

=============================================
NetworkManager-1.24
Overview of changes since NetworkManager-1.22
=============================================

* Add support for virtual routing and forwarding (VRF) interfaces.
* Add support for Opportunistic Wireless Encryption mode (OWE) for Wi-Fi networks.
* Add support for 31-bit prefixes on IPv4 point-to-point links according to
  RFC 3021.
* Drop dependencies for libpolkit-agent-1 and libpolkit-gobject-1.
* nmcli:
  - support setting removal via new command
    `nmcli connection modify $CON_NAME remove $setting`.
  - support backslash escape sequences for "vpn.data", "vpn.secrets",
    "bond.options", and "ethernet.s390-options".
* bridge: support new options "bridge.multicast-querier", "bridge.multicast-query-use-ifaddr",
  "bridge.multicast-router", "bridge.vlan-stats-enabled", "bridge.vlan-protocol",
  "bridge.group-address".
Antonio Cardace's avatar
Antonio Cardace committed
421
422
423
424
425
426
427
428
429
430
* IPv6 SLAAC: add support for "ipv6.ra-timeout" setting
* IPv6 DHCP: add support for "ipv6.dhcp-timeout" setting
* WWAN: NetworkManager now detects if a PIN-protected SIM card has been
  externally unlocked and automatically tries to activate a suitable
  connection on the modem.
* OVS:
  - add support for changing MTU of OVS interfaces.
  - remove length limitation for OVS Bridge, Patches and Interfaces
    (only Patch types) names.
* VPN: accept empty values for VPN data items and secrets.
Thomas Haller's avatar
Thomas Haller committed
431
* All nm-devices now expose the 'HwAddress' property via D-Bus.
Antonio Cardace's avatar
Antonio Cardace committed
432
* Slave devices now do not get created/activated if master is missing.
Thomas Haller's avatar
Thomas Haller committed
433
* Fixed multiple issues in the internal "nettools" DHCP client.
Antonio Cardace's avatar
Antonio Cardace committed
434
435
* Export NM_CAPABILITY_OVS capability on D-Bus and in libnm to
  indicate that the OVS plugin is loaded.
Thomas Haller's avatar
Thomas Haller committed
436
437
438
* Fixes for importing WireGuard profiles in nmcli and better handle
  configurations that enable ip4-auto-default-route with an explicit
  gateway.
Antonio Cardace's avatar
Antonio Cardace committed
439
* Various bug fixes and improvements.
Thomas Haller's avatar
Thomas Haller committed
440

Thomas Haller's avatar
Thomas Haller committed
441
=============================================
442
443
NetworkManager-1.22
Overview of changes since NetworkManager-1.20
Thomas Haller's avatar
Thomas Haller committed
444
445
=============================================

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

448
449
* Drop support for BlueZ 4. BlueZ 5 was released in 2012 and should
  nowadays be available everywhere.
Thomas Haller's avatar
Thomas Haller committed
450
451
452
453
454
455
456
457
* DHCP: switch "internal" DHCPv4 plugin from code based on systemd to use nettools'
  n-dhcp4 library.
* Add support for "scope" attribute for IPv4 routes.
* Add support for specifying IAID and FQDN flags for DHCP request.
* Add a '802-1x.optional' property to consider the wired 802.1X authentication as
  optional.
* Use the Network Cost Wi-Fi information element to determine metered
  device state.
Thomas Haller's avatar
Thomas Haller committed
458
459
* Support main.auth-polkit=root-only setting to disable PolicyKit use and
  restrict authorization to root user.
460
461
462
463
464
465
* 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 "network-online.target" 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.
466
* libnm: hide NMObject and NMClient typedefs from header files. This prevents
Thomas Haller's avatar
Thomas Haller committed
467
468
  the user from subclassing these types and is an ABI change (in the unlikely
  case that a user was subclassing the types, which is no longer supported).
469
470
471
* 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.
Thomas Haller's avatar
Thomas Haller committed
472
473
* Deprecate synchronous API for D-Bus calls in libnm. We don't remove libnm API so
  you are free to continue using it. But tells you that using it might be a bad idea.
474
475
476
* libnm: heavily internal rework NMClient. This slims down libnm and makes the
  implementation more efficient. NMClient should work now well with a separate
  GMainContext.
Thomas Haller's avatar
Thomas Haller committed
477
478
* Add `nmcli general reload` subcommand to reload NetworkManager configuration
  and DNS settings.
479
* nm-cloud-setup: add new tool for automatically configuring NetworkManager
Thomas Haller's avatar
Thomas Haller committed
480
481
482
483
  in cloud. This is still experimental and currently only EC2 and IPv4 is
  supported.
* Add new NetworkManager logo to "contrib/art/logo".
* Various bug fixes and improvements.
484
485
486
487
488
489
490
491

=============================================
NetworkManager-1.20
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
492
* The libnm-glib library, deprecated in favor of libnm since NetworkManager 1.0,
Thomas Haller's avatar
Thomas Haller committed
493
  and disabled by default since NetworkManager 1.12, has now been removed.
494
495
496
497
* 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
498
499
* Added support for configuring fq_codel line discipline and mirred action.
* Added a possibility for distributions to ship dispatcher scripts in /usr/lib.
500
* Drop deprecated setting "main.monitor-connection-files" in NetworkManager.conf.
Thomas Haller's avatar
Thomas Haller committed
501
  This setting now has no more effect and was disabled by default for a long time.
Thomas Haller's avatar
Thomas Haller committed
502
  Instead, after changes, load files explicitly with `nmcli connection load` or
503
  `nmcli connection reload`.
Thomas Haller's avatar
Thomas Haller committed
504
* Rework parsing team JSON config in libnm and stricter validate settings.
Thomas Haller's avatar
Thomas Haller committed
505
  With this, NetworkManager rejects settings that it considers invalid while
Thomas Haller's avatar
Thomas Haller committed
506
  still allowing setting arbitrary JSON config directly.
507
508
* 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
509
* Support "suppress_prefixlength" attribute for policy routing rules.
Thomas Haller's avatar
Thomas Haller committed
510
511
512
513
  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
514
515
516
517
  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
518
* Rework implementation of settings plugins and how profiles are presisted
Thomas Haller's avatar
Thomas Haller committed
519
520
  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
521
522
523
524
525
526
527
528
529
530
531
532
* 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
533
534
535
536
537
538
539
540
541
542
543
  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 "connection.zone" 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.
544
* Added support for Wi-Fi Mesh network.
Lubomir Rintel's avatar
Lubomir Rintel committed
545

546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
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
565
566
567
568
569
570
571
=============================================
NetworkManager-1.18
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
572
573
574
575
576
577
* 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
578
579
580
581
582
=============================================
NetworkManager-1.16
Overview of changes since NetworkManager-1.14
=============================================

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

* Check connectivity per address family.
Thomas Haller's avatar
Thomas Haller committed
586
587
588
589
590
591
592
593
* 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
594
  per connection profile).
Thomas Haller's avatar
Thomas Haller committed
595
596
597
* 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.
598
* Allow binding a connections lifetime to the DBus client that activated it.
599
* Add support for establishing Wi-Fi Direct connections (Wi-Fi P2P).
Thomas Haller's avatar
Thomas Haller committed
600
601
602
* 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
603
604
* Add initrd generator to be used by dracut and use it as new way of handling
  iBFT.
Lubomir Rintel's avatar
Lubomir Rintel committed
605
* Deprecated "plugins.monitor-connection-files" setting in NetworkManager.conf.
Thomas Haller's avatar
Thomas Haller committed
606
607
608
609
610
  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
611
612
613
614
* 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
615
616

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

619
620
- 1.14.6:
* Fix memory corruption in internal DHCPv6 client (CVE-2018-15688).
Lubomir Rintel's avatar
Lubomir Rintel committed
621
* No longer limit number of search entries in resolv.conf to 6.
622
623
624
625
626
627
628
629
630
631
632
633
* Support restricting NetworkManager.conf device configuration based on used DHCP
  plugin.
* 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
634
  purposes like generating IPv6 stable privacy addresses. It is now combined
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
  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 libnm-wwan.so).

- 1.14.2:
Thomas Haller's avatar
Thomas Haller committed
657
658
659
660
661
662
663
664
665
666
667
668
* 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
  profile.
* Avoid expiring the lifetime of IPv6 addresses from router advertisements.

669
=============================================
Thomas Haller's avatar
Thomas Haller committed
670
NetworkManager-1.14
671
672
673
Overview of changes since NetworkManager-1.12
=============================================

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

676
* Added support for IEEE 802.15.4 and 6LowPAN devices.
677
678
* Support activating profile multiple times via connection.multi-connect
  setting.
Thomas Haller's avatar
Thomas Haller committed
679
680
* 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
681
* Fix PrimaryConnection for VPN with default-route.
Thomas Haller's avatar
Thomas Haller committed
682
* Add support for ethtool offload features.
Thomas Haller's avatar
Thomas Haller committed
683
684
685
686
687
688
689
690
691
* 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
692
693
* Support EAP profiles with iwd Wi-Fi backend and support iwd API 0.8.
* Expose slaves of OVS bridges and ports.
694

695
696
697
698
699
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.

700
=============================================
Thomas Haller's avatar
Thomas Haller committed
701
NetworkManager-1.12
702
703
704
Overview of changes since NetworkManager-1.10
=============================================

Thomas Haller's avatar
Thomas Haller committed
705
This is a new stable release of NetworkManager.  Notable changes include:
706
707
708
709
710
711

* 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
712
713
* Drop dependency on libnl3 library.
* Add support for "onlink" routes.
714
* More robust connectivity checking.
Thomas Haller's avatar
Thomas Haller committed
715
* Dropped the obsolete "ifnet" settings plugin,
716
717
718
719
720
721
* 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
722
723
* Added experimental support for Meson build system,
* Added initial IWD Wi-Fi daemon support.
724
725
726
727
728
* 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.
729
730
* DNS setting rc-manager=file now always follows dangling symlinks
  instead of replacing /etc/resolv.conf with a plain file.
731
732
* Added wake_on_wlan connection setting to configure
  wake-on-wireless-lan (WoWLAN).
733
734
735
736
* 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
737
738
739
* 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
740
* Extended ipv6.dhcp-client-id property to support DHCP client identifiers
Thomas Haller's avatar
Thomas Haller committed
741
  depending on the MAC address and the stable ID.
742
* Set NM_DISPATCHER_ACTION environment variable in dispatcher scripts.
743

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

747
* Fix crash during reapply of connection settings
Thomas Haller's avatar
Thomas Haller committed
748
749
750
751
752
753
754
755
756
757
758
759
* 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).
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
* 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.

777
============================================
Beniamino Galvani's avatar
Beniamino Galvani committed
778
NetworkManager-1.10
779
780
781
782
783
Overview of changes since NetworkManager-1.8
============================================

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

784
785
* NetworkManager includes now basic Open vSwitch support, good enough
    to be capable of setting up simple Open vSwitch configurations.
786
787
788
789
790
791
792
793
794
795
796
797
798
* Added support for activating PPP connections on non-Ethernet
  interfaces.
* 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
    networks.
* Added support for the Bluetooth NAP (Network Access Point) profile.
* Added support for disabling connectivity checking via the D-Bus
    interface.
Beniamino Galvani's avatar
Beniamino Galvani committed
799
* The internal DHCP client now understands the domain-search option.
800
801
802
803
804
805
806
807
808
809
810
811
812
813
* 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
    preference.
* 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
    NetworkManager.
* 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
814
    routing rules file.
815
816
817
818
819
820
821
822
823
824
825
826
* 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
    devices.
* The systemd-resolved DNS plugin properly handles the DNS priority
    setting.
* Fixed setting a DHCP timeout greater than 60 seconds (dhclient).
* Fixed some memory leaks.
* Many other bug fixes and improvements.

827
============================================
Thomas Haller's avatar
Thomas Haller committed
828
NetworkManager-1.8
Thomas Haller's avatar
Thomas Haller committed
829
830
831
Overview of changes since NetworkManager-1.6
============================================

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

834
835
836
837
838
839
840
* 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
841
842
843
* 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).
844
845
846
847
848
849
* 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
850
851
852
853
854
855
856
857
858
* 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
    state.
* 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
    NetworkManager.conf.
859
860
861
862
863
864
865
866
867
868
869
870
871
* 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
872
873
874
875
* 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
    scanning.
Thomas Haller's avatar
Thomas Haller committed
876
877
878
* Many bug fixes and improvements

============================================
Thomas Haller's avatar
Thomas Haller committed
879
NetworkManager-1.6
880
881
882
Overview of changes since NetworkManager-1.4
============================================

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

885
886
887
888
889
890
891
892
893
894
895
896
* 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.
897
898
899
900
901
902
903
904
* 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
    startup)
* 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.
905
906
* Fix emission of NM-style PropertiesChanged signals and deprecate them
    for PropertiesChanged on "org.freedesktop.DBus.Properties" interface.
907
908
909
910
911
* 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).
912
913
914
* 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.
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
* The cloned.mac-address property can now be used with Bond and Bridge
    devices.
* 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.
930
931
932
* 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.
933
934
935
* 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
936
937
938
939
940
941
942
943
944
* 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
945
* Improve tracking of parent devices for dependent devices like ip-tunnels, MACVLAN,
Lubomir Rintel's avatar
Lubomir Rintel committed
946
947
    VETH, VLAN, and VXLAN.
* Many bug fixes and improvements
948

Beniamino Galvani's avatar
Beniamino Galvani committed
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
============================================
NetworkManager-1.4
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
964
965
* Added ability to create a configuration checkpoints and rolling back
    changes after a timeout.
Beniamino Galvani's avatar
Beniamino Galvani committed
966
967
968
* 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
969
* The devices now exposes counters of transferred data
Beniamino Galvani's avatar
Beniamino Galvani committed
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
* 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
989
    a device with 'nmcli device modify' and 'nmcli device reapply'
Beniamino Galvani's avatar
Beniamino Galvani committed
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
* 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
    changes
* Many other fixes and improvements

Lubomir Rintel's avatar
Lubomir Rintel committed
1003
1004
1005
1006
1007
1008
1009
============================================
NetworkManager-1.2
Overview of changes since NetworkManager-1.0
============================================

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

1010
1011
1012
1013
1014
1015
* 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
    wpa_supplicant.
Lubomir Rintel's avatar
Lubomir Rintel committed
1016
1017
1018
1019
* 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,
Beniamino Galvani's avatar
Beniamino Galvani committed
1020
    macvlan, vxlan and ip tunnels (ipip, gre, sit, ip6ip6 and ipip6).
Lubomir Rintel's avatar
Lubomir Rintel committed
1021
1022
1023
1024
1025
1026
1027
* 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.
Beniamino Galvani's avatar
Beniamino Galvani committed
1028
* Improved route management code to avoid clashes between conflicting
Lubomir Rintel's avatar
Lubomir Rintel committed
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
    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
Beniamino Galvani's avatar
Beniamino Galvani committed
1039
    unless the connection is active, avoiding pollution of the link namespace.
Lubomir Rintel's avatar
Lubomir Rintel committed
1040
1041
1042
1043
1044
1045
1046
1047
1048
* 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.
Beniamino Galvani's avatar
Beniamino Galvani committed
1049
* Numerous improvements to Bash command completion for nmcli.
Lubomir Rintel's avatar
Lubomir Rintel committed
1050
1051
1052
1053
1054
1055
1056
* 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.
Lubomir Rintel's avatar
Lubomir Rintel committed
1057
1058
* Management of resolv.conf can be changed at runtime, private resolv.conf
    is always written in /run.
Beniamino Galvani's avatar
Beniamino Galvani committed
1059
* NetworkManager can now write DNS options to resolv.conf.
Lubomir Rintel's avatar
Lubomir Rintel committed
1060
1061
* Added an option to enable the old-fashioned /etc/resolv.conf handling
   (using a symlink)
Lubomir Rintel's avatar
Lubomir Rintel committed
1062
1063
1064
1065
1066
* 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.
Beniamino Galvani's avatar
Beniamino Galvani committed
1067
* Live reconfiguration of IP configuration after changing the settings without
Lubomir Rintel's avatar
Lubomir Rintel committed
1068
1069
1070
1071
1072
1073
1074
    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.
Beniamino Galvani's avatar
Beniamino Galvani committed
1075
1076
* The timeout for DHCP requests can now be modified using the
    'ipv4.dhcp-timeout' property.
Lubomir Rintel's avatar
Lubomir Rintel committed
1077
* Added multicast_snooping option to BRIDGING_OPTS ifcfg key.
Beniamino Galvani's avatar
Beniamino Galvani committed
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
* 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.
Lubomir Rintel's avatar
Lubomir Rintel committed
1089
1090
1091
1092
1093
1094
1095
* 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
1096
* Fair amount of bugs was fixed and robustness was generally improved.
Lubomir Rintel's avatar
Lubomir Rintel committed
1097

1098
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
1099
1100
1101
1102
1103
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
Beniamino Galvani's avatar
Beniamino Galvani committed
1104
    a timeout.
Lubomir Rintel's avatar
Lubomir Rintel committed
1105
1106
1107
1108
* 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.
Beniamino Galvani's avatar
Beniamino Galvani committed
1109
* Invalid permanent MAC addresses as reported by some devices are now
Lubomir Rintel's avatar
Lubomir Rintel committed
1110
1111
1112
1113
    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.
Beniamino Galvani's avatar
Beniamino Galvani committed
1114
1115
* 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
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
* 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.
1130
* Default route through Wi-Fi connection is now preferred to Mobile
Lubomir Rintel's avatar
Lubomir Rintel committed
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
    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
Beniamino Galvani's avatar
Beniamino Galvani committed
1145
1146
1147
1148
    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.
Lubomir Rintel's avatar
Lubomir Rintel committed
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
* 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
Beniamino Galvani's avatar
Beniamino Galvani committed
1167
    ifcfg files.
Lubomir Rintel's avatar
Lubomir Rintel committed
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
* 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)

Dan Williams's avatar
Dan Williams committed
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
1242
1243
1244
1245
1246
===============================================
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
luz.paz's avatar
luz.paz committed
1247
* 'nmcli dev connect' now attempts to create a connection if none exists
Dan Williams's avatar
Dan Williams committed
1248
1249
1250
1251
1252
1253
1254
* 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
1255
1256
* Externally created virtual interfaces are no longer managed by NetworkManager
    until they are set "up" or activated via nmcli
1257
* Team device support is now an optional plugin
Dan Williams's avatar
Dan Williams committed
1258
1259


Dan Williams's avatar
Dan Williams committed
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
==============================================
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
1274
* Wi-Fi, ADSL, WWAN, and Bluetooth are now optional plugins, reducing install size
Dan Williams's avatar
Dan Williams committed
1275
1276
* Added support for Infiniband Partitions
* Network connection files are no longer watched by default, use "nmcli con reload"
Jiří Klimeš's avatar
Jiří Klimeš committed
1277
    to notice changes made externally or set "monitor-connection-files=true" in
Dan Williams's avatar
Dan Williams committed
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
    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
1303
* PPPoE now requires userland "rp-pppoe" to work around kernel bugs
Dan Williams's avatar
Dan Williams committed
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
    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
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
==============================================
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
1331
1332
* 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
1333
1334
1335
1336
1337
1338
    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
1339
1340
* 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
1341
1342
1343
1344
* 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
1345
1346
* 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
1347
1348
1349
1350
* 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
1351
    Wi-Fi configurations
Dan Williams's avatar
Dan Williams committed
1352
1353


Dan Williams's avatar
Dan Williams committed
1354
1355
1356
1357
1358
1359
1360
1361
==============================================
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
Dan Williams's avatar
Dan Williams committed
1362
1363
* Enhanced IPv6 stability and compatibility
* Fix regression in carrier handling for devices that don't support carrier detect
1364
* Add ability to connect to new Wi-Fi networks from nmcli
1365
* Add native support for ADSL modems using PPPoE or PPPoATM
Dan Williams's avatar
Dan Williams committed
1366
1367
1368
* 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
1369
* Add on-demand Wi-Fi scan support
Dan Williams's avatar
Dan Williams committed
1370
* Fix IPv6 default gateway handling for DHCPv6
Dan Williams's avatar
Dan Williams committed
1371
* Add Vala language bindings
Dan Williams's avatar
Dan Williams committed
1372
1373
1374
* 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
1375
1376
1377
* 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
1378
1379


Dan Williams's avatar
Dan Williams committed
1380
1381
1382
1383
1384
1385
1386
==============================================
NetworkManager-0.9.4
Overview of changes since NetworkManager-0.9.2
==============================================

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

1387
* Better handling of Wi-Fi devices via nl80211 when available (instead of WEXT)
Dan Williams's avatar
Dan Williams committed
1388
1389
* 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
1390
* Added support for firewall "zones" via FirewallD
Dan Williams's avatar
Dan Williams committed
1391
* Added basic support for bonded interfaces
1392
* Wi-Fi connections are no longer locked to a specific MAC address if they are
Dan Williams's avatar
Dan Williams committed
1393
1394
1395
1396
1397
1398
1399
1400
1401
    "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
1402
1403
1404
* 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
1405
1406
1407
1408
1409
* 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
1410
1411
1412
1413
* 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
1414
1415
1416
* 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
1417
* Removed support for Wi-Fi Ad-Hoc WPA connections due to kernel bugs
Dan Williams's avatar
Dan Williams committed
1418
1419


Dan Williams's avatar
Dan Williams committed
1420
1421
1422
1423
1424
==============================================
NetworkManager-0.9.2
Overview of changes since NetworkManager-0.9.0
==============================================

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

Dan Williams's avatar
Dan Williams committed
1427
1428
* Support for libnl2 and libnl3 and various memory leak fixes
* Bug fixes for the ifnet config plugin
Dan Williams's avatar
Dan Williams committed
1429
1430
1431
1432
1433
1434
1435
* 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
1436
1437
1438
1439
1440
1441
1442
* 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
1443
1444
1445
* 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
1446
1447
1448
1449
1450
* 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
1451
1452


Dan Williams's avatar
Dan Williams committed
1453
==============================================
1454
1455
1456
1457
1458
1459
1460
NetworkManager-0.9.0
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
1461
* Secrets for any connection can now be stored in user session or by NetworkManager
1462
1463
* All secrets can now be requested each time
* Fast User Switching support
1464
* Support for WiMAX mobile broadband
Dan Williams's avatar
Dan Williams committed
1465
* Connections can now be restricted to one or more users
1466
1467
* Support for 802.1X certificate subject matching for greater security
* Requires wpa_supplicant 0.7 or later
Dan Williams's avatar
Dan Williams committed
1468
1469
* Better support for AP roaming using nl80211 and background scanning
* Simplified D-Bus API for easier client usage
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
* Support for GObject Introspection in libnm-glib and libnm-util


==============================================
NetworkManager-0.8.6
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)


==============================================
NetworkManager-0.8.4
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...

==============================================
NetworkManager-0.8.2
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
1536
1537
* Ensure users are allowed to enable/disable Wi-Fi and networking
* Ensure Wi-Fi enable state is perserved across reboot and suspend
1538
1539
1540
1541
1542
1543
1544
1545
* 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
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
NetworkManager-0.7.0
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)


Robert Love's avatar
   
Robert Love committed
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
==============================================
NetworkManager-0.6.2
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)


==============================================
NetworkManager-0.6.1
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)

1596
1597
1598
1599
1600
1601
1602
1603
==============================================
NetworkManager-0.6.0
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.

Robert Love's avatar
   
Robert Love committed
1604
1605
We now require libnl, a netlink library (http://people.suug.ch/~tgr/libnl/) and
wpa_supplicant, a WPA supplicant (http://hostap.epitest.fi/wpa_supplicant/).