forked from NetworkManager/NetworkManager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
1604 lines (1461 loc) · 79 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=============================================
NetworkManager-1.34
Overview of changes since NetworkManager-1.32
=============================================
This is a snapshot of NetworkManager development. The API is
subject to change and not guaranteed to be compatible with
the later release.
USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE!
* 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.
The following changes were backported to 1.32.x releases between 1.32.0
and 1.32.6 are also present in NetworkManager-1.32:
- 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.
- 1.32.4:
* core: remove stale entries from "seen-bssids" and "timestamp"
files in "/var/lib/NetworkManager".
* 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.
- 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
=============================================
NetworkManager-1.32
Overview of changes since NetworkManager-1.30
=============================================
* Add an 'accept-all-mac-addresses' property to the ethernet setting
to accept frames with any MAC address (also known as promiscuous
mode).
* nmcli: fix setting property aliases to empty value to reset the
default value.
* 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.
* 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.
* 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.
* firewall: add nftables firewall backend for configuring IPv4 NAT with shared
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.
Please note that SELinux might prevent NetworkManager from communicating with nft.
* ethtool: add support for pause settings.
* Support "prohibit"/"blackhole"/"unreachable" type routing rules.
* Support uidrange attribute for policy routing rules.
* Now NetworkManager preserves by default the existing traffic control
configuration (qdiscs and filters) when activating a connection.
* wifi/iwd: mirror NetworkManager connection profiles to iwd config files.
* API CHANGE: vala: fix wrongly generated vapi for WireGuard API.
* wifi: fix parsing of Microsoft Network Cost information element for
detecting metered networks.
* 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.
* API CHANGE: hide definitions of structs for NMSetting and NMSimpleConnection from
public headers.
* Major restructuring of the source code.
* Many bugfixes and minor improvements.
=============================================
NetworkManager-1.30
Overview of changes since NetworkManager-1.28
=============================================
* Increase timeout of NetworkManager-wait-online.service to 60 seconds.
* Add "ipv4.dhcp-client-id=ipv6-duid" option for RFC4361.
* 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.
* 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.
* libnm: nm_setting_bond_add_option() no longer validates the
option that is set. Instead, use nm_connection_verify() to validate
the profile.
* 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.
* initrd: support for rd.net.timeout.carrier option.
* initrd: support new ip method "link6" for IPv6 link-local only.
* ci: use ci-templates for containers on gitlab-ci.
* ci: test build against Alpine Linux on gitlab-ci.
* build: new configure option to set path to "polkit-agent-helper-1".
* Many bugfixes, improvements and translation updates.
=============================================
NetworkManager-1.28
Overview of changes since NetworkManager-1.26
=============================================
* 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"
and chooses the mode that seems most suitable depending on build
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.
* dbus: don't require policykit permission for GetAppliedConnection of
a device.
* 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.
* 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).
* 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.
* Fix systemd-resolved DNS plugin to configure DefaultRoute option and to
only configure wildcard DNS search domain with exclusive DNS priority.
=============================================
NetworkManager-1.26
Overview of changes since NetworkManager-1.24
=============================================
* 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.
* Extend the syntax for 'match' setting properties with '|', '&', '!'
and '\\'.
* Add MUD URL property for connection profiles (RFC 8520) and set it
for DHCP and DHCPv6 requests.
* Expose raw LLDP message on D-Bus and the MUD usage description URL.
* 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.
* Support ethtool coalesce and ring options.
* Allow team connections to work without D-Bus (e.g. in the initrd).
* 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.
* NetworkManager now supports "local" type routes beside "unicast".
* 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.
* Fix support for OVS patch interfaces.
* Support more tc qdiscs: tbf and sfq.
* 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.
=============================================
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".
* 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.
* All nm-devices now expose the 'HwAddress' property via D-Bus.
* Slave devices now do not get created/activated if master is missing.
* Fixed multiple issues in the internal "nettools" DHCP client.
* Export NM_CAPABILITY_OVS capability on D-Bus and in libnm to
indicate that the OVS plugin is loaded.
* Fixes for importing WireGuard profiles in nmcli and better handle
configurations that enable ip4-auto-default-route with an explicit
gateway.
* Various bug fixes and improvements.
=============================================
NetworkManager-1.22
Overview of changes since NetworkManager-1.20
=============================================
This is a new stable release of NetworkManager. Notable changes include:
* Drop support for BlueZ 4. BlueZ 5 was released in 2012 and should
nowadays be available everywhere.
* 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.
* Support main.auth-polkit=root-only setting to disable PolicyKit use and
restrict authorization to root user.
* 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.
* libnm: hide NMObject and NMClient typedefs from header files. This prevents
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).
* 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.
* 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.
* libnm: heavily internal rework NMClient. This slims down libnm and makes the
implementation more efficient. NMClient should work now well with a separate
GMainContext.
* Add `nmcli general reload` subcommand to reload NetworkManager configuration
and DNS settings.
* nm-cloud-setup: add new tool for automatically configuring NetworkManager
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.
=============================================
NetworkManager-1.20
Overview of changes since NetworkManager-1.18
=============================================
This is a new stable release of NetworkManager. Notable changes include:
* The libnm-glib library, deprecated in favor of libnm since NetworkManager 1.0,
and disabled by default since NetworkManager 1.12, has now been removed.
* 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.
* Added support for configuring fq_codel line discipline and mirred action.
* Added a possibility for distributions to ship dispatcher scripts in /usr/lib.
* Drop deprecated setting "main.monitor-connection-files" in NetworkManager.conf.
This setting now has no more effect and was disabled by default for a long time.
Instead, after changes, load files explicitly with `nmcli connection load` or
`nmcli connection reload`.
* Rework parsing team JSON config in libnm and stricter validate settings.
With this, NetworkManager rejects settings that it considers invalid while
still allowing setting arbitrary JSON config directly.
* Drop ibft settings plugin. This functionality is now covered by using
nm-initrd-generator from initrd to pre-generate in-memory profiles.
* Support "suppress_prefixlength" attribute for policy routing rules.
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
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.
* Rework implementation of settings plugins and how profiles are presisted
to disk. This is a large internal refactoring of the settings plugins that
allows to migrate a connection profile between plugins.
* 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
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.
* Added support for Wi-Fi Mesh network.
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.
=============================================
NetworkManager-1.18
Overview of changes since NetworkManager-1.16
=============================================
This is a new stable release of NetworkManager. Notable changes include:
* 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.
=============================================
NetworkManager-1.16
Overview of changes since NetworkManager-1.14
=============================================
This is a new stable release of NetworkManager. Notable changes include:
* Check connectivity per address family.
* 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
per connection profile).
* Improve handling of DHCP router options with internal DHCP plugin. For one, accept
multiple routers and add a default-route to each. On D-Bus expose the original DNS
and NTP servers without cleaning up local nameservers.
* Allow binding a connections lifetime to the DBus client that activated it.
* Add support for establishing Wi-Fi Direct connections (Wi-Fi P2P).
* 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.
* Add initrd generator to be used by dracut and use it as new way of handling
iBFT.
* Deprecated "plugins.monitor-connection-files" setting in NetworkManager.conf.
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.
* 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.
The following changes were backported to 1.14.x releases between 1.14.0
and 1.14.6 are also present in NetworkManager-1.14:
- 1.14.6:
* Fix memory corruption in internal DHCPv6 client (CVE-2018-15688).
* No longer limit number of search entries in resolv.conf to 6.
* 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
purposes like generating IPv6 stable privacy addresses. It is now combined
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:
* 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.
=============================================
NetworkManager-1.14
Overview of changes since NetworkManager-1.12
=============================================
This is a new stable release of NetworkManager. Notable changes include:
* Added support for IEEE 802.15.4 and 6LowPAN devices.
* Support activating profile multiple times via connection.multi-connect
setting.
* Add match setting to restrict a profile to devices based on
a list of interface names with globbing supported.
* Fix PrimaryConnection for VPN with default-route.
* Add support for ethtool offload features.
* 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.
* Support EAP profiles with iwd Wi-Fi backend and support iwd API 0.8.
* Expose slaves of OVS bridges and ports.
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.
=============================================
NetworkManager-1.12
Overview of changes since NetworkManager-1.10
=============================================
This is a new stable release of NetworkManager. Notable changes include:
* 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.
* Drop dependency on libnl3 library.
* Add support for "onlink" routes.
* More robust connectivity checking.
* Dropped the obsolete "ifnet" settings plugin,
* 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).
* Added experimental support for Meson build system,
* Added initial IWD Wi-Fi daemon support.
* 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.
* DNS setting rc-manager=file now always follows dangling symlinks
instead of replacing /etc/resolv.conf with a plain file.
* Added wake_on_wlan connection setting to configure
wake-on-wireless-lan (WoWLAN).
* 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.
* 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
* Extended ipv6.dhcp-client-id property to support DHCP client identifiers
depending on the MAC address and the stable ID.
* Set NM_DISPATCHER_ACTION environment variable in dispatcher scripts.
The following features were backported to 1.10.x releases from 1.10.0 to
1.10.10 are also present in NetworkManager-1.12:
* Fix crash during reapply of connection settings
* 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).
* 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.
============================================
NetworkManager-1.10
Overview of changes since NetworkManager-1.8
============================================
This is a new stable release of NetworkManager. Notable changes include:
* NetworkManager includes now basic Open vSwitch support, good enough
to be capable of setting up simple Open vSwitch configurations.
* 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.
* The internal DHCP client now understands the domain-search option.
* 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
routing rules file.
* 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.
============================================
NetworkManager-1.8
Overview of changes since NetworkManager-1.6
============================================
This is a new stable release of NetworkManager. Notable changes include:
* 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
* 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).
* 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
* 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.
* 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.
* 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.
* Many bug fixes and improvements
============================================
NetworkManager-1.6
Overview of changes since NetworkManager-1.4
============================================
This is a new stable release of NetworkManager. Notable changes include:
* 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.
* 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.
* Fix emission of NM-style PropertiesChanged signals and deprecate them
for PropertiesChanged on "org.freedesktop.DBus.Properties" interface.
* 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).
* 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.
* 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.
* 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.
* 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.
* 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.
* Improve tracking of parent devices for dependent devices like ip-tunnels, MACVLAN,
VETH, VLAN, and VXLAN.
* Many bug fixes and improvements
============================================
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
* Added ability to create a configuration checkpoints and rolling back
changes after a timeout.
* NetworkManager now follows symlinks when accessing resolv.conf and
rc-manager is set to 'file'
* Added support for oFono as modem manager
* The devices now exposes counters of transferred data
* 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
a device with 'nmcli device modify' and 'nmcli device reapply'
* 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
============================================
NetworkManager-1.2
Overview of changes since NetworkManager-1.0
============================================
This is a new stable release of NetworkManager. Notable changes include:
* 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.
* Wi-Fi scanning now utilizes wpa_supplicant's AP list.
* Added support for Wi-Fi powersave, configured with POWERSAVE key in ifcfg
files.
* Added support for creation of more types of software devices: tun & tap,
macvlan, vxlan and ip tunnels (ipip, gre, sit, ip6ip6 and ipip6).
* The software devices (bond, bridge, vlan, team, ...) can now be stacked
arbitrarily. The nmcli interface for creating master-slave relationships
has been significantly improved by the use of 'master' argument to
all link types.
* RFC7217 stable privacy addressing is now used by default to protect from
address-based host tracking. The IPv6 addressing mode is configured with
IPV6_ADDR_GEN_MODE key in ifcfg files.
* Improved route management code to avoid clashes between conflicting
routes in multiple connections.
* Refactored platform code resulting in more robust interface to platform,
less overhead and reduced memory footprint.
* Improved interoperability with other network management tools. The
externally created software devices are not managed until they're
activated.
* The Device instances now exist for all software connections and the platform
devices are now only created when the device is activated. This makes it
possible for connections with device of same name not to clash unless
they're activated concurrently. The links are now not unnecessarily present
unless the connection is active, avoiding pollution of the link namespace.
* NetworkManager now correctly manages connectivity in namespace-based
containers such as LXC and Docker.
* Support for configuring ethernet Wake-On-Lan has been added.
* Added LLDP listener functionality and related CLI client commands. Enabled via
LLDP option in ifcfg files.
* CLI secret agent has been extended with support for VPN secrets.
* The command line client now utilizes colors for its output.
* The command line client now sorts the devices and properties for better
clarity.
* Numerous improvements to Bash command completion for nmcli.
* NetworkManager relies on less external libraries. The use of dbus-glib
has been replaced with gio's native D-Bus support and libnl-route is no
longer used.
* Dependency on avahi-autoipd has been dropped. Native IPv4 link-local
addressing configuration based on systemd network library is now used
instead.
* Hostname is now managed via systemd-hostnamed on systemd-based systems.
* Management of resolv.conf can be changed at runtime, private resolv.conf
is always written in /run.
* NetworkManager can now write DNS options to resolv.conf.
* Added an option to enable the old-fashioned /etc/resolv.conf handling
(using a symlink)
* Updated version of systemd network library used for internal DHCP and
IPv4 link-local support.
* Support for event logging via audit subsystem has been added.
* Support for native logging via systemd-journald has been added taking
advantage of its structured logging.
* Live reconfiguration of IP configuration after changing the settings without
reactivation of the device with "nmcli device reapply" command and via
D-Bus API.
* The API for VPN plugins now supports multiple simultaneous connections.
Most popular VPN plugins have been updated to support this functionality.
* The libnm library now provides API to access VPN service definitions.
* New DHCP_FQDN key in ifcfg files to configure the full FQDN to be sent to
the DHCP servers.
* The timeout for DHCP requests can now be modified using the
'ipv4.dhcp-timeout' property.
* Added multicast_snooping option to BRIDGING_OPTS ifcfg key.
* Added support for detecting duplicate IPv4 addresses, with a timeout
configurable through the ipv4.dad-timeout connection property.
* Fixed a race condition that could potentially lead to unauthorized access
to connection secrets (CVE-2016-0764).
* dnsmasq configuration for shared connections can now be extended by
placing custom files in /etc/NetworkManager/dnsmasq-shared.d/.
* Generic devices are no longer assumed unless explicitly requested by
user.
* The reorder-header VLAN flag setting is now honored; to keep backwards
compatibility in behavior, an existing REORDER_HDR=0 ifcfg-rh key is
ignored; the flag must be disabled with VLAN_FLAGS=NO_REORDER_HDR.
* NetworkManager now checks the connection data from client for validity
and gracefully handles unknown properties in client. This improves
interoperability between the server and clients of different versions.
* The activation of a VLAN device with a virtual parent that is inactive
now results in a parent being activated first.
* The server name used with 802.1x authentication can now be constrained
to a particular domain suffix (CVE-2006-7246).
* Fair amount of bugs was fixed and robustness was generally improved.
The following features were backported to 1.0.x releases from 1.0.0 to 1.0.10
are also present in NetworkManager-1.2:
* Added support for handling VPN secrets to nmtui and nmcli agent.
* The team devices can now properly be enslaved to bridges.
* Failed DHCP attempts for assumed connections are now retried after
a timeout.
* Default wired connection is now created after udev registers the device.
* Support for Bluetooth DUN devices with Bluez 5 has been fixed.
* The 'ipv6.ignore-auto-dns' property is now properly honored making it
possible to override automatically obtained name servers.
* Invalid permanent MAC addresses as reported by some devices are now
ignored.
* Device links reported by more recent versions of Linux kernel that reside
in different network namespaces are no longer confused with links in
the namespace NetworkManager runs in.
* MAC address changes of bond or team devices are now properly propagated
to VLANs created on the device.
* Fixed error handling for teaming devices with invalid configuration.
* Wi-Fi AP list is now updated correctly after AP mode has been used.
* The error handling for VPN secret agents is now significantly more robust.
* Detection of s390 CTC devices now works properly.
* A GATEWAY key in in /etc/sysconfig/network now no longer affects
non-static connections.
* Added support for IPv6-only VPN connections.
* The systemd service now uses HUP signal to reload configuration.
* Change VLAN default flags to set REORDER_HDR for new connections.
* nmtui is now able to ignore automatically configured routes.
* Allow setting IPv6 and PPP settings for GDM and CDMA connections via
nmcli.
* Added support for adding ADSL connections in nmcli.
* Improved capture portal detection.
* Default route through Wi-Fi connection is now preferred to Mobile
Broadband if both are available.
* Expose a flag to determine whether a particular connection is metered
via API and client tools. Configurable in ifcfg with CONNECTION_METERED
key.
* Add support for locking connections to a channel within a particular
band.
* Add support for configuring Wake-on-LAN capabilitites.
* Allow overriding the MTU for team device.
* The MTU setting from an IPv6 neighbor discovery Router Advertisements is
now ignored if applying it would result in invalid configuration.
* Some configuration options can now be changed without restarting the
daemon. Notably, this applies to 'dns', 'connectivity' and
'ignore-carrier' settings.
* The connection activation was made more robust. If an active connection
is reactivated, the device it is active on takes precedence. If an attempt
is made to activate a connection on a different device than the one it is
active on, the activation proceeds removing the connection from the active
device.
* The device specifiers in configuration files now support negation via
'except:' match.
* Devices that only have IPv6 link-local address are no longer assumed to
be connected.
* nmcli now provides hints and tab-completion for enumeration properties.
* If the IPv6 interface tokens are set they are honored when creating an
interface identifier for IPv6 addressing.
* NetworkManager now maintains correct routing configuration when multiple
interfaces are connected to the same network.
* The management of devices can now be controlled with udev rules. The veth
devices as well as the virtual Ethernet devices of various
virtualization tools (VMWare, VirtualBox, Parallels Workstation) are
now ignored by default.
* The IPv6 privacy extensions are now enabled by default and handling of
the ip6-privacy sysctl has been improved.
* Activating a Bond, Bridge or Team device can now optionally activate the
slave connections as well. The behavior is controlled with
'connection.autoconnect-slaves' property and AUTOCONNECT-SLAVES key in
ifcfg files.
* The platform support code has been refactored, resulting in better
scalability in large configurations.
* Changes to network interfaces configuration done outside NetworkManager
are now picked up and exposed to the user via NetworkManager API and tools.
* A connection can now optionally leave externally configured default route
in place instead of overriding it. The behavior is controlled with
'ipv4.never-default' and 'ipv6.never-default' properties.
* nmcli allows multiple devices for 'nmcli device disconnect/delete'.
* Firewall zone is added to firewalld for device-based VPN connections too.