forked from nmstate/nmstate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
1190 lines (990 loc) · 44.3 KB
/
CHANGELOG
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
# Changelog
## [2.2.39] - 2024-11-20
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- route: correctly compare the route's table and metric. (2ce6cb15)
- route: correctly compare the route's next-hop. (b4f1aa61)
## [2.2.38] - 2024-10-24
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- nm ovs: Enable connection.autoconnect-ports for OVS port. (4c996abd)
- gc: Fix trunk vlans for ovs port in gen_conf. (614c66dc)
- nm: Preserve current IP setting for multiconnect profile. (23247afb)
## [2.2.37] - 2024-09-30
### Breaking changes
- N/A
### New features
- IPVLAN interface support. (50c267c9)
### Bug fixes
- mac identifier: Fix error when attaching mac-based iface to bond. (0ebf1078)
- packaging: Generate vendor tarbal for Rust 1.66 also. (2ef57297)
- async: Use tokio::time::sleep in stead of std::thread::sleep. (b6e7adec)
- policy: Sort the capture base on dependent relationship. (71ea2399)
- nm: Handle `ipv6.method: ignore`. (3456e97b)
- nm: Fix profile name changing. (a44f555a)
- nm route rule: Only search desired interface for storing route rule. (36af0f85)
- policy: Fix capture full state with simple line. (58389eee)
- policy: Fix error when capture is mentioned in the right. (245fcb16)
## [2.2.36] - 2024-09-19
### Breaking changes
- N/A
### New features
- ipsec: support require-id-on-certificate. (90a56cc0)
- route: Add support for route source. (d4487de1)
- gen_conf: Support special route type. (2207c40b)
### Bug fixes
- mptcp: Treat none as empty MPTCP flags in current state when verifying. (755333cb)
- nm dns: Re-evaluate DNS settings if desired even not changed. (9fe7836c)
- vrf: Skip serializing if port is undefined. (fa013cc3)
## [2.2.35] - 2024-08-20
### Breaking changes
- Rust API: `VrfConfig.table_id` changed `u32` to `Option<u32>`.(2900bf5e)
- Rust API: Use Box to wrap Interface enum entries. (5d5319ca)
### New features
- Add 802.1x PEAP auth. (f43657da)
### Bug fixes
- nm: Fix incorrect device-reapply call. (b1255c3d, 19e60c17)
- nm: Change unknown device state log to debug. (20d72e7e)
- nm: send lldp with correct D-Bus type INT32. (35557b0d)
- gen_diff: Include context information for `gen_diff()`. (c34563d9)
- gen_diff: Use original desired interface when creating new interface. (ee8c8a26)
## [2.2.34] - 2024-08-01
### Breaking changes
- Set Minimum Supported Rust Version to 1.66. (ef4a5e58)
### New features
- N/A
### Bug fixes
- ovs bond: Deny unknown fields in ovs bond section. (d8453ea0)
- vlan: make 'base-iface' optional for the desired state. (bd3cbc82)
- nm: Increase reapply failure log to info level. (2600188b)
- mac identifier: Prefer permanent MAC address. (bf4ff6c9)
## [2.2.33] - 2024-06-13
### Breaking changes
- N/A
### New features
- Provide permanent-mac-address when querying. (9d0f8c01)
- Add support of SRIOV drivers-autoprobe (05d6b996)
- Support DNS modification in kernel mode. (ddb04e8d)
- Support modification of static route in kernel mode. (4088e470)
- Add description to top level YAML/JSON API. (bb9981c7)
### Bug fixes
- Fix error when purging DNS with empty server. (0a86028b)
- Validate interface in desired port list of controller. (18677227)
- Fix incorrect check on whether `vlan-default-pvid` changed. (018b91a9)
## [2.2.32] - 2024-05-30
### Breaking changes
- N/A
### New features
- C/Python binding: tidy up the input network state. (e5ecc3ce)
- C/Python binding: Add support of `NetworkState::gen_diff()`. (9b7d882c)
- rust: Provide async API. (486fab1c)
### Bug fixes
- cli: Replace `ctrlc` crate with `tokio/signal`. (c67fc1d8)
- vlan: Default `reorder-headers: true`. (a907b00e)
- ip: Fix routes on empty address. (56d0749e)
- ovs: Warn user when cannot connect OVS daemon but desired. (ca33ca51)
## [2.2.31] - 2024-05-09
### Breaking changes
- N/A
### New features
- IPSec: Add support to `leftsubnet` property. (d03a52f5)
### Bug fixes
- N/A
## [2.2.30] - 2024-05-03
### Breaking changes
- N/A
### New features
- Add support to IPSec libreswan rightcert property. (19755bc)
### Bug fixes
- Fix bridge port vlan refreshing if `vlan-default-pvid` changed. (4cdc816)
- Do not allow bond port queue ID to overlap. (286d61c)
- Fix referring to controller/parent when it is in-memory. (98f9155)
## [2.2.29] - 2024-04-24
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- Fix compilation on Rust 1.66. (f47eb86)
## [2.2.28] - 2024-04-22
### Breaking changes
- N/A
### New features
- New nmstatectl alias for show and apply, "s" and "a". (7c6d155)
### Bug fixes
- Hide secrets in Debug trait of NetworkState. (649d443)
- Always show vet interface with veth type. (115bcc5)
- Normalize route table of current route when determining route removed. (96a5c77)
## [2.2.27] - 2024-03-20
### Breaking changes
- N/A
### New features
- Support TCP congestion window(cwnd) in route. (59f99632)
- Support query interface driver. (67817c23)
- New API to generate changed state. (fe5327a2)
### Bug fixes
- Include driver information for `persist-nic-names` subcommand. (1129e46b)
- nm: Protect global DNS config in checkpoint. (881373ba)
- route rule: Append rule instead of overriding when iface defined. (88d3d3ef)
## [2.2.26] - 2024-03-13
### Breaking changes
- Deprecate PrettyState class in Python API. (6b410dcf)
### New features
- Allowing input multiple desire states for statistics. (9b808821)
### Bug fixes
- packaging: Fix rpm build on Fedora. (c40f3ff0)
- route: warn if the route is missing due to NM delay. (71dedc65)
- Raise invalid argument error when desired OVS bridge with MAC. (a71eed31)
- Auto managed ignored OVS port. (c7fd32e8)
- Fix resolving token in array items for nmpolicy. (58a2fd6d)
## [2.2.25] - 2024-02-22
### Breaking changes
- Removed the support of deprecated `slaves` in linux bridge, ovs bridge and
bond. Please use `ports` instead. (2657650c, 51bdb012)
### New features
- Support MacSec hardware offload. (1198339e)
### Bug fixes
- ipsec: Treat DHCPv4 off with no static address as IPv4 disabled. (4d0f0829)
- controller: Fix incorrect ports name matching when validating ports. (6dc9e880)
## [2.2.24] - 2024-02-08
### Breaking changes
- Rust API: base_iface: Remove `prop_list`. (42936b17)
- Rust API: ip: Remove the `prop_list` property. (bae6adb3)
- Rust API: net_state: Remove `prop_list`. (85dbacc4)
- Increase minimum supported NetworkManager version to 1.40. (511e83b4)
### New features
- Add support of deprecated `slaves` property in ovs bond. (9565b963)
- Support assigning static routes to interface without addresses. (fc4c72e6)
### Bug fixes
- cli service: Allow user to opt-in on not deleting applied file. (733deba3)
- ncl: Fix description of rollback command. (6698891e)
- manpage: Fix incorrect document on `nmstatectl service`. (a6b0ab1d)
- nm ipsec: Fix bug on modifying exist ipsec connection. (d64baf98)
- route: Allow route destination `0.0.0.0/8` for non-unicast route. (25a73384)
- Makefile: fix python install path for Python >= 3.12. (dd0c5aec)
## [2.2.23] - 2024-01-17
### Breaking changes
- N/A
### New features
- ipsec: Support `type`, `hostaddrfamily` and `clientaddrfamily` options. (d7d62db5)
- ipsec: Add support of P2P IPSec tunnel. (74681912)
### Bug fixes
- clib: Use build.rs to fix SONAME. (a199caf9)
- rpm: Fix SONAME in RHEL 9 build. (57b1880b)
- ip: Do not skip serializing allow-extra-address: false. (1f532a90)
- ovs: Do not skip serializing `allow-extra-patch-ports`. (4023bd25)
- base_iface: Do not skip serializing `copy-mac-from`. (f4139ad2)
- ovn: Do not skip serializing state: absent. (8a63a7c0)
## [2.2.22] - 2024-01-05
### Breaking changes
- N/A
### New features
- Add support to HSR/PRP interface. (b23da648)
- Add sriov vlan protocol support. (d2248623, b4981756)
### Bug fixes
- package: Ignore minimum rust version. (108e0451)
- service: Mark .applied with checksum. (dbb98e1d)
- Cargo: Use optional dependency instead of internal feature. (9e4a36f5)
- lldp: Simplify rust structs and serde. (ac1eb9d4)
- ipsec: Fix error when `ipsec-interface` set to yes or a number. (9203d781)
## [2.2.21] - 2023-12-14
### Breaking changes
- N/A
### New features
- Support VLAN flags. (5780fccc)
- Support `ipsec-interface`, `authby` and DPD options. (c81fa8a0)
### Bug fixes
- Fix error on NetworkManager does not support bond-port. (e1ee8ea0)
- CLI: Do not exit with error if stamp or systemd folder not found. (1e76eeb3)
- Use new nispor 1.2.15 which fixes error on new kernel. (efe4c20d)
- ipsec: Fix VerificationError on `leftrsasigkey: '%cert'`. (1420fb0e)
## [2.2.20] - 2023-11-30
### Breaking changes
- Changed query output `valid-left` to `valid-life-time`. (c2809592)
### New features
- Add support for the `route-type`. (f8c57a88)
- Support generate statistic data. (54f4d6dd)
### Bug fixes
- Fix `ipv4.dhcp-timeout` even when ip not desired. (6b6caeec)
- Drop the filtering for the nispor loopback routes. (af88bb24)
## [2.2.19] - 2023-11-15
### Breaking changes
- N/A
### New features
- Support IpSec tunnel. (4a88d33d, 626714e3)
### Bug fixes
- brdige/bond: Add support of `slaves` back as deprecated. (631ff655)
- dns: Fix purging DNS config. (ab07783b)
- dns: Fix DNS option `ndots`, `timeout` and `attempts`. (75e2f042)
- ip: Do not convert auto IP to static IP. (a3ae6e3a)
- clib: Fix SONAME for all linux build target. (0f8026e8)
- go: Configure GOPROXY and GOSUMDB. (661ffd89)
## [2.2.18] - 2023-11-02
### Breaking changes
- ovs: Align STP property of OVS bridge and Linux bridge. (2934b894)
### New features
- nmpolicy: Allowing remove a property or section. (7b99493a)
- Support appending static DNS before dynamic DNS. (56ecba6f)
### Bug fixes
- SRIOV: Fix VerificationError on switchdev mode SRIOV. (3fcf1386)
- nm: Fix `gc` mode for route rule action. (2ee3aaf9)
- nm: Suppress unused_imports warning for nm_dbus. (0a01c28a)
## [2.2.17] - 2023-10-19
### Breaking changes
- macsec: rename parent property to base-iface. (ccc6882b)
### New features
- Support invoking dispatch script. (1bd1151d)
- Support generate new network state to revert. (ab18b302)
- Support for bond ports config. (4538b0a1)
### Bug fixes
- ovn: Tidy up the ovs/ovn code. (c2d31e6a)
- ip: validate prefix_length. (107382a9)
- ip: don't check "ipv4 in ipv6" in sanitize without error checking.
(a579e041)
## [2.2.16] - 2023-09-21
### Breaking changes
- N/A
### New features
- Support to MACsec interface. (14d307f2)
- Support DNS options. (b77a1883)
### Bug fixes
- Deny unknown field for global and iface ovsdb. (6baaa5ae)
- Fix nmstatectl `persist-nic-names` on bond port. (2a2e36c1)
## [2.2.15] - 2023-08-23
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- OVN: mappings changes do not clear ext ids keys. (f0e5a8e6)
- Fix DNS changes with OVS geneve interface holding IP. (dffaa0b0)
## [2.2.14] - 2023-07-26
### Breaking changes
- Changed `EthtoolFeatureConfig` from type alias of HashMap into
`struct` (37a100f5). No YAML/JSON API changes for this.
### New features
- Support route rule option suppress-prefix-length. (b42197ae)
- New OVS `allow-extra-patch-ports` option. (769fe911)
### Bug fixes
- Fix ECMP route in `gen_conf` mode. (fe6002aa)
- Preserve gateway when not desired. (2b766619)
## [2.2.13] - 2023-07-12
### Breaking changes
- N/A
### New features
- Support OVN mapping. (72b54fd9, 2efba01b, 6a87b702, 1a57b595, af2ffc39)
- Support bond `arp_missed_max` option. (aeae2f7d, bbe63918)
### Bug fixes
- Fix SR-IOV retry. (407f68fc)
- Remove dependency on ipnet crate. (28e7d052)
- Handle unknown interface type for SRIOV. (8764f450)
- Perform pre-apply check before creating checkpoint. (c4b25a77)
- Fix regression on waiting SRIOV. (bbd091cc)
## [2.2.12] - 2023-06-01
### Breaking changes
- Rust API: BridgePortTunkTag renamed as BridgePortTrunkTag. (148ecd1)
### New features
- Support `vlan-default-pvid` in bridge options. (e73b147)
### Bug fixes
- Fix rollback blocked due to waiting for DHCP. (861110b)
- Fix creating a VLAN or bridge above an interface with multiple NM profiles. (a463a28)
## [2.2.11] - 2023-05-16
### Breaking changes
- N/A
### New features
- Support OVS DPDK `netdev` datapath. (ac8a4dee)
### Bug fixes
- Skip connection activation if its controller will do. (7f93c374)
- Fix error when DHCP with auto IP address on STP enabled bridge. (8ea675b6)
- Fix error when running test locally. (21d63ed6)
- Do nothing for `persist-nic-names` when got `net.ifnames=0`. (c9fd1e80)
- Include cargo vendor files for s390 linux. (dc6a2149)
## [2.2.10] - 2023-04-20
### Breaking changes
- N/A
### New features
- Added CLI hiden `persist-nic-names` subcommand for OpenShift. (6f95011e,
03c7b03b, 5f4ede55)
- Support static IP address on with auto ip stack. (334fcf2e)
- Support static DNS search with auto DNS nameserver. (b222d5b1)
- Support matching interface with MAC address. (508bbe74)
- Support DHCP hostname/FQDN option. (ebe3fc86)
### Bug fixes
- Ignore `dhcp-client-id` when DHCPv4 disabled. (16b42e0e)
- Validate IP address type matching with ip stack type. (5f1107fd)
## [2.2.9] - 2023-03-23
### Breaking changes
- N/A
### New features
- cli: New subcommand `format`. (4f8c1af5)
- Including `controller` property on query. (85b682e9)
### Bug fixes
- Do not use current interface which is unmanaged/external managed. (221521e2)
- Fix problem when consuming down interface in bridge/bond/etc. (1728ae21)
- cli: Ignore failure when reading /etc/nmstate folder. (2c03f3c1)
- nmstate.service: remain after exit. (beb2fee9)
- nmstate.service: Fix the dependency chain in systemd. (8bef2741, 9971c1ca)
- Fix problem when changing veth peer. (a6a32a3f)
## [2.2.8] - 2023-03-10
### Breaking changes
- N/A
### New features
- Add VXLAN properties for EVPN use. (5a0ca407)
- Support policy file in service mode. (2dc296e2)
- clib: Introduce YAML support. (c40cbcb8)
### Bug fixes
- Retry when NetworkManager starting up. (393828a6)
- Fix `n-rxq-desc` and `n-txq-desc` properties. (b234f9dd)
- Fix random failure when changing VLAN protocol. (b12effd5)
- Fix fetching loopback information from NM plugin. (d3864c19)
- Fix `make install` on Debian and Ubuntu. (4647cd11)
- Adjust `is_match` to consider family and priority 0. (811db479)
## [2.2.7] - 2023-02-16
### Breaking changes
- N/A
### New features
- Support static route with auto ip. (4fa5689a)
- Support VLAN 802.1ad and 802.1q protocol. (9923657a)
- Support enabling SR-IOV and use future VF in single desire state. (20871bac)
### Bug fixes
- Fix error when reverting SR-IOV VFs conf to default. (3bbb3c21)
- Fix SR-IOV enabling and use in single desire state. (8f680180)
- Use loopback interface as final fallback interface to store route rule. (fb7ace9d)
## [2.2.6] - 2023-02-09
### Breaking changes
- N/A
### New features
- Support Tokenised IPv6 identifiers. (91f8e45c)
- Support local(255) route table. (a2051822)
- Support enabling SR-IOV and use future VF in single desire state. (20871bac)
### Bug fixes
- Fix error when removing a port with IP enabled. (23cf28d7)
- Fix error when bringing down an unmanaged interface. (50148b63)
- Treat empty string to match None in routes. (b52557b9)
## [2.2.5] - 2023-01-26
### New features
- Support ECMP IPv4 routes. (b1b275cd)
- Support OVS DPDK `n_rxq_desc` and `n_txq_desc` options. (936ac46a)
- Support arbitrary DNS configuration. (a9397549)
### Bug fixes
- Fix route destination address validation error. (012052c3)
- Fix route next-hop-interface missing validation. (40970942)
- Fix error when new DNS interface hold IPv6 link local address only. (4e21e359)
- Fix error when adding an OVS internal interface to an empty OVS bridge. (d6cd548f)
## [2.2.4] - 2023-01-18
### Breaking changes
- Support interface level `other_config`. (8ec213b8)
The rust API changed: `OvsBridgeBondConfig.other_config: Option<HashMap>`
changed to `OvsBridgeBondConfig.ovs_db: Option<OvsDbIfaceConfig>`.
The YAML API changed: The `other_config` under OVS bond should be stored under
`ovs-db` section.
### Bug fixes
- Fix support DNS uncompressed IPv6 server. (8fbb93a5)
- Fix validation error on route rule when `ip-to` and `ip-from` is empty string. (c2e69269)
- Fix `group-fwd-mask` conflict with `group-forward-mask` Linux bridge option. (e079f1d)
- Fix partial detaching ports in OVS bond interfaces. (e2b3ea72)
- Fix verification error when OVS daemon is off. (ae3f45a7)
- Fix MPTCP error in older NetworkManager. (f38da12c)
## [2.2.3] - 2023-01-09
### Breaking changes
- Minimum supported rust version changed from 1.60 to 1.58. (d2f669ed)
### New features
- Support OVS VLAN filtering in trunk mode. (dce50734)
- Support parital modification of SR-IOV VF config. (92827cbb)
- Querying OVS database instead of NM daemon. (625fdb7a)
### Bug fixes
- Fix regression on VRF interface. (3c88135d)
- Improve NM retry. (2a506379)
- Improve NM checkpoint refresh. (94c7341a)
- Fix LLDP error on `neighbors` property. (0a6fac0e)
- Improve state merging. (19133302)
- Fix error when moving dns from port to controller. (f619d8b4)
- Empty IPv4 address should be considered as disabled. (23535503)
- Auto manage ignored port in desired controller. (399c46b2)
- Fix error when searching default route table ID for route rule. (053db219)
- Raise proper error when desired IPv6 enabled with MTU < 1280. (76379ae9)
## [2.2.2] - 2022-12-13
### Breaking changes
- N/A
### New features
- Support `iif` and `action` in IP route rule. (81c661c2)
- Support loopback interface. (82a78a33)
- Support of `controller` property for attaching and detaching ports.
(100cf325)
- Support IPv6 link local address as DNS nameserver. (e1cae112)
### Bug fixes
- Fix error when desired no DNS changes. (c7d22d9f)
- Fix serialization of linux bridge VLAN trunk tags. (7a5d7639)
- Fix error when moving OVS system interface to linux bridge. (891ab964)
- Fix OVS VLAN with access mode with tag 0. (9f92170c)
- Fix DNS probelm when running on NetworkManager 1.41+. (fd697fce)
- Mark unsupported interface as ignored. (44199b3f)
## [2.2.1] - 2022-10-17
### Breaking changes
- Minimum supported rust version 1.60. (e997a2bb)
### New features
- Support IP route rule fwmark and fwmask. (95f1c193)
- Support `dns-data` in NetworkManager 1.41+. (89d2fb0b)
- Support IP route rule `from all to all`. (c53dc568)
- Support bond `balance-slb` option. (16dadebe)
- Support custom metric for DHCPv4 and IPv6-RA routes. (288014f1)
- Introduce nmpolicy. (badcee4c)
### Bug fixes
- Fix deleting interface created by iproute. (dcea700a)
- Fix infiniband parent UUID problem. (883f36fb)
## [2.2.0] - 2022-10-17
### Breaking changes
- Change of old behaviour: allow extra IP address found in verification stage.
(a4c76a69)
### New features
- Support querying `min_mtu` and `max_mtu` of ethernet. (ae26ec3d)
- Support MPTCP. (d3c67303)
- Conditional compiling by cargo feature. (592d24d0)
- Support referring interface using SR-IOV PF name and VF ID. (13cec241)
- Support reverting SR-IOV VF settings. (d46ecb63)
- Filter BGP route at kernel side. (1e1dfea7)
- Treating state:down as autoconnect false. (b8532490)
### Bug fixes
- Allow partial consuming port interface from ignore to up. (f5eb8e90)
- Mark linux bridge port as changed if desire `vlan: {}`. (28f7e918)
- Fix the handle of external managed interface. (5d23fa7b)
- Support partial editing on ovs-db global config. (b35b76ea)
- Better output by unescaping the `\n` for nmstatectl `gc` mode. (e92e0dce)
- Fix issue when OVS bridge port not mentioned. (9b85dd8e)
- Fix moving bridge port to bond. (d2c40c3a)
- Fix genconf mode for OVS `external_ids`. (8e723a15)
- Fix DNS store in `genconf` mode. (da3d2301)
- Show veth interface as `type: veth`. (e94a54fa)
- Merge table ID from current. (b6763fa2)
- Support `nmstatectl set -` for STDIN input. (586d404b)
- Do not verify absent real NIC. (afd380e1)
- Fix the bond `ad_select` option. (cd2c262e)
- Fix dbus value type of coalesce-adaptive RX/TX. (babbd2f7)
- Replace non-breaking space with normal space in nmstatectl. (f0c37d43)
- Deny unknown field in NetworkState deserlialization. (6bd90540)
- Support to route rules in gen_conf mode. (82307e69)
- Resolve the unknown interface to ethernet in gen_conf mode. (940e3eeb)
- Fix the support of description in gen_conf mode. (7b940909)
## [2.1.4] - 2022-08-10
### Breaking changes
- N/A
### New features
- Add suppoprt to `ports` keyword for bond, bridge and VRF. (919b1166)
### Bug fixes
- Fix compile warning on Rust 1.61. (d9fe1aea)
- Fix SONAME of c binding to `libnmstate.so.2`. (7fb28f46)
- Fix bond integer option. (3a1453c1)
- Ignored interface is still ignored even mentioned in port list.
(1299223f, 275d9a57)
## [2.1.3] - 2022-07-27
### Breaking changes
- N/A
### New features
- Add suppoprt to `wait_ip` property. (ed7ab24)
- Support integer bond mode. (5746b04)
### Bug fixes
- Fix route entry error due to metric difference. (b55757d)
- Update NM connection for state `down`. (e342e47)
- Preserve current IP configuration from unmanaged interfaces. (c4d97f0)
- Fix gc showing configuration files for `down` interfaces. (81d8099)
- Fix several problem with the IP configuration. (8915d19)
- Include routes and route rules when showing an interface with cli. (da2aea5)
- Hide `addr-gen-mode` if IPv6 is disabled. (48d42aa)
- Fix VRF verification failure due to port order. (37b6489)
## [2.1.2] - 2022-06-30
### Breaking changes
- N/A
### New features
- Add support to VLAN protocol for linux bridges. (182e5f5)
- Add nmstate.service support. (5fa085a)
### Bug fixes
- Fix OVS interfaces with the same name when using gen_conf. (156c11a)
- Fix bond fail_over_mac "follow" mode. (628aa72)
- Fix OVS interfaces activation race conditions. (fc1da22)
- Fix applying different running and config hostname. (5289661)
## [2.1.1] - 2022-06-07
### Breaking changes
- N/A
### New features
- Add support of static hostname modification. (5accbd1f)
- Add support of logging in C and Python binding. (b1944e78)
- Add support of client ID in DHCPv4. (cda236c5)
- Add support of DUID in DHCPv6. (c75ccee3)
- Add support to rx-queue in OVS-DPDK. (437e4a98)
- Add generate configuration support to golang binding. (dc2f69d8)
### Bug fixes
- Fix error when both autoneg true and rx/tx defined. (e3921405)
- Generate stable UUID for keyfile of NetworkManager. (fc6d45db)
- Fix error when deleting route rule on absent interface. (de16ec39)
- Fix error when deleting route on absent interface. (b034a5d1)
- Show IP as disable instead of hide for port. (2c1402b1)
- Fix racing probelm on connection deactivation and deletion. (e421421d)
- Wait on device deactivating on rollback. (b42dc8c5)
- Fix absent action of OVS bridge with the same name. (68a8c775)
- Normalize MAC address before verification. (9b30b28e)
## [2.1.0] - 2022-04-21
### Breaking changes
- Switched to all rust based. We tried our best to avoid breakage of
backwards compatibility. (e7da681f)
### New features
- N/A
### Bug fixes
- N/A
## [2.0.0] - 2022-02-14
### Breaking changes
- Drop team support. (601ca60)
- Drop jsonschema support. (2599d3a)
- Drop varlink support. (ce1a4b8)
- Drop `slave` support. (ebc8082)
## [1.2.1] - 2021-02-10
### New features
- Add support to multipath routes. (0eb2c33)
- Add support to ovsdb query and changes in nmstate-rust implementation. (8172369)
- Add support to veth interfaces in nmstate-rust implementation. (39c605e)
- Add support to VXLAN and VRF in nmstate-rust implementation. (f963eae, 544ba15)
- Introduce commit and rollback in nmstatectl-rust. (ed6eeb1)
- Allow changing DNS search and server only. (932e3a9)
- Add support to OVS-DPDK. (8f8743d, 7ff801a)
- Add support of SR-IOV VLAN and QOS. (36dd02a)
### Bug fixes
- Report boot protocol routes in the route state. (b881999)
## [1.2.0] - 2021-12-15
### New features
- Introduce experimental support for a rust rewrite. This includes support for
linux-bridge, ovs, vlan, ethernet, dummy and veth interfaces.
- Add support of copy-mac-from to OVS bridges. (238f48f)
### Bug fixes
- Fix verification error when modifying SR-IOV VFs number. (3693aa6)
- Fix error message when no suitable interface can be found for name servers. (de01481)
- Fix verification error due to NM.connection.uuid ovsdb entry. (5954f91)
- Fix error when setting IPv6 canonical addresses for DNS nameservers. (a0906ee)
- Fix verification error on IPv4/IPv6 route empty next-hop-address. (33e7272)
- Preserve existing ethtool configuration when not specified in desired state. (b1cb57d)
## [1.1.0] - 2021-07-15
### New features
- Support `accept-all-mac-addresses` property. (2df9c6a)
- Support ethtool pause, feature, ring and coalesce options. (4e118b1, 258a280, 1ea97bf, b65ab5a)
- Introduce `include_secrets` on libnmstate and `--show-secrets` in nmstatectl. (a310862)
- Introduce `nmstate-autoconf` cli tool. (a463a3c)
### Bug fixes
- Fix error when configuring DNS without desired interfaces. (08d3874)
- Fix wrong warning about mismatching MAC address in bond options. (3463c8e)
- Fix failure when modifying VLAN/VXLAN ID. (a673459)
- Fix failure when removing route from different table than default. (73f5230)
- Fix bond `tlb_dynamic_lb` option. (8915f5c)
- Fix bond preserving `all_slaves_active` option. (94c036b)
- Fix bond validation error when `fail_over_mac` is enabled. (404294a)
- Use permanent MAC address for `Interface.COPY_MAC_FROM`. (e873491)
- Fix error when creating SR-IOV VFs with the `bnxt_en` driver. (ea9c6d2)
- Fix modifying OVS interface using the same name as OVS bridge. (84b2e90)
- Fix adding a route rule for a OVS interface. (76db7c2)
## [1.0.2] - 2021-02-18
### New features
- Support multiconnect profiles. (2c60c834)
- Support bond vlan+srcmac tx hashing option. (ebf5777)
- Support routes created by iproute command. (f39f763)
- New property `Inetrface.COPY_FROM_MAC` on bridge and bond interfaces. (b089323)
- Support IEEE 802.1X authentication. (f9a1da3)
- Support `gc` command. (627af31)
### Bug fixes
- Fix removing OVS `external_ids` settings. (57e2547)
- Fix modification of OVS `external_ids` settings. (c99e708)
- Fix removing IPv6 default gateway. (fd21172)
- Improved the reliability on activating large amount of interfaces. (cbe5b57)
- Fix creating a veth interface with an ethernet peer. (e17e70e)
- Remove SR-IOV VF profiles when reducing `Ethernet.SRIOV.TOTAL_VFS` in the PF. (f5f636f)
### Breaking changes
- Deprecate the nmstatectl `set` argument in favor of `apply`. (be8af16)
## [1.0.1] - 2021-01-15
### New features
- Support changing external_ids of OVS system interfaces. (c76f32c)
- Support showing running config. (9ebb8d3)
- Support configuring veth interfaces. (c22e386)
- Support managing `Open_vSwitch` table. (e35c6f5)
### Bug fixes
- Sort OVS ports by their name. (11243cc)
- Fix varlink logger for unexpected strings. (f178d89)
- Raise NmstateValueError when desired interface is orphan. (453f0b0)
- Fix error of mixed case for Linux bridge group address. (f460b01)
- Fix validation error for interfaces marked as absent. (1e4e956)
- Wait until SR-IOV VFs are created on kernel. (cda14e6)
- Fix timeout on activation/deactivation 1000 interfaces. (93a7da9)
- Fix error on finding the kernel interface index for an interface. (5bdd078)
## [1.0.0] - 2020-12-07
### New features
- Manage state for route rules. (16c8fa9)
- Support MAC VTAP. (4ffffa0)
### Bug fixes
- Allow VRF port to hold IP information. (1455181)
- Fix removing IPv6 route rules. (b14532c)
- Use default mac address when an interface does not have one. (0738427)
- Do not fail when reporting OVS interfaces using libnm through dbus. (8168645)
- Do not remove unmanaged orphan interfaces. (3f88096)
### Breaking changes
- Deprecate the `ports` for team interfaces, please use `port` instead. (dbb712e)
- Nispor 1.0.0 or greater is now required. (6dec9a5)
## [0.4.1] - 2020-10-06
### New features
- Support MAC VLAN. (963a04d)
- Support IP over InfiniBand. (3ef8546)
- Support Virtual Routing and Forwarding. (29fda8c)
- Support of multiple gateways. (551df30)
- Support ignoring specific interface via `state:ignore`. (dc13851)
### Bug fixes
- Plugin with `NmstatePlugin.is_supplemental_only == True` will not
add new interface to `libnmstate.show()` results. (fe2a0f9)
- Allowing multiple dual stack DNS name servers. (0c3a64b)
- Fix crash when OVS interface is using the same name of OVS bridge. (de3de71)
- Change NetworkManager plugin as optional. (fc3b311)
- Keep child interface when bond mode change. (4a7c174)
- Don't reset bridge options for empty bridge options. (83fd948)
- Sort routes based on metric and next_hop_address also. (da12b9b)
- Do clean up even checkpoint rollback/destroy failed. (cda87df)
- The vlan and vxlan interface cannot have ip when subordinated. (ff3b731)
- Fix None con_profile race condition on SR-IOV interface. (7584d46)
- Fix profile deletion on virtual interface. (b2ac0f4)
- Fix timeout on profile deactivation. (0d8940d)
- Ignore invalid bond optoin ad_actor_system=00:00:00:00:00:00. (1423258)
### Breaking changes
- Make python3-varlink as hard requirement. (4637b60)
- Deprecate the `Bond.SLAVES`, please use `Bond.PORT` instead. (b9d01752e)
- Deprecate the `OVSBridge.Port.LinkAggregation.SLAVES_SUBTREE`, please use
`OVSBridge.Port.LinkAggregation.PORT_SUBTREE` instead. (b9d01752e)
- Deprecate the `OVSBridge.Port.LinkAggregation.Slave`, please use
`OVSBridge.Port.LinkAggregation.Port` instead. (b9d01752e)
- Do not raise `NmstateVerificationError` for bond option mismatch. (5b6f31f)
## [0.4.0] - 2020-08-28
### New features
- Providing varlink interface via nmstatectl.
- Support managing interfaces created by iproute tools.
- The nmstatectl show <interface_name> could filter route table learn from
DHCP/Autoconf.
- Support modifying the route table ID for DHCP/Autoconf.
### Bug fixes
- Could add route rule targeting route table learn from DHCP/Autoconf.
- Fix verification failure on unknown interface.
- Fix the logging of checkpoint creation.
- Sort the OVS internal interfaces and OVS bond interfaces.
- Improve performance by skipping reapply call on deactivated interface.
- Default to `InterfaceState.UP` if not defined.
### Breaking changes
- New dependency introduced `python3-nispor` for querying kernel runtime
network state.
## [0.3.5] - 2020-08-28
### Bug fixes
- Allowing remove all interfaces from OVS bridge.
- Fix converting memory-only profile to persistent.
- Fix adding OVS bond to existing OVS bridge.
- Remove inactive profile for desired interface.
- Do not report MTU if it is 0.
## [0.3.4] - 2020-07-24
### Bug fixes
- Fix removing the DNS config.
- Fix Linux Bridge integer option round up/down on 250HZ kernel.
- Fix removing child interface.
- Linux Bridge: Fix support replacing unmanaged ports.
- SR-IOV: Raise an exception if the driver does not support a parameter.
- Fix moving subordination from removed interface to new main interface.
- Fix the failure when switching bond mode from 4(802.3ad) to 5(balance-tlb).
### Breaking changes
- NetworkManager 1.26.0 or greater is now required.
## [0.3.3] - 2020-07-02
### Bug fixes
- VLAN: Raise an error when VLAN MTU is greater than the base interface MTU.
- Support IP network address with host bits(e.g. 192.0.2.251/24).
- Show the OVS bond name first in nmstatectl show.
- Fix random rollback timeout.
- Fix error due to activation of unknown interface.
- Fix the support of multiple state files when using nmstatectl.
- Fix remove DNS config.
- Improve the performance by eliminating the repeat check of ovs daemon status.
## [0.3.2] - 2020-06-15
### New features
- Support third party plugin written in Python.
- Support LLDP.
- New OVS DB plugin for modifying OVS interface `external_ids`.
- Expanded the support of linux bridge options.
- Support applying desire state which only valid till next reboot.
- Support OVS patch port (requires NeworkManager 1.22.16+ or 1.24.4+).
## [0.3.1] - 2020-06-08
### Bug fixes
- Wait until the rollback is completed.
- Fix base interfaces removal, VLAN/VXLAN interfaces will be removed automatically.
- Fix all ports removal of a controller interface.
- Interfaces state is not required when editting DNS/route/routerules.
- Fix routes lose when editting DNS.
- Interface is default to `state:up` when is not defined in desired state.
- Differentiate DOWN and ABSENT state. DOWN is not removing the profile anymore.
## [0.3.0] - 2020-05-07
### New features
- Linux Bridge: Support VLAN filtering.
- Add --version and version command in nmstatectl.
- Support 3+ single stack DNS nameservers: https://bugzilla.redhat.com/1816043
- Allow route rule filtering by interface when showing.
### Bug Fixes
- Bond: Fix switch between miimon and arp_interval: https://bugzilla.redhat.com/1806549
- Bond: Fix switch bond mode from 1 (active-backup) to 5 (balance-tlb).
- Bond: Allow miimon=100 when ethernet setting not included: https://bugzilla.redhat.com/1806549
- Bond: Allow missing arp_ip_target when ARP monitoring is disabled.
- SR-IOV: Properly return when the device not exists.
- SR-IOV: Fix verification due to MAC address upper or lower cases: https://bugzilla.redhat.com/1818750
- SR-IOV: Raise an exception when a SR-IOV parameter is not supported by driver: https://bugzilla.redhat.com/1819588
- Fix verification errors due to outdated values.
- Report DNS nameservers and domains only once: https://bugzilla.redhat.com/1806969
- OVS: Raise an exception if the necessary services are not running.
- Linux Bridge: Show unmanaged ports: https://bugzilla.redhat.com/1806452
- Team: Fix verification error due to unsorted ports.
- Raise an exception when IP configuration is enabled in ports.
- Raise warning if interfaces exceeds 1000 in a single desired state.
- Support route rule host without prefix length.
### Breaking Changes
- Enforce keyword args for APIs functions.
- Drop LinuxBridge_* constants support.
## [0.2.6] - 2020-02-24
### New Features
- Linux Bonding: Support numeric values for options.
### Bug Fixes
- Linux Bonding: Fix "fail_over_mac" support with active backup bond mode.
- Linux Bonding: Fix "arp_ip_target" bond option support.
- OVS Bridge VLAN: Use "unknown" value for unsupported modes.
- Fix partial editting for DNS configuration.
- Report only non-default bonding option values.
- Fix switching from static IP to DHCP/Autoconf.
### Known Issues with NetworkManager Version 1.22.8
- All changes to bridges might disrupt their connectivity.
- Cannot detach a system port from an OVS bridge.
- Sometimes, NetworkManager may throw a "Failed to find a compatible device for this connection" error.
- Cannot set bond option with updelay=0,miimon=0.
- Cannot set bond option with miimon=100,arp_interval=0.
## [0.2.5] - 2020-02-19
### Breaking changes
- Deprecate specifying keyword arguments as positional arguments in the public methods.
This will become a hard failure in Nmstate-0.3.0 and later and it affects the following functions:
- "libnmstate.apply()"
- "libnmstate.commit()"
- "libnmstate.rollback()"
- "libmstate.show()"
- NetworkManager 1.22.8 or later is now required.
### New Features
- Report missing NetworkManager plugin during validation.
- Support OVS Link Aggregation (Bonding).
### Bug Fixes
- Fix "AtributeError" when editing an existing OVS interface.
- Do not remove ports implicitly when removing the controller interface.
- Fix team interface port support.
- Prevent virtual interface removal after DHCP or IPV6-RA timeout.
- Get Linux Bonding options from kernel instead of reading the NetworkManager configuration.
### Known issues when using NetworkManager 1.22.8
- All changes to bridges might disrupt their connectivity.
- Cannot set Linux Bond option to "fail_over_mac=1".
- Cannot detach a system port from an OVS bridge.
- Sometimes, NetworkManager may throw a "Failed to find a compatible device for this connection" error.
## [0.2.4] - 2020-02-12
### Bug Fixes
- Reduce minimal required MAC address length to 4 octets
- Warn early when the same interface name is mentioned multiple times
### New Features
- Raise NmstateTimeoutError on mainloop timeout
## [0.2.3] - 2020-02-05
### Bug Fixes
- Reduce the delay before the verification step to 0.5 second.
- Fix dynamic IP configuration with no server response.
- Fix OVS port name limit.
## [0.2.2] - 2020-02-04
### Breaking changes
- NetworkManager 1.22 is required now.
### New Features
- Team interface support.
### Bug Fixes
- Fix file descriptor leak.
- Get SR-IOV VFs configuration from kernel instead of reading the NetworkManager configuration.
- Fix DHCPv4 with static IPv6.
- Wait a short time before verification to allow the network state to stabilize.
- Properly delete ovs-port profiles.
- Use dhcp-iaid='mac' on dynamic IPv6 configuration.
## [0.2.1] - 2020-01-13
### Breaking Changes
- Deprecations in `libnmstate.schema`:
- 'LinuxBridge.GROUP_FORWARD_MASK' -> 'LinuxBridge.Options.GROUP_FORWARD_MASK'
- 'LinuxBridge.MAC_AGEING_TIME' -> 'LinuxBridge.Options.MAC_AGEING_TIME'
- 'LinuxBridge.MULTICAST_SNOOPING' -> 'LinuxBridge.Options.MULTICAST_SNOOPING'
### New Features
- Support SR-IOV VFs configuration.
- Introduce libnmstate.__version__.